提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
软件缺陷产生的原因?
① 需求不明确或变更频繁: 不清晰的需求或频繁的变更可能导致开发人员理解错误,从而引入缺陷。
② 设计问题: 不合理的系统设计或架构可能导致缺陷的产生。
③ 编码错误: 程序员在编写代码时可能会犯错误,如语法错误、逻辑错误等。
④ 复杂性: 复杂的软件系统更容易引入缺陷,因为难以预测所有可能的交互和边界情况。
⑤ 时间压力: 开发人员受到紧迫的时间表压力,可能会导致快速编码和测试不足。
⑥ 沟通问题: 缺乏有效的沟通可能导致开发人员和测试人员之间的理解差异,使得一些缺陷未被及时发现。
⑦ 外部环境变化: 硬件、操作系统或第三方库的变化可能导致原有的软件无法正常运行。
软件测试的经济学和心理学原理:
① 经济学原理:
② 心理学原理:
软件测试的基本原则:
完备性: 测试应该尽可能地覆盖所有可能的输入、路径和边界条件,以确保软件的全面测试。
独立性: 测试应该独立于开发,以确保测试人员能够独立地评估软件的质量。
早期测试: 测试应该在软件开发的早期阶段开始,以便尽早发现和修复缺陷。
尽早失败: 软件测试的目标之一是尽早地发现缺陷,使得缺陷能够在更早的阶段得以修复。
软件测试的生命周期:
计划阶段: 制定测试计划,确定测试范围、资源、时间表和测试目标。
设计阶段: 根据需求和设计文档,制定测试用例和测试数据。
执行阶段: 执行测试用例,记录测试结果,并提交缺陷报告。
评估阶段: 对测试结果进行评估,确定是否满足退出标准。
复审阶段: 对整个测试过程进行回顾,总结经验教训,为未来的项目提供改进建议。
业务逻辑分析模型:
业务逻辑分析模型是为了深入理解和描述系统中的业务流程、规则和逻辑关系而创建的模型。在软件开发中,它有助于捕捉和表达系统中各种业务规则和流程的关系,为后续的系统设计和实现提供基础。以下是一些常见的业务逻辑分析模型:
① 数据流图(DFD): 描述系统内部数据的流动和处理过程,帮助理解数据如何在系统中传递和处理。
② 流程图: 用于描述业务过程中各个步骤和决策的流程图,有助于理解业务逻辑的执行顺序。
③ 状态图: 描述系统中各个对象的状态及其状态之间的转换,有助于理解业务规则中状态的变化。
④ 决策表: 用于表示不同条件下可能的决策结果,有助于清晰地呈现业务规则。
⑤ 用例图: 用于描述系统与外部参与者之间的交互,有助于理解系统的功能和用户需求。
软件测试调研方法:
文献调研: 查阅相关学术论文、专业书籍和技术文档,了解最新的测试方法、工具和最佳实践。
案例研究: 分析已经成功实施测试的项目案例,从中学习成功的测试策略和经验。
行业标准: 研究并遵循行业内的测试标准和最佳实践,如ISTQB(国际软件测试资格委员会)制定的测试标准。
专业培训: 参与测试培训和研讨会,通过与业内专业人士的交流学习测试的最新动态。
社区参与: 参与测试社区,通过与同行交流,分享经验和获取实际项目中的测试问题解决方法。
测试需求分析的基础知识和工程学分析方法:
① 需求分析: 理解项目的功能需求、性能需求、安全需求等,明确系统的预期行为和性能指标。
② 用户故事和用例: 使用用户故事和用例描述系统的功能,以便更好地理解和捕捉测试需求。
③ 需求评审: 参与需求评审会议,确保对需求的理解一致,并及时发现潜在的问题。
④ 需求跟踪: 使用需求跟踪矩阵追踪需求和相应的测试用例,确保每个需求都有相应的测试覆盖。
⑤ 工程学分析方法: 使用工程学的分析方法,如系统工程学、风险分析、决策分析等,深入分析需求的复杂性、系统交互和潜在的风险。
白盒测试用例设计:
白盒测试关注内部结构和逻辑,主要目的是验证代码的执行路径、分支覆盖和逻辑正确性。以下是两种常用的白盒测试用例设计方法:
逻辑覆盖测试法:
①语句覆盖: 确保每个代码语句至少被执行一次。
???测试用例:设计测试输入,使得每个语句都能至少执行一次。
②分支覆盖: 确保每个分支语句都至少被执行一次,包括真值和假值。
???测试用例:设计测试输入,使得每个条件分支都能至少执行一次。
③条件覆盖: 确保每个条件语句的真假值都至少被测试一次。
???测试用例:设计测试输入,使得每个条件表达式的真和假都能至少执行一次。
④路径覆盖: 确保每个可能的执行路径都至少被执行一次。
???测试用例:设计测试输入,覆盖系统中的所有可能路径。
数据流测试法:
①定值测试: 选择输入值,使得它们满足等式、不等式等条件,以测试变量的取值范围。
???测试用例:设计测试输入,覆盖不同取值范围的输入。
②边界值测试: 测试输入数据在边界值上的表现,通常在边界值处发生错误的概率较高。
???测试用例:选择接近边界值的输入,测试系统在边界处的行为。
③路径测试: 通过控制流图和数据流图,设计测试用例覆盖不同的数据流路径。
???测试用例:设计测试输入,确保每个数据流路径都被覆盖。
黑盒测试用例设计:
黑盒测试关注系统的功能和接口,不关心内部结构和实现细节。以下是两种常用的黑盒测试用例设计方法:
单元测试、集成测试、系统测试与验收测试的定义和区别,如何设计各个阶段的测试用例。
单元测试:
定义: 单元测试是对软件中最小的可测试单元进行验证的过程。这个最小的单元通常是一个函数、方法或过程。
测试目标: 针对函数、方法等代码单元进行测试。
测试焦点: 验证代码单元的正确性,确保其按照设计规范和预期执行。
测试环境: 通常在开发环境中进行,以确保开发者的代码符合预期。
测试用例设计:
???正常情况测试: 针对函数的正常输入值设计测试用例。
???异常情况测试: 针对可能的异常输入或边界情况设计测试用例。
???边界值测试: 确保函数在边界输入值处能够正确处理。
集成测试:
定义: 集成测试是将已经通过单元测试的模块组合在一起,验证它们的交互是否正确。
测试目标: 针对已经通过单元测试的模块之间的交互进行测试。
测试焦点: 确保不同模块之间的接口能够正确通信和协作。
测试环境: 通常在开发或测试环境中进行,以确保模块之间的集成不会导致问题。
测试用例设计:
???逐步集成测试: 从少量模块开始,逐步增加模块进行测试。
???自顶向下测试: 从高层次模块逐步向底层模块进行测试。
???回归测试: 确保集成后修改代码不会破坏已有功能。
系统测试:
定义: 系统测试是对整个软件系统进行测试,以验证其是否满足规定的需求和功能。
测试目标: 针对整个系统进行测试,确保其满足用户需求和规格。
测试焦点: 系统功能、性能、安全性等方面的综合测试。
测试环境: 通常在测试环境中进行,模拟真实的使用场景。
测试用例设计:
???功能测试: 针对系统的各个功能进行测试,确保其符合用户需求。
???性能测试: 测试系统的性能指标,如响应时间、吞吐量等。
???安全性测试: 检测系统对潜在威胁和攻击的抵抗能力。
验收测试:
定义: 验收测试是由最终用户或客户执行的测试,以确保系统满足其预期需求。
测试目标: 确保系统满足用户或客户的实际需求。
测试焦点: 用户期望的系统功能和性能。
测试环境: 通常在生产环境中进行,以模拟真实的使用场景。
测试用例设计:
???验收标准: 根据用户需求和规格书定义的验收标准进行测试。
???用户场景测试: 模拟用户实际使用场景,确保系统能够胜任。
???完整性测试: 测试系统是否完整、可靠且符合用户期望。
功能测试方法:
功能测试是验证系统的各个功能是否按照需求规格书的规定正常工作的过程。以下是一些常用的功能测试方法:
① 黑盒测试: 关注系统的输入和输出,测试人员不需要了解系统内部的实现细节。
② 白盒测试: 关注系统的内部逻辑和代码结构,测试人员需要了解系统的实现细节。
③ 验收测试: 由最终用户或客户执行,确保系统满足实际需求和期望。
功能测试用例:
功能测试用例是一组测试用例,旨在验证系统的各个功能是否按照规格要求正常工作。以下是编写功能测试用例的一般步骤:
理解需求: 仔细阅读需求文档和规格书,确保对系统功能的需求有充分理解。
识别功能: 根据需求文档,确定要测试的各个功能点。
编写测试用例: 针对每个功能点编写测试用例,包括输入数据、预期输出、测试步骤等。
设计测试数据: 为每个测试用例准备合适的测试数据,包括正常情况、异常情况和边界情况。
执行测试用例: 按照测试计划执行功能测试用例,记录测试结果。
分析结果: 对测试结果进行分析,确认每个功能点是否符合预期
如何使用功能测试工具完成Web功能测试:
功能测试工具可以帮助自动执行功能测试用例,提高测试效率。以下是使用功能测试工具完成Web功能测试的一般步骤:
选择测试工具: 选择适合Web功能测试的测试工具,如Selenium、JUnit、TestNG等。
录制测试脚本: 使用测试工具录制测试脚本,记录用户在Web应用程序中的交互步骤。
编辑测试脚本: 根据需要编辑录制的测试脚本,添加断言、循环、条件等控制流程。
设计测试数据: 准备测试数据,包括正常输入、异常输入和边界输入。
执行测试脚本: 运行测试脚本,测试工具模拟用户在Web应用程序中的操作,执行测试用例。
生成测试报告: 测试工具生成详细的测试报告,包括测试通过的用例、失败的用例和执行结果。
分析测试结果: 分析测试结果,确认每个功能点是否符合预期,定位和修复缺陷。
维护测试脚本: 随着系统的变化,及时更新和维护测试脚本,确保测试的持续有效性。
安全性测试方法:
安全性测试旨在评估系统的安全性,防止潜在的安全漏洞和风险。以下是一些常用的安全性测试方法:
① 渗透测试(Penetration Testing): 通过模拟攻击者的行为,尝试利用系统的漏洞和弱点,评估系统的安全性。
② 代码审查: 通过仔细审查系统的源代码,发现并修复潜在的安全漏洞。
③ 安全架构评估: 对系统的整体架构进行评估,确保安全措施被嵌入到系统设计中。
④ 网络扫描: 使用工具扫描系统的网络端口和服务,发现潜在的漏洞。
⑤ 安全策略评估: 评估系统的安全策略,包括访问控制、身份验证、加密等。
安全性测试用例:
安全性测试用例是一组测试用例,用于验证系统在面对潜在的安全威胁时的表现。以下是编写安全性测试用例的一般步骤:
① 识别潜在威胁: 根据安全标准和最佳实践,识别系统可能面临的潜在威胁和攻击。
② 编写测试用例: 针对每个潜在威胁编写测试用例,包括输入数据、预期输出、测试步骤等。
③ 设计攻击场景: 模拟攻击者的行为,设计测试用例以验证系统在攻击场景中的表现。
④ 测试身份验证: 测试系统的身份验证机制,确保只有合法用户能够访问系统。
⑤ 测试授权和访问控制: 确保系统按照规定的授权和访问控制规则工作。
如何使用安全性测试工具完成安全性测试:
安全性测试工具可以辅助进行安全性测试,以下是使用工具完成安全性测试的一般步骤:
选择安全性测试工具: 选择适合项目需求的安全性测试工具,如OWASP ZAP、Nessus、Burp Suite等。
配置工具: 配置工具,包括设置目标系统、选择测试策略、配置扫描参数等。
执行扫描: 运行安全性测试工具,进行系统的安全性扫描,发现潜在的漏洞和弱点。
分析扫描结果: 分析工具生成的扫描结果报告,确认每个漏洞的风险级别和建议修复措施。
修复漏洞: 根据扫描结果,修复系统中发现的漏洞和弱点。
重复测试: 在漏洞修复后,重复执行安全性测试,确保修复措施有效。
持续监控: 建立定期的安全性测试和监控机制,确保系统的安全性持续得到维护。
缺陷管理和跟踪方法:
常用的软件质量保证流程:
如何对软件质量进行评估:
软件测试的组织管理和维护:
组织管理、测试过程管理、测试计划制定、配置管理、测试环境管理、测试环境搭建、资源协调、缺陷管理、性能管理。
测试工程师的职业素养和责任感:
专业技能、沟通协作、团队合作、有效沟通、质量意识、全局观念、学习与创新、持续学习、创新思维、自我管理、问题解决、文档管理
https://blog.csdn.net/weixin_43474701/article/details/118760558
测试用例有哪些属性?
用例的标题、测试的操作系统、测试的浏览器、测试步骤、预期结果。
简述几种常用的集成测试方法。
自顶向下集成测试、自底向上集成测试、核心系统先行集成测试、高频集成测试、三明治集成测试等
简述测试工程师日常的关键测试活动?
制定测试计划、设计测试用例、编写测试脚本、执行测试、报告缺陷
软件缺陷生命周期中有哪些基本状态?简述状态的变化。
New:缺陷被提交到系统。
Open:缺陷被分配给开发人员。
Fixed:缺陷被开发人员修复。
Closed: 缺陷被测试人员验证已经被修复,测试人员关闭缺陷。
单元测试、集成测试、系统测试的侧重点是什么?
单元测试侧重点是单元模块的内容逻辑结构和算法是否正确。
集成测试的侧重点是模块与模块之间链接起来以后,模块之间的接口是否正确,数据流是否正确。
系统测试侧重点是考察系统整体的功能、性能是否满足用户的需求
简述web测试的主要测试内容?
web测试的主要内容: 界面测试、功能测试、表单测试、安全性测试、安装测试、兼容性测试、性能测试等
在软件测试过程中,应该遵循的原则是?
(1)尽早可能展开预防性测试;
(2)可追溯性;
(3)投入/产出原则;
(4)80/20原则;
(5)独立的软件测试机构或委托第三方测试,即避免开发人员一边开发,一边测试的情况的出现
测试用例的设计的步骤一般包括?
(1)测试需求分析;
(2)业务流程分析;
(3)测试用例设计;
(4)测试用例评审;
(5)测试用例更新完善。
测试用例的原则?
(1)测试用例的代表性;
(2)测试结果的可判断性;
(3)测试结果的可再现性。
常用到的软件质量模型有哪些?并简述一下。
(1)软件测试瀑布模型:分为测试计划、需求分析、概要设计、详细设计、软件测试、运行和维护7个阶段,自顶向下执行。强调阶段划分及顺序性、各阶段工作及其文档的完备性。
(2)软件测试V模型:也称为RAD模型,即快速应用开发模型。属于线性顺序一类的软件开发模型。
什么是软件测试计划?
软件测试计划是指导测试过程的纲领性文件,包含产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流和风险分析等内容。
制定软件测试的计划的原则有?
(1)制定测试计划应尽早开始;
(2)保持测试计划的灵活性;
(3)保持测试计划简洁和易读;
(4)尽量争取多渠道评审测试计划;
(5)计算测试计划的投入。
制定软件测试的技术的步骤有?
(1)产品基本情况调研;
(2)测试需求说明;
(3)测试的策略和记录;
(4)测试资源配置;
(5)计划表;
(6)问题跟踪报告;
(7)测试计划的评审
什么是静态测试、动态测试?
静态测试:是一种不通过执行程序而进行测试的技术,只是检测和评审。
动态测试:直接执行被测试程序以提供测试支持。
什么是白盒测试、黑盒测试?二者的关系是什么?
(1)白盒测试:又称功能功能测试、数据驱动测试和行为测试,是一种从用户观点出发的测试,被测程序为黑盒子,通过测试来检测每个功能是否能够正常使用
(2)黑盒测试:又称结构测试和逻辑驱动测试,是知道产品内部工作过程,通过测试来检测产品内部动作是否按照规格说明书的规定去正常运行。
二者的关系:白盒测试偏重实现方式,注重局部;黑盒测试偏重业务方面,注重整体。有着本质区别,又是相互联系、相辅相成。
软件测试的过程是什么?
(1)测试一致性;
(2)可持续改进测试过程;
(3)便于管理;
(4)系统测试;
(5)验收测试;
软件测试与软件开发的过程的关系是什么?
(1)测试工程师与开发工程师目标一致、行为对立、并行工作,有生产就必然有质检,二者的工作相辅相成,开发人员和测试人员的主要矛盾就集中在对bug的定义上。
(2)软件测试工程师:查找bug、管理bug、质量保证。软件开发:系统设计、编码、修改bug
白盒测试的覆盖准则有哪些?
(1)语句覆盖 ;
(2)判定覆盖;(即分支覆盖);
(3)条件覆盖 ;
(4)判定-条件覆盖 ;
(5)条件组合覆盖 ;
(6)路径覆盖 。
白盒测试的常用工具有哪些?各适用于什么情况?
(1)静态白盒测试:在不执行的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程。
(2)动态白盒测试:需要对各个模块功能、模块间的接口、局部数据结构、主要执行路径、错误处理等反面的测试
单元测试是什么?
单元测试是在软件开发过程中要进行的最低级别的测试活动,起目的在于发现每个模块内部可能存在的差距。
单元测试的原则有哪些?
(1)单元测试越早进行越好;
(2)单元测试应该根据《软件详细设计规格说明》进行;
(3)对于修改过的代码应该重做单元测试,以保证对已发现错误的修改没有引入新的错误;
(4)当测试用例的测试结果与设计规格说明书的预期结果不一致时,测试人员应该如实记录实际的测试结果;
(5)单元测试应注意选择好被测试软件单元的大小;
(6)一个完整的单元测试说明应该包含软件证明测试和负面测试;
(7)注意使用单元测试工具。
单元测试的重要性及目的是什么?
重要性如下
(1)提前发现问题并解决可以节约时间
(2)是测试阶段的基础,为后期的集成测试和系统测试做好准备;
(3)对单元独立测试,容易发现问题,减少成本。
目的:是暴漏出失败和错误。失败的可能性是可预期的,并且可以使用断言来进行检查。而错误则是不可预期的问题
简述单元测试的过程?
(1)准备阶段;
(2)编制阶段
(3)代码审查阶段;
(4)单元测试阶段;
(5)评审、提交阶段。
什么是插桩程序设计?
是在保证被测程序原有逻辑完整性的基础上在程序中插于一些探针,通过探针的执行抛出程序运行的特征数据,通过这些数据的分析,可以获得程序的控制流和数据信息,进而得到逻辑覆盖等动态信息,从而实现测试目标的方法。
集成测试是什么?
是在假定各个软件单元已经通过了单元测试的前提下,检测各个软件单元之间相互接口是否正确。
集成测试的主要任务是什么?
(1)将各个模块连接起来,检查模块相互调用时,数据结构接口是否丢失;
(2)将各个子功能组合起来,检查能否达到预期要求的各项功能;
(3)一个模块的功能是否会对另一个模块的功能产生不利的影响;
(4)全局数据结构是否有问题,会不会被异常修改;
(5)单个模块的误差积累起来,是否被放大,从而达到不可接受的程度。
集成测试与单元测试,系统测试的区别是什么?
集成测试与单元测试的区别:
(1)集成测试关注的是模块间的接口、接口之间的数据传递关系、单元组合后是否实现预计的功能
(2)集成测试组装的对象比单元测试的对象级别要高。
集成测试与系统测试的区别:
(1)系统测试对象是整个系统以及与系统交互的硬件和软件平台;
(2)集成测试所测试的对象是模块间的接口,其目的是在找出在模块接口上面,包括整体体系结构上的问题;
(3)软件的集成测试工作最好由不属于该软件开发组的软件设计人员承担,以提高集成测试的效果。
集成测试的内容有哪些?
(1)制定集成测试计划;
(2)设计集成测试;
(3)实施集成测试;
(4)执行集成测试;
(5)评估集成测试。
如何进行集成测试的用例设计?
(1)为系统运行设计用例;
(2)为正向测试设计用例;
(3)为逆向测试设计用例;
(4)为满足特殊需求设计用例;
(5)为高覆盖设计用例;
(6)测试用例补充;
(7)注意事项。
集成测试的方法有哪些?分别适用于哪些情况?
(1)非增式集成;将所有经过单元测试的模块一次性组装到被测系统中进行测试,不考虑模块之间的依赖性和可能的风险;
(2)自顶向下集成;从控制模块开始,沿着程序的控制层向下移动,逐渐把各个模块结合起来。
(3)自底向上集成;从最底层的模块开始,按结构图自下而上和自底向上的集成方法;
(4)混合集成;对高风险模块优先进行重点测试,保证系统稳定性。
系统测试是什么?
是指测试整个系统已确定其是否能够提供应用的所有需求行为,包含了多种测试活动,主要分为功能性测试和非功能测试。
系统测试与用户测试有何不同?
系统测试是测试整个系统已确定其是否能够提供应用的所有需求行为;用户测试分为体验、界面、验收、用户测试报告组成
简述系统测试的主要内容?
(1)功能测试。即测试软件系统的功能是否正确,其依据是需求文档,如《产品需求规格说明书》。
(2)健壮性测试。即测试软件系统在异常情况下能否正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力
容量测试与压力测试的区别有哪些?
(1)压力测试是在给系统不断加压,增加并发量,直到崩溃,找到系统所能承受的极限值。
(2)容量测试是在预先分析的极限值下,系统能否正常运行。
什么是性能测试?
通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者结合进行。
什么是回归测试?它有什么好处?一般如何进行回归测试?
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
好处是大幅降低系统测试、维护升级等阶段的成本。
回归测试基础步骤
(1)为每个项目创建用例基线库;
(2)标识每个用例的重要性及有线级;
(3)建立用例直接的关系。
验收测试是什么?
是在软件产品完成了功能测试和系统测试之后,产品发布之前所进行的软件测试活动,它是技术测试的最后一个阶段,是将程序与其最初的需求及最终用户当前的需要进行比较的过程,也叫交付测试。
验收测试的主要内容是什么?
(1)文档审查
(2)安装测试
(3)功能测试
(4)性能测试
(5)界面测试
(6)加载测试
(7)配置测试
(8)恢复测试
(9)安全性测试。
α测试和β测试有什么不同?
a 测试是在公司内部由用户组织与的测试;a 测试对发现缺陷是可控的,但缺陷是人数有限、地域限制。b测试是在外部有用户进行的测试;b测试不会认真地去发现缺陷,有时仅仅是为了抢占市场。
如何组织软件测试团队?
(1)建立合理、高效的组织结构
(2)建立正确的分工体系,即角色与职责;
(3)培养合格的测试人员。
如何进行软件测试人员的培养?
(1)人员选择要求;
(2)人员培训与培养;
(3)测试人员职业发展规划;
题目:请对下面代码进行语句覆盖测试、判定覆盖测试、条件覆盖测试和条件组合测试和路径覆盖测试,分别写出相应的测试用例。
void DoWork(int x,int y,int z)
{
int k = 0,j = 0;------------------------------------------1
if((x>3)&&(z<10))----------------------------------2
{
k = x*y-1;
j = sqrt(k);----------------------------------------3
}
if((x==4) || (y>5))----------------------------------4
{
j = x*y+10;-----------------------------------------5
}
j = j%3;-------------------------------------------------6
}
简略流程图如下:
解答如下:
题目:某软件的一个模块的需求规格说明书中描述:“……对于功率大于50马力的机器或者维修记录不全的或已经运行10年以上的机器应予以优先的维修处理……”这里假定“维修记录不全”和“优先维修处理”有严格的定义。请建立该需求的判定表,并绘制出化简(合并规则)后的判定表。
题解如下:
知识补充:
对于输入输出条件存在各种组合,且不同组合走不同的逻辑时,优先使用判定表法。
基本概念:
条件桩:输入条件,列出了系统的所有输入,列出的输入次序无关紧要
动作桩:结果,列出了系统可能采取的操作,这些操作的排列顺序没有约束
条件项:输入条件取值的全部组合,列出针对它左列输入的取值,在所有可能情况下的真假值
动作项:条件项对应的所有的结果,列出在输入项的各种取值情况下应该采取的动作
规则:一组条件与动作的组合,一条规则对应一条测试用例
题目1:输入条件是金额字段的一个取值范围,要求为0.01~10元,精度为小数点后两位。
题解如下:
有效等价类:
???1、amount=5(中间有效值)
???2、amount=0.01(边界值)
???3、amount=10.00(边界值)
无效等价类:
???1、amoun=0.00(小于最小值)
???2、amount=10.01(大于最大值)
???3、amount=9.999(精度错误)
???4、amount= 1(前带空格)
???5、amount=“”(空值)
???6、amount=ab(异常格式)
知识补充:对于各种输入或输出,必须考虑等价类和边界值,并补充一些特殊值,如空值、空格、0、异常格式等特殊值。
题目2:报表日期:设某公司要打印2001~2005年的报表,其中报表日期为6位数字组成,其中,前4位为年份,后两位为月份。请用等价类划分法写出测试用例。
题解如下:
题目3:有函数f(x,y),其中x∈[1900,2100],y∈[1,12]的。请写出该函数采用边界值法设计的测试用例。
题解如下:测试用例为(1900,6),(1901,6),(2099,6),(2100,6)(1950,6)
(1950,1),(1950,2),(1950,11),(1950,12)
解释:答案包含x的边界值1900,1901,2099,2100,y的边界值1,2,11,12,以及一个中间取值。