(2)为了确保测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试和验收测试。
(3)代码会审:
代码会审是由一组人通过阅读、讨论和争议对程式进行静态分析的过程。会审小组由组长,2~3名程式设计和测试人员及程式员组成。会审小组在充分阅读待审程式文本、控制流程图及有关需求、规范等文件基础上,召开代码会审会,程式员逐句讲解程式的逻辑,并展开热烈的讨论甚至争议,以揭示错误的关键所在。实践表明,程式员在讲解过程中能发现许多自己原来没有发现的错误,而讨论和争议则进一步促使了问题的暴露。例如,对某个局部性小问题修改方法的讨论,可能发现和之有牵连的甚至能涉及到模块的功说明、模块间接口和系统总结构的大问题,导致对需求定义的重定义、重设计验证,大大改善了软件的质量。
(4)单元测试:
单元测试集中在检查软件设计的最小单位-模块上,通过测试发现实现该模块的实际功能和定义该模块的功能说明不符合的情况,及编码的错误。由于模块规模小、功能单一、逻辑简单,测试人员有可能通过模块说明书和源程式,清晰地了解该模块的I/O条件和模块的逻辑结构,采用结构测试(白盒法)的用例,尽可能达到完全测试,然后辅之以功能测试(黑盒法)的用例,使之对所有合理和不合理的输入都能鉴别和响应。高可靠性的模块是组成可靠系统的坚实基础。
(5)集成测试:
集成测试是将模块按照设计需求组装起来同时进行测试,主要目标是发现和接口有关的问题。如数据穿过接口时可能丢失;一个模块和另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是能接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。
(6)验收测试:
验收测试的目的是向未来的用户表明系统能够像预定需求那样工作。经集成测试后,已按照设计把所有的模块组装成一个完整的软件系统,接口错误也已基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。
经过上述的测试过程对软件进行测试后,软件基本满足研发的需求,测试宣告结束,经验收后,将软件提交用户。
3.测试方法分析
集成测试及其后的测试阶段,一般采用黑盒方法。
(1)用边值分析法和(或)等价分类法提出基本的测试用例;
(2)用猜测法补充新的测试用例;
(3)如果在程式的功能说明中含有输入条件的组合,宜在一开始就用因果图法,然后再按以上(1)、(2)两步进行。