在我做QA的第一天,我就决定把那些眼花缭乱的各类测试名词搞个清清楚楚。
最近才细读了老大介绍的软件测试方法和技术一书,o,my,终于有机会把它们全都搞清楚了,因为种种好说但懒得说的原因,就把它们都总结下来写在这里~
第二章第四节讲述了软件测试的分类和阶段,
软件测试可以分别按测试范围、测试目的、测试对象、测试过程分类。
1.按测试范围分类
●单元测试
●组件测试
●集成测试
●系统测试
●验收测试
●安装测试
2.按测试目的分类
◆正确性测试
●白盒测试
●黑盒测试
◆性能测试
◆可靠性测试
●强壮性测试
●异常处理测试
●负载测试
◆安全性测试
3.按测试对象分类
●单元测试
●组件测试
●模块测试
●程序测试
●系统测试
●文档测试
4.按测试过程分类
●需求阶段的测试
●设计阶段的测试
●程序阶段的测试
●测试结果的评估
●安装测试
●验收测试
●测试变化:维护
5.其他测试技术和方法
●回归测试:为了保证软件中新的变化(修改)不会对原有功能的正常使用有影响而进行的测试。回归测试更适合于使用软件自动化测试工具。
●压力测试:用来检查系统在大负荷条件下的运行情况。在非正常的巨大负荷下,某些动作和输入大量重复,输入大数,对数据库进行非常复杂的查询等,以确定在什么情况下系统响应速度下降或是出现故障。
●恢复测试:在系统崩溃、硬件故障,或者其他灾难发生之后,重新恢复系统和数据的能力测试。
●安全测试:测试系统在应付非授权的内部、外部访问、故意损坏时的系统防护能力。
●兼容性测试:测试在特殊的硬件、软件、操作系统、网络环境下的软件表现。
测试的阶段
软件测试贯穿软件产品开发的整个生命周期--软件项目一开始,软件测试也就开始了,从产品的需求分析审查到最后的验收测试、安装测试结束。
从过程来看,软件测试是由一系列的不同测试阶段所组成的,这些阶段分为:
1.规格说明书审查
测试人员要参与系统或产品需求分析,认真阅读有关用户需求分析文档,真正理解客户的需求,检查规格说明书对产品描述的准确性、一致性等,为今后熟悉应用系统、编写测试计划、设计测试用例等做好准备工作。
2.系统和程序设计审查
代码会审(公司coding review的最佳中文翻译)是一种静态的白盒测试方法,是由一组人通过阅读、讨论来审查程序结构、代码风格、算法等的过程。
3.单元测试
在编码阶段,针对每个模块进行测试,主要使用白盒测试方法,从程序的内部结构出发设计测试用例,检查程序模块或组件已实现的功能和定义的功能是否一致,以及编码中是否存在错误。单元测试一般由测试人员和编程人员共同完成,编程人员有时起主要作用。
4.集成测试
也称组装测试、联合测试、子系统测试,在单元测试的基础上,将模块按照设计要求组装起来同时进行测试,主要目的是发现与接口有关的模块之间的问题。
5.功能测试
功能测试一般须在完成集成测试后进行,而且是针对应用系统进行测试。功能测试是基于产品功能说明书,是在已知产品所应具有的功能,从用户角度来进行功能验证,以确定每个功能是否都能正常使用。
6.确认测试
确认软件的功能和性能达到用户的合理的期待。确认测试也称有效性测试,验证软件的功能和性能及其他特性是否与用户的要求一致。如果加入用户信息,也称验收测试。
7.系统测试
最终与系统中其他部分配套运行,进行系统测试,即,将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试,包括恢复测试、安全测试、强度测试和性能测试等。
8.验收测试
9.安装测试
指按照软件产品安装手册或相应的文档,在一个和用户使用该产品完全一样的环境中或相当于用户使用的环境中,进行一步一步安装的同时所做的测试。
以上,我只做过2345,后面的几个测试阶段有时候太相似啦,对于小的项目把它们和在一起测就是啦。
(待续)