3.2.3 远程调试服务工具
经常有一些BUG,在测试人员的电脑上能重现,但在开发的电脑上却无法重现,这时候就需要用到远程调试。因此测试人员最好能准备一个远程调试服务的工具,方便开发人员调试。
当然,如果能装个VC,就更好了,^_^。
装了VC,有好处也有坏处。好处是调试方便,坏处是装了VC,或许会破坏系统的一些条件,使电脑和用户的电脑差异加大,反而可能有些BUG会测不出来。
3.2.4 关于工具
除了上面列出的工具,还有其他很多工具都可以提高效率。平常工作中可以多留意,多收集一些工具。
一般当你认为某件事情干起来很麻烦,很费力的时候,就应该去找一下有没有类似的工具。因为这件事情如果你认为干起来很麻烦,别人一定也会觉得很麻烦,如果觉得麻烦的人多了,就一定会有解决这种问题的工具出现,所以一般情况都是可以找到工具的。
如果实在找不到,可以请开发的同事在有时间的时候帮忙做一个,如果不是很难的话,一般开发的同事都会乐于做这样的工具的。
3.3 排除绝不可能的因素
“除去不可能的剩下的即使再不可能,那也是真相。”
---- 夏洛克.福尔摩斯
这是福尔摩斯经常说的一句话,这句话用在测试上非常具有指导意义。
线索太多的时候,会产生干扰,因此必须要适当的抛弃一些因素。把一些显然不可能的和因素过滤掉,再把可以证明是不可能的因素也过滤掉,那么真相一定会在剩下的线索中。只要着重对剩下的线索进行分析、研究,一定可以找到真相。
在软件中,一般很少会出现两条以上线索共同起作用的情况,如果真的是两条线索都起作用,那说明这个软件写的实在是有点问题。所以当排除掉一些绝不可能的因素和被证明不可能的因素之后,对于剩下的线索,一条一条地去试。每试一条线索的时候,可以假设剩下的线索没有问题。一条不行再换另一条再试,所有线索都试过,BUG的产生原因基本上也找出来了。
当然,所谓绝对不可能这个说法是不准确的,在软件里面,完全绝对是不可能的。所以这里的绝对不可能,应该是说在某些条件下相对的不可能。
这里列出一些常见的“绝对”不可能的因素,仅供参考
3.3.1 进程之间的相互影响
绝大多数情况下,除非特别设计,否则两个进程之间是不会互相影响的(当然有极个别情况也还是可能会有影响的)。因此在测试过程中,很多两个进程之间互相切换,或者窗口互相遮盖时候出现的问题,基本上是可以排除两个进程之间的影响。有的BUG发生的时候,正好两个进程的窗口互相遮盖,这时候基本上不用怀疑两个进程互相影响,真相九成九是因为在窗口互相遮盖的时候,正好发生了别的事情。
3.3.2 正常拖动窗口(包括移动窗口位置,改变窗口大小)
拖动窗口本身的逻辑,是不太可能出问题的,如果在拖动窗口的过程中出现了某些异常,一定是在拖动窗口过程中发生了某件事情。这些时候可以通过查看日志等方式,查看出问题的时候发生了什么问题,并重复这个过程确认是否是这个问题。
3.3.3 正常情况下,电脑总是比人快
正常情况下,在同步操作中,电脑总是比人快。在一般情况下,没有必要试图通过快速地点击鼠标或者敲击键盘的方法来找到BUG。
事实上,很多在快速点击鼠标或敲击键盘中出现的BUG,实际上和这两个条件都是无关的,真正原因经常都是在做这些动作的时候,发生了另外的事情。有时候可能通过查看日志会更有效果。