软件测试原则

上一篇 / 下一篇  2008-06-04 11:09:39 / 个人分类:理论知识

(本文摘自:软件测试计数与管理 张大方 李玮编著 .如若侵犯了您的版权,请通知我,立即删除)
    软件测试是保证软件的关键元素,代表了规约,设计和编码的最终检查.开发人员与测试人员在工作上是一个互补的关系:开发人员是建设者的角色,视图把抽象概念实现为具体的软件;而测试人员则是破坏者的角色,视图设计和执行测试用例来"摧毁"已建立的软件."摧毁"目的是为了消除潜伏在软件中的错误,以保证质量要求.
    下面是一些知道测试工作的基本原则:
    (1) 应当尽早地和不断地进行软件测试
       不应把软件测试仅仅看作软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段中.坚持在软件开发的各个阶段实施技术评审,才能在开发过程中尽早发现和预防错误.开发过程每前进一步,发现和修复缺陷的平均代价要增长10倍.
    (2) 程序员应避免检查自己的程序
       程序员应避免检查测试自己编写的程序,开发小组也应尽可能避免测试自己小组开发的程序.如果条件允许,最好建立独立的软件测试机构.这点不能与程序的调试(Debuging)混淆.
    (3) 完全测试程序是不可能的
       初涉软件测试者可能认为拿到软件后就可以进行完全测试,找出所有的软件缺陷,并使软件臻于完美.这种想法从工作上来讲,固然很好,不过在测试中,是不现实的;即使最简单的程序也不见得可行,因为:输入量太多,软件实现途径太多.
    (4) 软件测试是有一定风险的行为
       如果不决定去测试所有情况,那就是选择了风险.有可能程序员恰好在这种情况下留下一个软件缺陷,而软件测试员没有对其测试,客户却会用到它,而且可能 发现缺陷.这就将成为修复代价很高的缺陷,因为它直到软件交付时才被客户发现.
       软件测试员要学会一个主要原则是:如何把软件缺陷减少到可以控制的范围,并针对软件缺陷可能带给客户的风险进行分析,寻找最合适的测试量.
    (5) 充分注意测试中的群集现象
       在被测试程序段中,若发现错误数目多,则残存错误数目也比较多.这种错误群集性现象,也为许多程序的测试实践所证实.根据这个规律,应当对错误群集的程序段进行重点测试,以提高测试投资的效益.
    (6) 严格执行测试计划,排除测试的随意性
        测试之前应仔细考虑测试的项目,对每一项测试做出周密的计划,包括被测试程序的功能,输入输出,测试内容,进度安排,资源要求,测试用例的选择,控制方式和过程等;还包括系统的组装方式,跟踪规程,调试规程,回归测试的规定以及评价标准等.对于测试计划,要明确规定,不要随意修改.
    (7) 应当对每一个测试结果进行全面检查
        有些错误的征兆输出实例结果时已明显地表现出来了,但是如果不仔细全面地检查测试结果,就会使这些错误被遗漏掉.所以必须对预期的输出结果明确定义,对全面的结果仔细分析检查,抓住征兆,发现错误.
    (8) 妥善保存测试文档等
        妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便.
    (9) 软件测试的Pareto法则(8:2):
  • 20%的模块产生80%的缺陷;
  • 20%的缺陷消耗80%的维护费用;
  • 20%的原因导致了80%的缺陷.
    (10) 并非所有的软件缺陷都能修复
       在软件测试过程中,即使拼尽权力,也不能修复所有的缺陷.这并不以为着软件测试员未达到目的,或者项目小组将发布质量欠佳的产品.测试人员应进行正确的判断,弄清什么情况下不能追求完美.项目小组需要对每一个缺陷进行取舍,根据风险决定那些需要修复,哪些不需要.
       不需要修复所有缺陷的原因如下:
  • 没有足够的时间.在任何一个项目中,通常是软件功能多或者交付产品时间短,而代码编写人员和软件测试人员少,而且在项目进度中没有为软件测试和修改缺陷留出足够的时间.
  • 修复风险太大.这种情形很常见.软件本身不脆弱的,难以理清头绪.修复一个软件缺陷可能 导致其它缺陷出现.在紧迫的产品发布进度压力下,修改软件将冒很大的风险.
  • 不值得修复.不常出现的软件缺陷和在不常用功能中出现的缺陷可能 放过,可能躲过和用户有办法预防或避免的软件缺陷通常不用修复.这些都可以归结为商业风险决策.决策过程通常由软件测试员,项目管理员,开发人员和营销人员共同参与.
    (11) Bug的80%原则
       一般情况下,在分析,设计,实验阶段的复审和测试工作能够发现和避免80%的Bug,而系统的软件测试能够找出其余Bug中80%,最后约5%的bug只有在用户长期的使用过程中才能发现.因此测试只能保证尽可能发现错误,不可能保证风险所有错误.
    (12) 软件测试在项目小组中的处事原则
       软件测试员的任务是检查和指正同事的工作,挑毛病,公布发现的问题,这项工作是不受欢迎的.下面是保证小组开发人员和睦相处的建议:
  • 尽早找出软件缺陷
  • 控制情绪.诚然,软件测试员真心喜爱自己的工作,当发现严重的软件缺陷时会很兴奋;但是如果兴冲冲地闯进开发人员的房间并当着其它同事的面告诉程序中存在的严重的缺陷时,他会很反感的.可以通过邮件或管理软件的方法通知开发人员.
  • 不要总报告坏消息.
      

   
 

TAG: 理论知识

xinfeixiwen007的个人空间 引用 删除 xinfeixiwen007   /   2013-03-06 13:14:59
1
 

评分:0

我来说两句

日历

« 2024-05-15  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 9424
  • 日志数: 5
  • 建立时间: 2008-05-22
  • 更新时间: 2008-06-04

RSS订阅

Open Toolbar