在软件消亡以前,若是没有测试的结束点,那么软件测试就永无休止,永远不可能结束。软件测试的结束点,要依据本身公司具体状况来制定,不能一律而论!我的认为测试结束点由如下几个条件决定:
1.基于“测试阶段”的原则:
每一个软件的测试通常都要通过单元测试、集成测试、系统测试这几个阶段,咱们能够分别对单元测试、集成测试和系统测试制定详细的测试结束点。每一个测试阶段符合结束标准后,再进行后面一个阶段的测试。举个例子来讲:单元测试,咱们要求测试结束点必须知足“核心代码100%通过Code Review”、“功能覆盖率达到100%”、“代码行覆盖率不低于80%”、“不存在A、B类缺陷”、“全部发现缺陷至少60%都归入缺陷追踪系统且各级缺陷修复率达到标准”等等标准。集成测试和系统测试的结束点都制定相关的结束标准,固然也是如此。
2.基于“测试用例”的原则:
测试设计人员设计测试用例,并请项目组成员参与评审,测试用例一旦评审经过,后面测试时,就能够做为测试结束的一个参考标准。好比说在测试过程当中,若是发现测试用例经过率过低,能够拒绝继续测试,待开发人员修复后再继续。在功能测试用例经过率达到100%,非功能性测试用例达到95%以上,容许正常结束测试。可是使用该原则做为测试结束点时,把握好测试用例的质量,很是关键。
3.基于“缺陷收敛趋势”的原则:
软件测试的生命周期中随着测试时间的推移,测试发现的缺陷图线,首先成逐渐上升趋势,而后测试到必定阶段,缺陷又成降低趋势,直到发现的缺陷几乎为零或者很难发现缺陷为止。咱们能够经过缺陷的趋势图线的走向,来定测试是否能够结束,这也是一个断定标准。
4.基于“缺陷修复率”的原则:
软件缺陷在测试生命周期中咱们分红几个严重等级,它们分别是:严重错误、主要错误、次要错误、通常错误、较小错误和测试建议6种。那咱们在肯定测试结束点时,严重错误和主要错误的缺陷修复率必须达到100%,不容许存在功能性的错误;次要错误和通常错误的缺陷修复率必须达到85%以上,容许存在少许功能缺陷,后面版本解决;对于较小错误的缺陷修复率最好达到60%~70%以上。对于测试建议的问题,能够暂时不用修改。
5.基于“验收测试”的原则:
不少公司都是作项目软件,若是这种要肯定测试结束点,最好测试到必定阶段,达到或接近测试部门指定的标准后,就递交用户作验收测试。若是经过用户的测试验收,就能够当即终止测试部门的测试;若是客户验收测试时,发现了部分缺陷,就能够针对性的修改缺陷后,验证经过后递交客户,相应测试也能够结束。
6.基于“覆盖率”的原则:
对于测试“覆盖率”的原则,我的觉的只要测试用例的“覆盖率”覆盖了客户提出所有的软件需求,包括行业隐性需求、功能需求和性能需求等等,只要测试用例执行的覆盖率达到100%,基本上测试就能够结束。如“单元测试中语句覆盖率最低不能小于80%”、“测试用例执行覆盖率应达到100%”和“测试需求覆盖率应达到100%”均可以做为结束肯定点。若是你不放心,非得要看看测试用例的执行效果,检查是否有用例被漏执行的状况,能够对经常使用的功能进行“抽样测试 ”和“随机测试”。对于覆盖率在单元测试、集成测试和系统测试,每一个阶段都不能忽略。工具
7.基于“项目计划”的原则:
大多数状况下,每一个项目从开始就要编写开发和测试的Schedule,相应的在测试计划中也会对应每一个里程碑,对测试进度和测试结束点作一个限制,通常来讲都要和项目组成员(开发,管理,测试,市场,销售人员)达成共识,团队集体赞成后制定一个标准结束点。若是项目的某个环节延迟了,测试时间就相应缩短。大多数状况下是全部规定的测试内容和回归测试都已经运行完成,就能够做为一个结束点。不少不规范的软件公司,都是把项目计划做为一个测试结束点,可是若是把它做为一个结束点,测试风险较大,软件质量很可贵到保证。
8.基于“缺陷度量”的原则:
这个原则也许你们用的不是不少,了解比较少。咱们能够对已经发现的缺陷,运用经常使用的缺陷分析技术和缺陷分析工具,用图表统计出来,方便查阅,分时间段对缺陷进行度量。我记得之前zhuzx在这个论坛上提出过缺陷分析技术这个问题,我再也不重复讲述。咱们也能够把 “测试期缺陷密度”和 “运行期缺陷密度”做为一个结束点。固然,最合适的测试结束的准则应该是“缺陷数控制在一个能够接受的范围内”。
好比说:一万行代码最多容许存在多少个什么严重等级的错误,这样比较好量化,比较好实施,成为测试缺陷度量的主流。
9.基于“质量成本”的原则:
一个软件每每要从“质量/成本/进度”三方面取得平衡后就中止。至于这三方面哪一项占主要地位,就要看是什么软件了。好比说是:人命关天的航天航空软件, 那仍是质量重要些,就算多花点钱、推迟一下进度,也要测试能保证较高质量之后才能终止测试,发布版本。若是是通常的经常使用软件,因为利益和市场的缘由,哪怕有bug,也必须得先推出产品,没办法呀。通常来讲,最主要的参考依据是:“把找到缺陷耗费的代价和这个缺陷可能致使的损失作一个均衡”。具体操做的时候,能够根据公司实际状况来定义什么样的状况下算是“测试花费的代价最划算、最合理”,同时保证公司利益最大化。若是找到bug的成本比,用户发现bug 的成本还高,也能够终止测试。
10.基于“测试行业经验”的原则:
不少状况下,测试行业的一些经验,也能够为咱们的测试提供借鉴。好比说测试人员对行业业务的熟悉程度,测试人员的工做能力,测试的工做效率等等都会影响到整个测试计划的执行。若是一个测试团队中,每一个人都没有项目行业经验数据积累,拿到一个新的项目,天然是一头雾水,不知道从何处开始,测试质量天然不会很高。所以经过测试者的经验,对确认测试执行和结束点也会起到关键性的做用。性能