感悟生活,感受茶文化

如何发现更深层次的bug?

上一篇 / 下一篇  2008-10-08 16:48:14 / 个人分类:测试技术

本文出自森林一木的51Testing软件测试博客,转载请保留出处及链接:http://www.51testing.com/?2730

看到有位朋友说测试人员应该发现更深层次的bug,没有指出如何做,我这里补充下,不对之处见谅。

在我们日常的测试活动中,单纯的功能界面测试(黑盒测试)发现的缺陷质量不高,即使发现了,也很少能从根本上去定位,这样的bug提交上去,给我们的研发同事修复带来了困难,同时也不利于提高我们自身的能力。这里我介绍一下个人的经验。

1、按照需求说明编写用例,然后严格执行,这个方法最常见。

2、在发现问题后,不要立刻就想着提交bug,应该做下记录,然后自己尝试着去分析这个问题产生的原因,比如看一下源代码,有些问题测试人员是可以自己定位的,只要自己确认了,提交上去的bug质量会更高。比如,执行搜索的时候,输入某个字段值,没有搜出来,查看代码后,发现sql语句并未执行,这时,我们再提交bug,描述里可以具体到那个页面文件,那个源代码,研发同事定位也方便,同事也对我们的技术能力认识上有改变。

3、如果测试环境带有控制平台,比如tomcat,jboss,weblogic等等,都有控制平台,那么我们测试的时候,不仅仅需要关注前台的页面表现,还要看监控平台上的信息日志。有些系统对错误页面做了处理,我们在发现这类问题的时候,顶多将处理过的错误页面写到bug中,根本的原因可能无法得知,其实我们可以利用控制平台获取真正的错误原因,写到bug中。

4、结合数据库进行测试,一般流程性的测试,最重要的就是数据在数据库中的状态变化。比如移动的项目,很多是异步的,光从页面是看不到效果的,所以我们可以结合数据库进行测试,弄清楚数据在数据库中的流转流程,这样才能发现更深层的bug,当然需要我们掌握数据库的使用,尤为重要要的是sql语句。举个例子,进行添加操作的时候,添加完成后没有反应,可能有两种情况,第一,添加根本未成功,第二,添加成功了,没回显出来,那么我们可以通过sql查一下添加的数据,如果数据库中有了,就说明回显出了问题,如果没有,就说明insert 出了问题。

5、可以查看系统的日志检查测试过程中的问题。一切异常都需要关注。


TAG: 测试技术

芦苇的小家 引用 删除 sgfluolei   /   2011-08-05 11:17:57
我们都没有机会接触到代码,也不好意思去找开发要求看看代码.
但是看log和数据库的方法倒是会用到。
芦苇的小家 引用 删除 sgfluolei   /   2011-08-05 11:16:06
3
LIFR: Life Is For Run...? 引用 删除 lifr   /   2008-11-05 15:03:02
一般来说,重现的条件越少,越精确越好,但另一方面,narrow down也需要时间和精力。

qa一定要保持平衡。即要让DEv能比较方面,迅速的重现bug,还要保持测试。

单纯追求bug description的精确度,会影响测试进度。事实是如果dev能重现bug,那么发现root cause的能力和效率dev都是大大高于QA的,因为那就是他们的工作嘛。
森林一木,沧海一粟 引用 删除 森林一木   /   2008-11-05 13:08:21
测试人员有机会接触呀。
引用 删除 wu65942   /   2008-10-29 17:52:10
5
挺好的,但是测试人员有机会接触代码吗?
引用 删除 believe2008   /   2008-10-14 16:40:45
顶一下 有借鉴意义
森林一木,沧海一粟 引用 删除 森林一木   /   2008-10-10 08:40:44
呵呵。楼上可能觉得没有从单元测试、系统架构等角度考虑吧。我这里介绍的只是黑盒测试的方法。
zys3497的个人空间 引用 删除 zys3497   /   2008-10-10 00:51:30
没有深度
 

评分:0

我来说两句

Open Toolbar