软硬件综合系统软件需求建模及可靠性综合试验、分析、评价技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第3章 软件测试

软件测试在软件开发中具有非常重要的作用。软件测试的目的在于按照规定的步骤,采用适当的方法,对软件进行严格的检查,以发现和纠正软件缺陷,使软件质量在测试过程中不断提高,逐步达到规定的要求,能够交付用户使用。软件开发经验表明,软件测试需要消耗大量资源,软件测试所需工时通常高达开发期总工时的40%~50%。只有科学地制定测试策略,合理地安排测试进程,才能有效地控制资源消耗,提高测试效率。由此可见,软件测试不仅是软件开发中的一项技术措施,而且对于项目主管及质量保证部门也具有非常重要的意义,对软件质量不能简单地用测试过程中发现和纠正软件缺陷的多少来评价。需要说明的是,传统观点认为软件测试阶段是指软件开发过程中程序编写完成后的一个阶段,软件测试技术则是指在软件测试阶段所使用的技术。现在软件工程界普遍认为,尽管通常在软件测试阶段对软件进行密集测试,但软件测试并非始于软件开发过程中的测试阶段,它实际上存在于软件全生命周期,软件设计和软件测试无法割裂。例如,在软件实现阶段,模块编码一旦完成,随即可进行模块测试。程序中各个模块设计完成时间有先有后,模块测试的起始时间不宜机械地强求一致。另外,软件测试本身也需要妥善设计。软件测试设计涉及测试策略、测试进度、测试方法、测试案例选择、预期结果及文档,而且软件测试设计工作应当与软件设计工作同步进行。软件测试技术类型如图3.1所示。

图3.1 软件测试技术类型