自底向上集成测试的步骤分为:(1)把低层模块组织成实现某个子功能的模块群;(2)开发一个测试驱动模块,控制测试数据的输入和测试结果的输出;(3)对每个模块群进行测试;(4)删除测试使用的驱动模块,用较高层模块把模块群组织成为完成更大功能的新模块群。从第(1)步开始循环执行上述各步骤,直至整个程序构造完毕。
自底向上集成方法不用桩模块,测试用例的设计亦相对简单,但缺点是程序最后一个模块加入时才具有整体形象。它与自顶向上集成测试方法优缺点相反。因此,在测试软件系统时,应根据软件的特点和工程的进度,选用适当的测试策略。有时混和使用两种策略更为有效,上层模块用自顶向下的方法,下层模块用自底向上的方法。
此外,在集成测试中尤其要注意关键模块。所谓关键模块一般都具有下述一个或多个特征:(1)对应几条需求;(2)具有高层控制功能;(3)复杂、易出错;(4)有特殊的性能要求。关键模块应尽早测试,并反复进行回归测试。
(3)确认测试
也称合格性测试,这是检验所开发的软件是否按用户要求运行。确认测试应检查软件能否按合同要求进行工作,即是否满足软件需求说明书中的确认标准。
a.确认测试标准
实现软件确认要通过一系列黑盒测试。确认测试同样需要制订测试计划和过程,测试计划应规定测试的种类和测试进度,测试过程则定义一些特殊的测试用例,旨在说明软件与需求是否一致。无论是测试计划还是测试过程,都应该着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整、准确,人机界面、可移植性、兼容性、可维护性等是否令用户满意。
确认测试的结果有两种可能,一种是功能和性能指标满足软件需求说明的要求,用户可以接受;另一种是软件不满足软件需求说明的要求,用户无法接受。项目进行到这个阶段才发现严重错误和偏差一般很难在预期内改正,因此必须与用户协商,寻求一个妥善解决问题的方法。
b.配置复审
确认测试的另一个重要环节是配置复审。复审的目的在于保证软件配置齐全、分类有序,并且包括软件维护所必须的细节。
c.α、β测试
事实上,软件开发人员不可能完全预见用户实际使用程序的情况。例如,用户可能错误地理解命令,或提供一些奇怪的数据组合,亦可能对设计者自认明了的输出信息迷惑不解。因此,软件是否真正满足最终用户的要求,应由用户进行一系列“验收测试”。验收测试既可以是非正式的测试,也可以是有计划、有系统的测试。有时,验收测试长达数周甚至数月,不断暴露错误,导致开发延期。一个软件产品,可能拥有众多用户,不可能由每个用户验收,此时多采用称为α、β测试的过程,以期发现那些似乎只有最终用户才能发现的问题。
α测试是指软件开发公司组织内部人员模拟各类用户对即将面市的软件产品(称为α版本)进行测试,试图发现错误并修正。α测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的用户操作方式。经过α测试调整的软件产品称为β版本。紧随其后的β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出批评意见。然后软件开发公司再对β版本进行改错和完善。
(4)系统测试
软件开发完成后,还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。
文章来源于领测软件测试网 https://www.ltesting.net/