IBM软件测试理论——测试类型和测试阶段

发表于:2011-5-19 14:44

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  从软件质量保证上来划分测试,测试可以划分成静态测试和动态测试。静态测试就是指不运行被测程序本身,仅通过分析或检查源程序的文法、结构、过程、接口等来检查程序的正确性,静态测试可以分为代码审查、代码走读、文档审查等行为。动态测试是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能的测试过程。从那条参考的时间轴上来看,动态测试和静态测试可以发生在整个软件生命周期的全过程。关于静态测试和动态测试的更多讨论在我的博文《静态测试和动态测试》中有比较详细的讨论。

  按照测试技术(test techniques)划分,测试可以划分为白盒测试、黑盒测试和灰盒测试。在这套理论的介绍中,后面会有专门的一节来介绍这三种测试。其中灰盒测试是指白盒和灰盒测试相混合的一种测试。从那条参考的时间轴来看,白盒测试发生时间比较靠前,黑盒测试发生时间比较靠后,而灰盒测试发生的时间介于2者之间。

  按照测试阶段(test levels)划分,测试可以划分单元测试、集成测试、系统测试、系统集成测试、用户验收测试和维护测试,这一划分是根据软件生命周期和测试生命周期中自然形成的阶段进行划分的,当然越靠前的测试越先进行。

  从第二幅图可以看出,单元测试和集成测试是由开发团队来做的,而集成测试和系统集成测试是由测试人员来做的,用户验收测试是由用户和测试团队来做的,及时用户不参与,测试人员也是在用户的角度进行测试的,这里没有做维护方面的测试。单元测试是指针对各个单元模块进行的测试;集成测试就是由更多的已经完成了单元测试的测试单元构成的测试,集成测试仍然不是在一个完整的测试过程上测试;系统测试是程序第一次以一个完整的个体形式进行运行而进行的测试;而系统集成测试在系统测试的基础上,还要关注整个软件系统与外界的交互,比如调用打印机,比如与本软件系统以外的其他系统进行交互;用户验收测试也就是通常大家所说的UAT,这个时候整个软件系统已经有了比较好运行状态,可以接受用户验收测试啦。每一阶段的结束被看做是输出,都是作为下一阶段的输入,在测试流程上有明确的定义什么这些输入和输出的标准,后面的章节会对这些标准做详细的阐述。每一阶段的测试,都应该包含前一阶段的测试内容,也就是前一阶段的测试内容,但是侧重点不一样,从红色的箭头和红色的边框可以看出各个阶段的测试侧重点。比如UAT过程中遇到了不属于UAT测试项的bug,当然也是属于UAT的内容。

  按照测试类型(test types)划分,这些划分包含审计和控制、文档和过程、功能、需求、接口、回归测试、备份和恢复、工作流、性能、压力、容量、变换、安装、错误处理、并行、事物流、可用、UI、可操作性和安全性等方面的测试。具体的一些测试类型的定义,可以从网上搜索得知。

  各个测试类型可以发生在各个的测试阶段,从第三幅图可以看出,每个测试阶段所涉及到的测试类型,而静态测试应该和这些测试阶段并列开来,也可以理解成这些测试阶段都是属于动态测试的。从横行可以看出错误处理和回归测试发生在所有的测试阶段,因为每个阶段都会有bug,有bug就会有回归,当然回归测试会发生在各个测试阶段。从竖行上可以看出,系统测试涉及到了最多的测试类型,因为这个时候软件系统是第一次以一个完整的个体而运行,需要的测试方面是最多的。也并不是所有阶段都要进行所有的类型测试。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号