软件测试方法的分类

软件测试分类:

划分为:黑盒测试、灰盒测试、白盒测试

黑盒测试:也称为功能测试、数据驱动测试、或者基于规格说明的测试,测试这不需要了解程序内部情况,只知道程序的输入和输出和系统的功能,这是从用户角度对程序进行的测试。

白盒测试:也称为结构性测试、逻辑驱动测试或者基于程序本省的测试,它重于程序内部结构和算法,通常不包括功能和性能指标,白盒测试是一种基于对源码的控制结构、处理过程等进行分析,检查程序内部处理是否正确,包括异常处理、语句结果,分支,循环结构等,白盒测试一般是以单元或者模块为基础;
白盒测试主要测试方法为:
1、语句覆盖:使程序中的每个语句至少都被覆盖一次
2、判定覆盖:使程序中每个判定至少为真或者为假各一次
3、条件覆盖:使判定中每个条件获得各种可能的结果
4、判定/条件覆盖:同时满足判断覆盖和条件覆盖
5、条件组合覆盖:使的每个判定中条件的各种可能组合至少出现一次。

灰盒测试:
是基于程序运行时外部表现同时又结合程序内部逻辑结果来设计用例,执行程序并采集程序执行信息和外部用户外部接口结果的测试技术,这种测试技术介于黑盒测试和白盒测试之间,灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环境,能够用于黑盒测试以增强测试效率,错误发现和错误案例分析的效率(接口测试属于灰盒测试)。

划分为:静态测试与动态测试

静态测试:不运行代码,静态的检查程序代码、界面或者文档可能存在的错误过程,包括代码评审、UI界面检查、需求规则说明书,用户手册检查。
动态测试:运行被测试的代码,输入相应的测试数据,检查输出结果是否和预期结果一致。

划分为:单元测试、集成测试、系统测试、验收测试。

单元测试:
对被测软件的函数,模块进行测试,是测试的最少粒度。

集成测试:
主要测试软件结构的问题,测试是建立在模块接口上的,所以多为接口测试辅以白盒测试,集成测试是组装软件的系统测试技术,按照设计要求把通过单元测试的各个模块组装在一起,进行综合测试以便发现发现与接口相关的各种错误。
执行集成测试应该遵循下面的方法:
1、确认组成一个完整系统模块之间的关系。
2、评审模块之间交互和通信需求,确认出模块间的接口。
3、使用上述信息产生一套测试用例。
4、采用增量式测试,依次将模块加入到系统,并测试新合并后的系统,这个过程以一个逻辑/功能顺序重复进行,直至所有模块被功能集成进来形成完整的系统为止。
集成测试遵循的原则:
集成测试很不好把握,应针对总体设计尽早开始筹划
1、所有公共接口都要被测试到。
2、关键模块必须进行充分测试。
3、集成测试应当按照一定的层次进行。
4、集成测试的策略选择应当综合考虑质量,成本和进度之间的关系。
5、集成测试应当尽早开始,并以总体设计为基础。
6、在模块与接口划分上,测试人员应当和开发人员进行充分沟通。
7、当接口发生修改时,涉及的相关接口必须进行再次测试。
8、测试执行结果应当如实记录。

系统测试:
集成测试通过后,软件组装成了一个完整的软件包,这时就要进行系统测试,系统测试完全采用黑盒测试技术,系统测试采用的数据尽可能模拟真实数据一样准确和有代表性。

验收测试:
系统测试完成以后,软件已完全组装起来,这时可以开始对软件进行最后的确认测试,确认测试主要检查软件能否按合同要求进行工作,即是否满足软件需求规则说明书的中的要求。
验收测试着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整,准确,人机界面和其他方面(例如:可移植性,兼容性,错误恢复能力和可维护性)是否满足客户要求。
验收测试可以采用α,β测试。

  • α测试:指软件开发公司组织内部人员模拟各类用户行为对即将面市软件产品进行测试,经过α测试的软件产品称为β版本。
  • β测试:软件产品公司组织典型用户在日常工作中使用β版本,并要求用户报告异常情况,提出改进意见,然后软件开发公司再对β版本进行改错和完善。(软件公司将β版本软件放在互联网上供用户免费下载,并可以试验一定的期限,或者以光盘等形式免费发放给部分期待试用的未来潜在客户群用户,也可以试用一定的期限)。

划分其他测试:回归测试‘、’冒烟测试、随机测试

回归测试:在对软件新版本测试,重复执行上一个版本测试时使用的测试用例。

冒烟测试:对每一个新编译的需要正式测试的软件确认软件基本功能正常,冒烟执行人员一般为版本编译人员或其他研发人员。

随机测试:在测试中,测试数据是随机产生的,也叫猴子测试(monkey test)。
随机测试的一些缺点:
1、测试往往不太真实。
2、不能达到一定的覆盖率。
3、许多测试都是冗余的。
4、需要使用同样的随机种子才能重建测试。
这种随机测试在很多时候没有多大的用处,往往被用来作为“防崩溃”的手段,或者被用来验证系统在遭受到不利影响时的能否保持正常,可以以此方法来考察系统的健壮性,防止生成大量垃圾数据等手段。
--摘录自《精通软件性能测试与loadrunner最佳实战》

猜你喜欢

转载自blog.51cto.com/14610663/2488369