赞
踩
测试任何一个功能,包含3个步骤:
其中步骤1和步骤3如果需要人工干预,则称其为手工测试,如果不需要,则可以称其为自动化的测试。
从测试的金字塔模型来看,越是往顶层的测试越是直接代表用户需求,价值越大,但是自动化的可能性越小,越往底层,工作量越大,好处是自动化的可能性越来越大。自动化的好处在于,可以将任务交给计算机来执行,而不需要消耗人的宝贵精力,而这正是软件开发的最大的成本。自动化的程度越高,人的精力才能集中在靠近顶层的用户。
自动化的测试一大关键要素就是要求断言的自动化,习惯了命令式(过程式)编程或者思考方式的人,对于需要进行判断结果是否正确的情况,第一时间想到的肯定就是用编程语言里的if语句来进行判断。这种处理方式在需要人工干预的测试场景下,可能还有一席用武之地,但是对于一个自动化的测试场景来说,是行不通的,原因如下:
1、通过if语句进行的判断没有持久化(存储到硬盘)
测试执行完毕以后,没有留下判断的痕迹。所有的自动化的测试工具,都是依赖断言来进行结果判断的。通过断言来进行判断的好处就在于断言的结果是持久化的,可以在运行完毕以后随时查看,统计。
1、通过if来进行的判断很难有一个标准的模式
如果希望通过测试运行后留下的测试数据来进行判断测试的结果通过与否,希望在测试失败的了的情况下了解到在什么情况下失败了(当时输入的值是什么?预期的输出是什么?实际的输出是什么),这些能力都需要一个一致有效的判断机制,这就是断言的标准行为。
ETest里的断言包含了上述的3个要输,先看一下使用python的if进行结果判断的大该方法以及输出信息。
输出信息在IO中心,一旦数据被挤出去或者关闭了进程,就无法追溯到测试过程了。
下面看使用ETest提供的断言API来进行判断的效果:
右边的界面内容是从历史数据里查看到的,可以追溯任何一次测试的结果,这一点尤其在回归测试的时
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。