宣言的测试家园

优秀是一种习惯
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

浅谈软件测试概率性问题 

Posted on 2007-12-20 15:43  宣言  阅读(1584)  评论(1编辑  收藏  举报

 

软件测试中常见的一个问题就是概率性问题,概率性问题无论对软件测试人员还是对开发人员而言都是比较头疼的一个问题。这种概率性问题在测试中该如何处理呢?

 

首先,概率性问题也是问题,这种我们千万不能一笑而过,在这种情况下测试人员要将这些问题记录下来,多做测试,看能否找出问题产生的规律。

 

其次,我们要对所出现的问题进行评估,看这种问题的严重性,如果是比较轻微的问题,对用户使用没什么影响,也不会影响到软件其他方面正常工作,那在这种情况下如果开发人员很随手就可修改的话,那就进行修改;如果修该起来耗时耗力的话,则可征得有关人员同意后进行keep.

再者,对于比较严重的概率性问题,如死机、系统崩溃等情况,在记录下问题的同时要及时通知相关开发人员,测试人员和开发人员商量解决如何再现并最终解决问题。对于这样的问题一定不能放过,记得以前在给佳能做传真机测试的时候,遇到一个出现系统自动重起的问题,结果为了抓这个问题,几个测试人员专门盯着这个问题反复的测试,为了这个问题整整测了一个星期,好在问题最后得以解决。

 

第四,有些问题用语言文字描述可能很难描述清楚,对于这样的问题,测试人员再进行描述的时候,有条件的话可以抓图和提供测试log.当然,如果有再现的话,最好通知开发人员,让开发人员确认问题的现象,毕竟百闻不如一见!

 

第五,概率性问题产生的原因可能是累积性问题,是一系列复杂操作引起的,而有些可能是时间点的问题,只有在某个瞬间进行操作才能出现,过了那个时间点进行操作时就不会出现问题,这样的问题测试人员在测试时和记录时都要注意采取合适的测试策略。

 

第六,有些概率性可能和测试人员的操作习惯有关,一个测试人员测试出的问题有时候即使描述的很详细,让另一个测试人员来测,可能都很难发现问题,所以概率性的问题在解决之后最好由相关测试人员进行验证。

 

第七,对于在一些难以重现的比较严重的概率性问题,有关测试人员还可以大范围的搜集相关信息,如可以群发消息询问其他测试人员或者产品试用人员,看他们在测试过程中有没有出现有关现象,搜集的信息越多越容易分析出问题的规律、原因,这样也便于开发人员解决问题。

 

第八,实际测试中,你会发现很多所谓概率性问题,经过反复、测试验证,还是能够找到一定规律的,只要按照有关操作进行,都可以百分之百出现。所以,概率性问题还是尽量分析原因、找规律,必要时做个专项验证测试。

 

第九,对于一些让开发人员也束手无策的难以再现的问题,这种情况下可以使用带trace的版本进行测试,再现时直接分析相应的log记录。当然这些都属于开发人员解决问题方式方法范畴,相信他们都有自己独到之处,在此就不班门弄斧了。

说了那么多,最后给出一个概率性问题专项测试的例子。

 

概率性问题测试分析实例:

 

测试背景:

项目为一款手机产品,在测试中遇到一个概率性问题:播放TV的时候来电,有的手机会出现重启动的问题,有的手机却没有遇到该问题,由于问题比较严重,所以,针对此问题做了专项验证。

以下有关测试记录:

XXX项目平台版本TV播放状态下来电专项测试

摘要

TV播放状态下来电,会出现无法接起来电的情况

测试方法

预置条件:
蓝牙相关
操作步骤:
1.测试机XXX进入TV播放状态;
2.
来电;
预期结果:
手机正常响应来电,不会出现重启等异常问题

XXX TV播放状态来电测试记录

 

1

2

3

4

5

6

7

8

9

10

手机和蓝牙耳机连接状态下,进行播放TV时来电测试,结果如下

0

P

P

P

P

P

P

P

P

P

P

1

P

P

P

P

P

P

P

P

P

P

2

P

P

P

P

P

P

P

P

P

P

3

P

P

P

P

P

P

P

P

P

P

4

P

P

P

P

P

P

P

P

P

P

5

P

P

P

P

P

P

P

P

P

P

6

P

P

P

P

P

P

P

P

P

P

此时使用蓝牙耳机重拨,手机重启.蓝牙不和手机连接,继续测试播放TV时来电,结果如下

7

R

P

P

P

R

P

P

P

P

P

8

P

R

R

P

P

P

P

P

P

P

9

P

P

P

R

P

R

P

P

P

R

10

P

R

P

P

P

P

P

P

P

P

此时拔去手机电池,重新开机,进行播放TV时来电测试,结果如下

11

P

P

P

P

P

P

P

P

P

P

12

P

P

P

P

P

P

P

P

P

P

13

P

P

P

P

P

P

P

P

P

P

14

P

P

P

P

P

P

P

P

P

P

15

P

P

P

P

P

P

P

P

P

P

使用蓝牙耳机发起连接,手机和蓝牙耳机处于连接状态,然后进行播放TV时来电测试,结果如下

16

P

P

P

P

P

P

P

P

P

P

17

P

P

P

P

P

P

P

P

P

P

18

P

P

P

P

P

P

P

P

P

P

19

P

P

P

P

P

P

P

P

P

P

20

P

P

P

P

P

P

P

P

P

P

上面50次还是没有出现重启的现象,接下来使用蓝牙耳机重播,让手机重启,然后再进行TV播放状态下来电测试(手机不和蓝牙耳机连接),记录如下

21

R

P

R

R

P

R

P

P

P

P

22

P

P

P

P

P

P

P

P

P

P

23

P

P

P

P

P

P

P

P

R

R

此时拔去手机电池,重新开机,进行播放TV时来电测试,结果如下

24

P

P

P

P

P

P

P

P

P

P

25

P

P

P

P

P

P

P

P

P

P

26

P

P

P

P

P

P

P

P

P

P

以上30次未出现重启问题.然后连接蓝牙耳机,通过蓝牙耳机重拨,使得手机重启.重启后,进入TV播放状态,进行来电测试(蓝牙未连接),记录如下

27

P

R

P

P

P

P

P

P

P

P

28

P

R

R

P

P

P

P

P

R

P

连接蓝牙耳机,使蓝牙耳机重拨,手机重启,重启后关闭蓝牙,然后进行播放TV时来电测试,记录如下

29

F

R

P

P

P

R

P

P

P

P

30

P

P

P

F

F

F

P

R

F

F

上面20次出现3次重启现象,6次没收到回铃音自动挂断对方来电问题.
(没有收到回铃音的问题前面测试也有遇到,有些没有统计)

说明

测试版本:XXX
语言设置:/
测试者:XXX
测试日期:2007-12-11
硬件:#1

测试小结

通过上面几轮测试知,TV播放时来电重启问题和前面进行的使用蓝牙耳机重拨导致的手机重启问题有关。
1.播放TV时蓝牙耳机重拨导致手机重启,手机重启后进行播放TV时来电操作,会出现重启现象(和蓝牙开启关闭无关).概率:21/110;
2.
播放TV时蓝牙耳机重播导致手机重启后,将手机电池拔去,再重新开机进入TV播放状态,TV播放状态下来电,不管蓝牙是否连接,手机均不会重启动,包括刚开始阶段的测试共200次,未出现重启现象.

3.使用蓝牙耳机重拨,导致手机重启后,关机(不拔电池),重启后进入TV播放状太下来电,结果:播放TV时来电仍然会出现自动重启的问题。概率:4/20

4.出现播放TV时来电自动重启的问题,拔去电池后再开机可以恢复,如果不拔电池进行重启,不能恢复。(当然这个结论仍然需要再使用大量测试进行证实,经后来很多次测试证实,结论成立!

 

注:

1.      根据上面测试得出的结论,后来又做了一些验证,进一步证实了结论的正确性。

2.      上面测试中还发现一个播放TV时来电时,有时候会出现呼叫方听不到回铃音,之后电话便自动被挂断的概率性问题。另行处理!

概率性问题测试注意事项:

1.         概率性问题是很让人很让人头疼,但有必须面对,在测试时一定要注意做好记录,包括第第几次出现的,清晰明确的测试记录对我们分析问题很有意义!

2.        如果实际测试10,有两此出现问题,那么在做概率记录时,应该写为2/10,而不要自作聪明的写为1/5或者20%.

3.   使用醒目的颜色标准来区别不同的测试记录能够让人一目了然,建议使用(对问题项还有一些批注在此显示不出来,实际Excel文档中建议使用)

4. 做概率性问题验证测试的确很麻烦,如果只因为怕麻烦而不想做的话,那么建议你去开公司当老板或者改行(读hang! ^-^