谈谈最重要的自动化测试概念(断言讨论)

断言

测试任何一个功能,包含3个步骤:

  1. 提供被测功能的输入
  2. 等待被测功能执行
  3. 对结果进行判断(断言)。

其中步骤1和步骤3如果需要人工干预,则称其为手工测试,如果不需要,则可以称其为自动化的测试。

在这里插入图片描述
从测试的金字塔模型来看,越是往顶层的测试越是直接代表用户需求,价值越大,但是自动化的可能性越小,越往底层,工作量越大,好处是自动化的可能性越来越大。自动化的好处在于,可以将任务交给计算机来执行,而不需要消耗人的宝贵精力,而这正是软件开发的最大的成本。自动化的程度越高,人的精力才能集中在靠近顶层的用户。

自动化的测试一大关键要素就是要求断言的自动化,习惯了命令式(过程式)编程或者思考方式的人,对于需要进行判断结果是否正确的情况,第一时间想到的肯定就是用编程语言里的if语句来进行判断。这种处理方式在需要人工干预的测试场景下,可能还有一席用武之地,但是对于一个自动化的测试场景来说,是行不通的,原因如下:

1、通过if语句进行的判断没有持久化(存储到硬盘)

测试执行完毕以后,没有留下判断的痕迹。所有的自动化的测试工具,都是依赖断言来进行结果判断的。通过断言来进行判断的好处就在于断言的结果是持久化的,可以在运行完毕以后随时查看,统计。

在这里插入图片描述
1、通过if来进行的判断很难有一个标准的模式

如果希望通过测试运行后留下的测试数据来进行判断测试的结果通过与否,希望在测试失败的了的情况下了解到在什么情况下失败了(当时输入的值是什么?预期的输出是什么?实际的输出是什么),这些能力都需要一个一致有效的判断机制,这就是断言的标准行为。

ETest里的断言包含了上述的3个要输,先看一下使用python的if进行结果判断的大该方法以及输出信息。

在这里插入图片描述
输出信息在IO中心,一旦数据被挤出去或者关闭了进程,就无法追溯到测试过程了。

下面看使用ETest提供的断言API来进行判断的效果:

在这里插入图片描述
右边的界面内容是从历史数据里查看到的,可以追溯任何一次测试的结果,这一点尤其在回归测试的时

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值