测试定义:
定义1:检查一个系统是否符合其需求,同时也试图发现可能会损害系统的成功操作或有用性的错误。
定义2:测试是我们考察并理解与发布的软件系统有关的利益和风险状况的过程。
理解:以前对测试的定义理解比较僵化,一味地追求基于需求的测试,导致工作中遇到没有明确需求或文档的测试项目时一筹莫展。上面定义较全面地说明了测试的范围体现了很强的实用性。
验证和确认(verification&validation)的区别:
验证:我们正确地构造了产品吗?
确认:我们构造了正确的产品吗?
理解:以前接触到验证和确认的概念比较晦涩,区别表述非常模糊,通过上面概念的学习可以非常清楚地明白,验证就是证明在AUT(application under test)的开发过程中采用了好的经验,比如遵循规范的开发过程;确认就是证明AUT必须符合它的正式需求,即基于需求的测试活动。
验收测试:是由任命的用户代表在测试组的指导和监督下执行的。
理解:以前对验收测试的概念比较模糊,尤其是在验收测试过程中用户和测试人员的职责分工问题,上面的概念则非常清晰地说明了各自的职责。
软件测试停止的时机有哪些?
从项目周期看:
1、超出了所分配的测试时间;
2、用尽了分配的测试资源;
3、到达了某一个固定的里程碑(如合同规定的交付日期)。
从测试角度看:
1、测试需求覆盖率;
2、测试代码覆盖率;
3、测试用例度量;
4、缺陷检查度量
理解:熟悉上面的测试停止时机可以非常有效地管理软件测试的生命周期,从测试角度来衡量的一些指标能够更加清晰地说明停止测试可能带来的风险。