自动化测试中避免“诡异”的测试脚本

发表于:2010-01-12来源:作者:点击数: 标签:自动化脚本
自动化测试中避免“诡异”的 测试脚本 自动化测试工具 什么是“诡异”的测试脚本呢?就是这个脚本在多次运行的情况下,测试结果并非每次都是一致,例如运行10次,有9次是通过的,有1次是失败的,那么这个测试究竟算是通过呢,还是失败呢?答案是:It depends。

  自动化测试中避免“诡异”的测试脚本  自动化测试工具

  什么是“诡异”的测试脚本呢?就是这个脚本在多次运行的情况下,测试结果并非每次都是一致,例如运行10次,有9次是通过的,有1次是失败的,那么这个测试究竟算是通过呢,还是失败呢?答案是:It depends。

  在某些情况下,那一次失败,的确抓住了程序的某个BUG。原因可能是:

  ● 程序在运行一段时间后会出错

  ● 程序会出错,但错误不是每次都发生

  ● 在某些特殊输入下把错误暴露出来

  但是在某些情况下,那1次失败的测试其实只是告诉测试的人,你写了一个“诡异”的测试脚本,实现了一个诡异的测试(Flakey Test)。不幸的是,导致一个自动化测试的行为变得诡异的原因实在太多太多。下面是一些常见的:

  ● 竞争条件

  ● 测试数据选择不当

  ● 测试的前置条件不受控

  当发现一个诡异的自动化测试脚本,必须要下决心去改掉它:

  ● 使用一些常见有效的用例设计模式,例如“准备,执行,断言(Arrange, Act, Assert)”

  ● 使用MOCK技术

  总之,当出现一个诡异的测试(Flakey Test)的时候,总是很郁闷的,但是为了以后不要遇到更大的郁闷,我们要尽早发现并且改掉那些诡异的测试。

原文转自:http://www.ltesting.net