功能测试中遇到不可重现软件缺陷的解决策略

测试人 员提交软件缺陷报告后,最不希望看到的这些缺陷被开发人员忽略,尽管你坚信这一定是软件缺陷,而罪魁祸首就是这些缺陷不可重现!一旦出现这样的情况,测试 人员会很被动,开发人员也会对测试人员有意见。这就使得关系本来就不怎么融洽的测试人员和开发人员之间的关系更加紧张;对于整个时间紧凑的项目来说,无异 于是火上浇油。为了减少这种尴尬情况的出现,非常有必要分析一下软件缺陷不能重现的原因。

  1. 测试环境不一致

  从广义上来说,保证或影响软件的任何因素都是环境,例如,系统的构造版本、应用服务器的类型和版本、浏览器的语音和版本等。

  以下就是我们会遇见的错误:某个B/S(Web应用)架构的系统软件运行于IE8上,出现了JS(Java Script)脚本错误导致页面浏览异常的软件缺陷,把IE8降级到IE6或7后,此软件缺陷就自动消失了。

  2. 测试配置不一致

  程序运行都是基于一定的配置条件下进行的,包括被测系统参数设置、基础数据完整性、业务流程完整性等,比如,我们曾经在某数据库产品测试过程中,由于在安装界面中选择了非默认路径进行安装,结果导致该数据库物理备份会恢复功能出错,而对方在核对缺陷时按照默认路径进行了安装,因此缺陷总是无法重现。

  3. 内存泄露

  某些系统长期运行后出现速度慢的原因是开发人员未养成回收内存的习惯。这类错误在短期内不会出现,但当系统长期运行时就会出现,并且由此会引发一系列的问题。

  4. 数据接口不匹配

  一般只有在查看源代码后才能发现。某些类型的数据会被系统自动转换,有些数据被截断或被强制转换成另外一种数据类型时,会出现一些潜在的错误。

  基于以上测试过程中出现的软件缺陷不能重现的原因,我们提出如下一些解决策略,以更好地从源头上减少不可重现软件缺陷的出现。

  1. 测试环境配置充分细致

  测试人员在测试前,严格核对系统的运行环境配置要求,并充分考虑系统在线运行后的环境变化,做好测试环境配置的全面规划,注意细节。另外可以使用Ghost对硬件或某个分区进行镜像备份。

  2. 捕获系统日志,分析异常信息

  测试人员应养成记录系统错误日志的习惯,保留系统在出错时的真实状态。比如将IE浏览器高级选项设置为“显示每个脚本错误的通知”。

  3. 监测系统状态,异常及时告警

  在实施系统测试过程中,我们必须充分关注系统运行状态的变化,一旦系统运行状态发生较大的波动,势必会对后期的业务执行带来较大的影响。因此,系统运行监测的一个重要内容是需要及时反馈系统运行异常,并提供异常报告。

  4. 测试数据翔实,易于追溯

  测试数据是软件测试的 核心,很多情况下,测试人员为了缩短测试周期,在实际测试前并没有充分编写足够的测试数据,也没有记录这些测试数据的执行顺序和运行轨迹,一旦程序在某个 节点出现问题,我们无法判断其产生的过程和引起这个缺陷的具体测试数据,对我们进一步分析软件缺陷产生的原因会造成一些不必要的障碍。

  正是基于此我们强调在软件测试开始前,我们必须制定完整的测试用例,辅以详细的测试数据,并明确测试数据的操作步骤和每一步的预期结果,这样,一旦软件出现问题,我们可以很快进行重现和定位。

附录1:常用正交表

