1 软件测试目的
测试的目的就是以最少的时间和人力找出软件中潜在的各种错误和缺陷,证明软件的功能和性能与需求说明相符, Glenford J.Myers 曾提出以下观点:
测试是为了证明程序有错,而不是证明程序无错误
一个好的测试用例能发现至今未发现的错误
一个成功的测试是发现了至今未发现的错误
软件测试的目的往往包含以下内容:
测试并不仅仅是为了找出错误,通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进
测试帮助测试人员设计有针对性的测试方法,改善测试的效率和有效性
没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法
2 软件测试的原则
软件测试是证伪而非证真
尽早地和不断地进行软件测试
重视无效数据和非预期的测试
应当对每一个测试结果做全面检查
测试现场保护和资料归档
程序员应避免检查自己的程序
充分注意测试中的群集现象
用例要定期评审
3 软件测试分类
3.1 按测试阶段划分
可以分为:
单元测试:用于检验被测代码的一个很小的、明确的功能是否正确
集成测试:对经过单元测试的模块之间的依赖接口的关系图进行测试
确认测试:用于验证软件的有效性
系统测试:将整个软件系统与计算机硬件、外设、支持软件、数据、人员等其他系统元素结合起来进行测试
验收测试:最终用户参与测试的过程
3.2 按执行状态划分
可以分为:
动态