软件测试在软件开发过程中占有重要的地位,在传统的瀑布模型中,软件测试只成为其阶段性的一段工作——进行代码的测试。而现代软件工程思想将软件测试认为是贯穿整个软件生命周期,并且是保证软件质量的重要手段之一。
有些研究数据显示,在国外软件开发的工作量中,软件测试的工作量占有总工作量的40%左右;软件开发的总费用中软件测试占有30%-50%。对于一些高科技开发系统,软件测试占有的时间和费用可能更多更高。
1、软件测试与软件开发
软件测试在项目各个阶段的作用如下:
· 项目规划阶段:负责从单元测试到系统测试的整个测试阶段的监控。
· 需求分析阶段:确定测试需求分析,即确定在项目中需要测试什么,同时制定系统测试计划。
· 概要设计与详细设计阶段:制定单元测试计划和集成测试计划。
· 编码阶段:编写相应的测试代码和测试脚本。
· 测试阶段:执行测试并提交相应的测试报告。
软件测试与软件开发的关系可用下图表示,其中图b为图a的细化。
2、常见软件测试模型
(