软件测试的生命周期
一.什么是软件测试
1.广义的软件测试
在一般人的理解中,软件测试活动通常指的是运行软件进行的测试,即狭义的测试。测试的对象除了程序代码之外,还应该包括软件开发各个阶段的工作产品,例如需求文档、设计文档、用户手册等。因此,传统的软件测试定义(主要关注软件运行过程中对软件对象进行的检查和发现不一致的行为)是一个狭义的概念,实际上这只是正式测试过程的一部分。
2.IEEE给出的定义
而IEEE给出了关于软件测试的标准定义:软件测试是使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验被测软件系统是否满足规定的需求,或是弄清楚被测系统的预期结果与实际结果之间的差别。
二.为什么需要测试
软件测试是软件开发生命周期中关键的质量保证活动之一。实施严格规范的测试有助于发现软件开发过程中不同阶段的缺陷,尽可能在本阶段发现缺陷并予以修改,避免将缺陷带人下一个阶段。缺陷不仅具有雪崩现象(缺陷放大效应),并且发现缺陷越晚,修改缺陷的成本也越高。所以在软件开发过程中,测试应该尽早介入。
软件测试并不止只对功能进行验证,其根本目的是确保软件满足用户需求。可以理解为只要软件系统存在不满足用户的使用需求即存在缺陷,必须解决才能实现软件测试的意义。
三.软件测试的七大基本原则
1.穷尽测试时不可能的
2.测试只能显示缺陷的存在
3.测试应尽早介入
4.缺陷的集群性
5.杀虫剂效应
6.测试活动依赖于测试上下文
7.