软件测试报告写作实战案例——连载:(二)

发表于:2008-5-29 16:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈能技    来源:51Testing软件测试网

三、典型缺陷与Bug模式
        软件开发有设计模式,测试其实也有模式存在,需要测试人员进行总结和归纳。测试人员应从经常出现的Bug中学习,总结出Bug模式,用于指导测试。如果开发人员能关注这些Bug模式,还能起到预防错误的效果。
        要成为典型缺陷,必须满足以下条件:
        重复出现、经常出现;
        能代表某种类型的错误;
        能通过相对固定的测试方法或测试手段来发现这些错误。
        总结这些典型缺陷出现的现象,出现的原因,以及测试方法,就能成为一个Bug模式。

        说明:根据不同的开发平台、开发工具、开发语言、产品类型、采用的架构等,可以总结出不同的Bug模式,不同的Bug模式可能在不同的平台、语言、产品类型中才会出现。测试人员应该总结适合自己项目特点的Bug模式。

        提炼Bug模式的一般步骤如下:
        步骤1:分析缺陷报告,找出经常出现的Bug类型。
        步骤2:分析Bug的根源,找出Bug产生的深层次原因。
        步骤3:分析找到Bug的方法,总结如何才能每次都发现该类型的Bug。
        下面举一个例子来说明这个过程。
        首先,测试人员在分析缺陷报告时发现,有一类Bug经常出现,并且错误现象一致:执行某功能时提示Time Out。
        测试人员与程序员一起分析原因,发现这些错误都是在操作数据库时发生,发送的SQL语句被数据库长时间执行未返回,因此提示Time Out。通过进一步地分析表明,.NET的SqlCommand的CommandTimeOut属性是用于获取或设置在终止执行命令的尝试并生成错误之前的等待时间。等待命令执行的时间(以秒为单位)默认为30s,而数据库操作在较大数据量的情况下一般都超过这个时间,因此会提示超时的错误信息。
        这样就可以把这种类型的Bug归纳为“数据库操作超时Bug模式”。
        那么,如何才能找出这样的Bug呢?一般情况下,这类Bug基本上不会出现,只有数据量足够大时才会出现,因此需要设置大批数据,结合性能测试或压力测试来发现此类问题。也可以通过白盒的方式,查找程序在使用SqlCommand时是否合理地设置了Command TimeOut属性,这样将更有针对性地揭露上述的错误。
        至此就完成了一个Bug模式的归纳、提炼和总结,如果程序员积极地参与到该总结和分析过程中来,则可形成一个良性的反馈,当下次程序员编写相同的程序时就会避免类似的错误发生。
四、测试中的PDCA循环
        PDCA循环是一种放之四海皆准的原则。在软件测试的过程中,也充斥着各种PDCA循环。PDCA循环是一个自我完善和改进的全闭环模型,如图7.34所示,对质量的不断提高和改进非常有效。

  PDCA循环模型

连载一 连载三


本文选自《软件测试大全:测试技术、流行工具、项目实战》,本站经人民邮电出版社和作者的授权,近期将进行部分章节连载,敬请期待!

版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • flybard
    2011-7-07 15:37:34

    不错

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号