软件测试浅悟妄语[3]

发表于:2010-03-30来源:作者:点击数: 标签:软件测试妄语
软件测试浅悟妄语[3] 软件测试 对软件的“试” 上文说过,“试”是动态的。对软件的 动态测试 比较复杂,一是要时刻提醒自己要识别一些相对静止的属性,把对它们的观测提出来,二是动态测试要分析的东西也比较多——但并不是没有章法。 软件动态测试之“道”

  软件测试浅悟妄语[3]    软件测试

  对软件的“试”

  上文说过,“试”是动态的。对软件的动态测试比较复杂,一是要时刻提醒自己要识别一些相对静止的属性,把对它们的观测提出来,二是动态测试要分析的东西也比较多——但并不是没有章法。

  软件动态测试之“道”,只有两个字,那就是——宇宙。

  古往今来谓之“宇”,它强调一个时序关系。我们在动态测试的时候,特别要注意软件操作的时序,因为每一步的操作都在直接和间接地影响着后面的操作。

  上下四方谓之“宙”,它强调一个空间关系。如果我们把软件看作一个系统,那么“宙”就是这个系统的环境。

  举个简单例子,我们观察上面的测试流程中的第3步“安装”:

  它的“宇”就是前两步和后几步,如果“宇”中的第2步出了问题——下载的时候文件出了问题,那么安装肯定要失败的。

  它的“宙”中有一项是硬盘空间,如果硬盘空间不足,那么安装也是要失败的。

  所以,我们在做软件的动态测试时,要把测试中的“宇”和“宙”想周全。

  那么,怎样才能把“宇”和“宙”想周全呢?

  软件测试的生命之图

  如果把软件从启动到关闭看作是一次生命的话,那么软件的生命会是一张非常美丽的生命之图——这张图的起点是软件的Start,然后每一步你都有一个或者若干选择,从而让用户可以有多个达到下一步的通路,这些通路有的是可逆的,有的是单行的,有些是可跳过的……总之,我们最后会达到软件生命的另一端——关闭。

  虽然这是一个“图”数据结构,但是对每个通路的遍历却是一条线(我是说线性的步骤),其中包含一些可以回溯的步骤。而每条线又是由有限个线段构成的。

  每条线段由两个端点和一条连线构成。两个端点,一个是起点(我称它为“起点场景”),一个是终点(我称它为“终点场景”),中间的连线是从起点到终点的“动作”。(目前CSDN没法上传图片,过几天我补上图)

  那么有个问题:这条小线段有几种走法?OK,让我们来分析一下——

  1. 起点à正确操作à终点。(基线测试)

  2. 起点à错误操作à终点。

  3. 起点à正确操作à终点à正确操作à起点。

  4. 起点à错误操作à终点à正确操作à起点。

  5. 起点à正确操作à终点à错误操作à起点。

  6. 起点à错误操作à终点à错误操作à起点。

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