软件功能性测试常见故障分析

官方账号 2019-05-2406:21:10功能测试评论583字数 1638阅读5分27秒阅读模式

测试的目标是要发现错误,因此在编写测试用例的时候也要遵循这个目标,尽量在软件的最薄弱环节多编写测试用例文章源自玩技e族-https://www.playezu.com/17393.html

虽然测试时有很多单个输入变量、多个输入变量的组合,但优秀的软件测试人员不会依靠运气,他们有着丰富的经验和直觉,可以从中找到哪些是需要进行测试的,哪些不需要测试,哪些操作可能会引起软件失效。文章源自玩技e族-https://www.playezu.com/17393.html

把这些测试人员的经验和直觉尽量归纳和固化,就形成了一些故障模型。故障模型指明了故障是如何以及为什么会在软件执行时引起软件失效。在测试过程中,我们可以按照这些故障模型所提供的缺陷类型和寻找该类缺陷的方法找到尽量多的缺陷。文章源自玩技e族-https://www.playezu.com/17393.html

 文章源自玩技e族-https://www.playezu.com/17393.html

常见故障分析如下:文章源自玩技e族-https://www.playezu.com/17393.html

  1、输入非法数据文章源自玩技e族-https://www.playezu.com/17393.html

  1.1 缺陷产生原因文章源自玩技e族-https://www.playezu.com/17393.html

  开发人员通常用以下3种技术来处理非法输入:文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 防止不正确的输入进入被测软件。过滤掉不正确的输入,只允许合法输入通过界面。文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 输入了不正确的数据后,软件提示错误信息,拒绝不正确的输入。文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 允许不正确的输入进入系统并进行处理,软件失效时调用异常处理程序,显示一些错误信息。文章源自玩技e族-https://www.playezu.com/17393.html

  可见开发人员除了编写主要的功能代码外,还必须编写对非法输入的检查代码,这些代码经常被遗忘,或者编写完这部分代码后,开发人员很少认真检查,导致处理非法输入经常出错。文章源自玩技e族-https://www.playezu.com/17393.html

  1.2 如何发现这类问题文章源自玩技e族-https://www.playezu.com/17393.html

  进行测试时从输入值的属性出发,一般考虑以下三点:文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 输入类型:键入无效的类型常会产生错误信息。文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 输入长度:对于字符型,键入太多的字符常会引出错误信息。文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 边界值:输入边界值或超过边界值的数据。文章源自玩技e族-https://www.playezu.com/17393.html

  1.3 测试方法小结文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 应用场合:GUI的输入。文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 测试方法:分别从输入数据的类型、长度、边界值等方面进行考虑。文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 测试信息检查:文章源自玩技e族-https://www.playezu.com/17393.html

    ● 错误信息和错误要一致。文章源自玩技e族-https://www.playezu.com/17393.html

    ● 错误信息的内容为空,用户不知道为什么出错。文章源自玩技e族-https://www.playezu.com/17393.html

    ● 显示的错误信息是给开发人员调试使用的,例如“Error 5-unknown data”,开发人员可以通过该信息很容易找到错误类型,但是用户根本不明白,不知道做错了什么。文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 测试知识储备:牢记各基本数据类型的边界值。文章源自玩技e族-https://www.playezu.com/17393.html

2、输入默认值文章源自玩技e族-https://www.playezu.com/17393.html

  2.1 缺陷产生原因文章源自玩技e族-https://www.playezu.com/17393.html

  一旦软件中使用了变量,就必须赋给初始值,如果在赋值之前就使用了这些变量,软件就会失效,正确地使用变量的顺序是:声明变量à给变量赋值à使用变量。通常会由于以下两个原因使变量的默认值不正确:文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 给变量赋值这一步经常会被开发人员不经意地路过。文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 开发人员有时不确定到底要赋什么初始值,就随便给了一个值,但用户并不认可该值,这种情况下,软件并不一定会失效,但对用户的使用会带来很多不便。例如某程序把打印默认输出份数设置为2份,会给用户造成很大麻烦。文章源自玩技e族-https://www.playezu.com/17393.html

2.2 如何发现这类问题文章源自玩技e族-https://www.playezu.com/17393.html

  确定应用软件中所使用的数据有以下一些基本原则:文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 查找选项按钮、配置面板、安装屏幕等。这种屏幕上显示的数据常常在应用程序的许多地方用到。文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 查阅源代码的数据声明部分(如果可以得到)。文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 确定了要测试的数据,可以通过以下操作来强制使用或不使用默认的值:文章源自玩技e族-https://www.playezu.com/17393.html

    ● 接受软件显示的默认值。有时软件需要用户输入一个值,如果没有输入任何值,软件就可能失效。这时可以只是简单的单击“确定”按钮来接受默认值,完成这个功能测试。文章源自玩技e族-https://www.playezu.com/17393.html

    ● 键入空值。删掉默认值,使输入域变成空值。文章源自玩技e族-https://www.playezu.com/17393.html

    ● 将默认值改为另一个值,这样会使应用程序以不同的值来运行。文章源自玩技e族-https://www.playezu.com/17393.html

    ● 将输入值改为另一个值,然后再变以空值。文章源自玩技e族-https://www.playezu.com/17393.html

  一个好的软件会这样处理以上情况,将输入的不合法内容默认为合法边界内的某个合理值,或者返回错误提示信息。文章源自玩技e族-https://www.playezu.com/17393.html

  2.3 测试方法小结文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 应用场合:需要有默认值的地方。文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 测试方法:分别从选项按钮、配置面板、安装配置、开始界面等方面进行考虑,强制使用或不使用默认值等。文章源自玩技e族-https://www.playezu.com/17393.html

  ◆ 测试知识储备:全面理解需求规格说明书中对默认值的要求;同时深刻理解被测软件的行业背景。文章源自玩技e族-https://www.playezu.com/17393.html

  3、输入特殊字符集文章源自玩技e族-https://www.playezu.com/17393.html

  3.1 缺陷产生原因文章源自玩技e族-https://www.playezu.com/17393.html

  应用程序接受字符串输入,如果程序没有针对特殊输入进行特殊编程,那么就有可能导致程序挂起。文章源自玩技e族-https://www.playezu.com/17393.html

文章源自玩技e族-https://www.playezu.com/17393.html
注意:本文法律责任由该文章作者承担,侵权请联系2523030730▷诈骗举报◁▷新闻不符◁▷我要投稿◁
  • 我们QQ群
  • QQ扫一扫
  • weinxin
  • 微信公众号
  • 公众号扫一扫
  • weinxin
官方账号