(1)L4(23


列号

1

2

3

试验号

1

1

1

1

2

1

2

2

3

2

1

2

4

2

2

1

(2)L8(27)


列号

1

2

3

4

5

6

7

试验号

1

1

1

1

1

1

1

1

2

1

1

1

2

2

2

2

3

1

2

2

1

1

2

2

4

1

2

2

2

2

1

1

5

2

1

2

1

2

1

2

6

2

1

2

2

1

2

1

7

2

2

1

1

2

2

1

8

2

2

1

2

1

1

2

(3)L12(211)


列号

1

2

3

4

5

6

7

8

9

10

11

试验号

1

1

1

1

1

1

1

1

1

1

1

1

2

1

1

1

1

1

2

2

2

2

2

2

3

1

1

2

2

2

1

1

1

2

2

2

4

1

2

1

2

2

1

2

2

1

1

2

5

1

2

2

1

2

2

1

2

1

2

1

6

1

2

2

2

1

2

2

1

2

1

1

7

2

1

2

2

1

1

2

2

1

2

1

8

2

1

2

1

2

2

2

1

1

1

2

9

2

1

1

2

2

2

1

2

2

1

1

10

2

2

2

1

1

1

1

2

2

1

2

11

2

2

1

2

1

2

1

1

1

2

2

12

2

2

1

1

2

1

2

1

2

2

1

 

(4)L9(34


列号

1

2

3

4

试验号

1

1

1

1

1

2

1

2

2

2

3

1

3

3

3

4

2

1

2

3

5

2

2

3

1

6

2

3

1

2

7

3

1

3

2

8

3

2

1

3

9

3

3

2

1

(5)L16(45


列号

1

2

3

4

5

试验号

1

1

1

1

1

1

2

1

2

2

2

2

3

1

3

3

3

3

4

1

4

4

4

4

5

2

1

2

3

4

6

2

2

1

4

3

7

2

3

4

1

2

8

2

4

3

2

1

9

3

1

3

4

2

10

3

2

4

3

1

11

3

3

1

2

4

12

3

4

2

1

3

13

4

1

4

2

3

14

4

2

3

1

4

15

4

3

2

4

1

16

4

4

1

3

2

(6)L25(56


列号

1

2

3

4

5

6

试验号

1

1

1

1

1

1

1

2

1

2

2

2

2

2

3

1

3

3

3

3

3

4

1

4

4

4

4

4

5

1

5

5

5

5

5

6

2

1

2

3

4

5

7

2

2

3

4

5

1

8

2

3

4

5

1

2

9

2

4

5

1

2

3

10

2

5

1

2

3

4

11

3

1

3

5

2

4

12

3

2

4

1

3

5

13

3

3

5

2

4

1

14

3

4

1

3

5

2

15

3

5

2

4

1

3

16

4

1

4

2

5

3

17

4

2

5

3

1

4

18

4

3

1

4

2

5

19

4

4

2

5

3

1

20

4

5

3

1

4

2

21

5

1

5

4

3

2

22

5

2

1

5

4

3

23

5

3

2

1

5

4

24

5

4

3

2

1

5

25

5

5

4

3

2

1

(7)L8(4×24


列号

1

2

3

4

5

实验号

1

1

1

1

1

1

2

1

2

2

2

2

3

2

1

1

2

2

4

2

2

2

1

1

5

3

1

2

1

2

6

3

2

1

2

1

7

4

1

2

2

1

8

4

2

1

1

2

(8)L12(3×24


列号

1

2

3

4

5

试验号

1

1

1

1

1

1

2

1

1

1

2

2

3

1

2

2

1

2

4

1

2

2

2

1

5

2

1

2

1

1

6

2

1

2

2

2

7

2

2

1

2

2

8

2

2

1

2

2

9

3

1

2

1

2

10

3

1

1

2

1

11

3

2

1

1

2

12

3

2

2

2

1

(9)L16(44×23


列号

1

2

3

4

5

6

7

试验号

1

1

1

1

1

1

1

1

2

1

2

2

2

1

2

2

3

1

3

3

3

2

1

2

4

1

4

4

4

2

2

1

5

2

1

2

3

2

2

1

6

2

2

1

4

2

1

2

7

2

3

4

1

1

2

2

8

2

4

3

2

1

1

1

9

3

1

3

4

1

2

2

10

3

2

4

3

1

1

1

11

3

3

1

2

2

2

1

12

3

4

2

1

2

1

2

13

4

1

4

2

2

1

2

14

4

2

3

1

2

2

1

15

4

3

2

4

1

1

1

16

4

4

1

3

1

2

2

 

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-11-01 12:59:06

功能测试中遇到不可重现软件缺陷的解决策略的相关文章

win8.1系统在程序或软件中输入文字变成问号怎么解决?

    win8.1系统在程序或软件中输入文字变成问号怎么解决?: 1.点击控制面板,然后将除自己使用的中文输入之外的其他语言.输入法等先全部删除; 2.然后再试一下,如果可以输入中文了,可适当添加一下"英语(美国)"即可. windows7教程 windows8教程 windows10教程

Java 编程技术中汉字问题的分析及解决(转)

编程|汉字|解决|问题 Java 编程技术中汉字问题的分析及解决 段明辉自由撰稿人2000 年 11月 8日内容: 汉字编码的常识 Java 中文问题的初步认识 Java 中文问题的表层分析及处理 Java 中文问题的根源分析及解决 Java Servlet 中文问题的根源 修改 Servlet.jar 中文乱码的处理函数 参考资料 作者简介在基于 Java 语言的编程中,我们经常碰到汉字的处理及显示的问题.一大堆看不懂的乱码肯定不是我们愿意看到的显示效果,怎样才能够让那些汉字正确显示呢?Jav

Java 编程技术中汉字问题的分析及解决(转自IBM)

编程|汉字|解决|问题 Java 编程技术中汉字问题的分析及解决 段明辉自由撰稿人2000 年 11月 8日 在基于 Java 语言的编程中,我们经常碰到汉字的处理及显示的问题.一大堆看不懂的乱码肯定不是我们愿意看到的显示效果,怎样才能够让那些汉字正确显示呢?Java 语言默认的编码方式是UNICODE ,而我们中国人通常使用的文件和数据库都是基于 GB2312 或者 BIG5 等方式编码的,怎样才能够恰当地选择汉字编码方式并正确地处理汉字的编码呢?本文将从汉字编码的常识入手,结合 Java 编

C#中ArrayList.CopyTo()运行错误的解决方法

在开始讲解C#中ArrayList.CopyTo()运行错误的解决方法之前,先给大家看一段代码: 以下是引用片段: ArrayList list = new ArrayList(); list.Add(1); list.Add(2); byte[] buf = new byte[2]; list.CopyTo(buf); 这段代码看上去,好正常,编译也很顺利通过,不过执行的时候出错了,为什么? 解剖ArrayList,其内部是用一个object 数组实现的,作为一切元素的容器,值类型必须转换成引

centos系统中VPS忘记密码该如何解决?

  centos系统中VPS忘记密码该如何解决?          下面我就随便拿一个VPS来测试,本文以CentOS5.*系统为例,分别在2台KVM架构VPS上测试,他们是:XSVPS.COM(堪萨斯)和VPSPLAZA.COM(新加坡) 假设我们忘记了root密码,首先,登陆到SolusVM管理面板,我们先执行重启,然后VNC连接上去. 可以直接在面板中点击VNC按钮,也可以记录VNC信息后使用工具,我这里直接后台执行. 注意上面这一步,重启了就立马去VNC,动作稍快点,因为这个启动菜单很快

Word文档中出现打字覆盖问题的解决方法

  Word文档中出现打字覆盖问题的解决方法          其实出现打字覆盖的根本原因是:Word进入了改写模式!有可能在无意中按下了Insert键,使得Word进入了这种模式.而只要将Word调回插入模式,就可以恢复正常了!再次按下Insert键就能达到这种效果哦!当 下图中的Word就是正常的,因为它下面的状态栏中显示出现在是"插入"模式! 方法一:快捷键 将光标定位在Word文档中,然后按下位于键盘右侧的Ins键或者Insert键即可. 方法二:状态栏 1.打开状态栏中的&q

excel单元格中格式太多该怎么解决?

  excel单元格中格式太多该怎么解决?          1.单元格合并居中和对齐: 在Excel种,单元格的合并,居中,对齐是最常见的格式处理,一般在表头或表尾,都采用合并居中对齐的方式,如何居中对齐,选中单元格,点击菜单栏的合并居中并对其,如图: 2.单元格显示表格打印线: Excel默认情况下在软件内显示灰色的边框,但是在打印出来的时候是没有的.选中需要边框的单元格,鼠标右键设置单元格格式,选择内外边框,如图:(可以根据自己需求,直选中内部或直选中外部). 3.批量对齐: 在一列或者一

在网络属性对话框中找不到Wireless选项卡解决

  在网络属性对话框中找不到Wireless选项卡解决 一位客户按照第三方(HH)提供的WIFI操作文档进行WIFI功能验证,将WIFI所需的dll编入XIP内核后, 进入WINCE系统,点开网络连接小图标的属性对话框,却没有看到Wireless信息选项卡,理想的情况 如下图所示: 其原因为没有添加WirelessLAN(802.11)ST-Automatic选项,如下图所示:

XP系统中无法安装新字体怎么解决?

  XP系统中无法安装新字体怎么解决?          一直来用的XP好好的,不过早些天,北极鱼也算是终于出RPWT了:自己的XP系统出了点问题,导致字体安装不上,欲安装字体,将字体复制到C:WINDOWSFonts时,没有弹出"安装新字体"的提示,以至复制进文件夹的字体无法使用,C:WINDOWSFonts下的文件菜单里也没有"安装新字体"选项,,可能很多朋友也曾经遇到过这样的情况吧? 当时第一个反应就是google和baidu.可是搜索结果要么是98系统的解决