软件测试主要工作内容,包括两个方面验证(verification)和确认(validation)。
验证(verification)是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件以正确的方式来做了这个事件。
1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程。
2.程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程。
3.评审、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件做了你所期望的事情。
1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性。
2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。
其实,软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期间各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。