软件测试分类标准
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试按照开发阶段可分为单元测试、集成测试、确认测试、系统测试和验收测试。
1.单元测试
单元测试又称模块测试,是针对软件设计的最小单位——程序模块进行正确性检验的测试工作。
其目的在于检查每个程序单元能否满足详细设计说明中的模块功能、性能、接口和设计约束等要求,发现各模块内部可能存在的各种错误。
单元测试需要从程序的内部结构出发设计测试用例。
多个模块可以平行地独立进行单元测试。
2.集成测试
集成测试也叫作组装测试,通常是在单元测试的基础上,对所有的程序模块进行有序的、递增的测试。
集成测试检验程序单元或部件的接口关系,使它们逐步集成为符合概要设计要求的程序部件或整个系统。
软件集成是一个持续的过程,会形成很多个临时版本。
在此过程中,保证功能集成的稳定性是真正的挑战。
每个版本在提交时,都需要进行冒烟测试,即对程序主要功能进行验证。
冒烟测试也叫版本验证测试、提交测试。
3.确认测试
确认测试是通过检查和提供客观证据,证实软件是否满足特定预期用途的需求。
确认测试检测与证实软件是否满足软件需求说明书中提出的要求。
4.系统测试
系统测试是为验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行的测试。
系统测试在真实或模拟系统运行的环境下,检查完整的程序系统能否与硬件、外设、网络和系统软件、支持平台等正确匹配、连接,并满足用户需求。
5.验收测试
验收测试是按照项目任务书或合同、供需双方约定的验收依据文档对整个系统进行的测试与评审,决定产品被接收或拒收。
按照测试环境分类
当软件是为特定用户开发时,需要进行一系列的验收,让用户验证所有的需求是否已经得到满足。
当软件是为多个用户开发时,让每个用户逐个执行正式的验收测试是不切实际的,因此很多软件产品生产者采用α测试和β测试以发现可能只有最终用户才能发现的错误。
α测试是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。
软件在一个自然设置状态下使用,开发者坐在用户旁边,随时记下错误情况和使用中的问题。
这是在受控制的环境下进行的测试,α测试的目的是测试软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持),尤其注重产品的界面和特色。
β测试是在软件的一个或多个用户的实际使用环境下进行的测试。
这些用户是与公司签订了支持产品预发行合同的外部客户,他们要使用该产品,并返回相关错误信息给开发者。
按照测试技术分类
软件测试按照测试技术分为白盒测试、黑盒测试、灰盒测试,也可分为静态测试和动态测试。
静态测试是指不运行程序,通过人工方式对程序和文档进行分析与检查;动态测试是指通过运行被测程序来检查运行结果与预期结果的差异,并分析运行效率和健壮性等指标。
此处讨论的白盒测试、黑盒测试、灰盒测试在实现测试的方法上既包括动态测试,又包括静态测试。
1.白盒测试
白盒测试通过对程序内部结构的分析、检测来寻找问题。
它将测试对象看成一个透明盒子,即清楚了解程序结构和处理过程,以此检查软件内部动作是否按照设计说明的规定正常进行。
2.黑盒测试
黑盒测试通过软件的外部表现来发现其缺陷和错误。
它把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。
黑盒测试在程序界面处进行测试,它只检查程序是否按照规格说明书的规定正常运行。
3.灰盒测试
灰盒测试是介于白盒测试与黑盒测试之间的测试。
灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种内部关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。
软件测试方法和技术的分类与软件开发过程相关联,它贯穿了整个软件生命周期。
单元测试、集成测试、系统测试应用于整个开发过程中的不同阶段。
单元测试应用白盒测试方法,集
成测试应用近似灰盒测试方法,系统测试和确认测试应用黑盒测试方法。