软件测试52讲
茹炳晟
eBay中国研发中心,测试基础架构技术主管
立即订阅
13425 人已学习
课程目录
已完结 63 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 从“小工”到“专家”,我的软件测试修炼之道
免费
测试基础知识篇 (11讲)
01 | 你真的懂测试吗?从“用户登录”测试谈起
02 | 如何设计一个“好的”测试用例?
03 | 什么是单元测试?如何做好单元测试?
04 | 为什么要做自动化测试?什么样的项目适合做自动化测试?
05 | 你知道软件开发各阶段都有哪些自动化测试技术吗?
06 | 你真的懂测试覆盖率吗?
07 | 如何高效填写软件缺陷报告?
08 | 以终为始,如何才能做好测试计划?
09 | 软件测试工程师的核心竞争力是什么?
10 | 软件测试工程师需要掌握的非测试知识有哪些?
11 | 互联网产品的测试策略应该如何设计?
GUI自动化测试篇 (10讲)
12 | 从0到1:你的第一个GUI自动化测试
13 | 效率为王:脚本与数据的解耦 + Page Object模型
14 | 更接近业务的抽象:让自动化测试脚本更好地描述业务
15 | 过不了的坎:聊聊GUI自动化过程中的测试数据
16 | 脑洞大开:GUI测试还能这么玩(Page Code Gen + Data Gen + Headless)?
17 | 精益求精:聊聊提高GUI测试稳定性的关键技术
18 | 眼前一亮:带你玩转GUI自动化的测试报告
19 | 真实的战场:如何在大型项目中设计GUI自动化测试策略
20 | 与时俱进:浅谈移动应用测试方法与思路
21 | 移动测试神器:带你玩转Appium
API自动化测试篇 (3讲)
22 | 从0到1:API测试怎么做?常用API测试工具简介
23 | 知其然知其所以然:聊聊API自动化测试框架的前世今生
24 | 紧跟时代步伐:微服务模式下API测试要怎么做?
代码测试篇 (3讲)
25 | 不破不立:掌握代码级测试的基本理念与方法
26 | 深入浅出之静态测试方法
27 | 深入浅出之动态测试方法
性能测试篇 (7讲)
28 | 带你一起解读不同视角的软件性能与性能指标
29 | 聊聊性能测试的基本方法与应用领域
30 | 工欲善其事必先利其器:后端性能测试工具原理与行业常用工具简介
31 | 工欲善其事必先利其器:前端性能测试工具原理与行业常用工具简介
32 | 无实例无真相:基于LoadRunner实现企业级服务器端性能测试的实践(上)
33 | 无实例无真相:基于LoadRunner实现企业级服务器端性能测试的实践(下)
34 | 站在巨人的肩膀:企业级实际性能测试案例与经验分享
测试数据准备篇 (4讲)
35 | 如何准备测试数据?
36 | 浅谈测试数据的痛点
37 | 测试数据的“银弹”- 统一测试数据平台(上)
38 | 测试数据的“银弹”- 统一测试数据平台(下)
测试基础架构篇 (4讲)
39 | 从小作坊到工厂:什么是Selenium Grid?如何搭建Selenium Grid?
40 | 从小工到专家:聊聊测试执行环境的架构设计(上)
41 | 从小工到专家:聊聊测试执行环境的架构设计(下)
42 | 实战:大型全球化电商的测试基础架构设计
测试新技术篇 (5讲)
43 | 发挥人的潜能:探索式测试
44 | 测试先行:测试驱动开发(TDD)
45 | 打蛇打七寸:精准测试
46 | 安全第一:渗透测试
47 | 用机器设计测试用例:基于模型的测试
测试人员的互联网架构核心知识篇 (5讲)
48 | 优秀的测试工程师为什么要懂大型网站的架构设计?
49 | 深入浅出网站高性能架构设计
50 | 深入浅出网站高可用架构设计
51 | 深入浅出网站伸缩性架构设计
52 | 深入浅出网站可扩展性架构设计
特别放送篇 (8讲)
测试专栏特别放送 | 答疑解惑第一期
测试专栏特别放送 | 答疑解惑第二期
测试专栏特别放送 | 答疑解惑第三期
测试专栏特别放送 | 答疑解惑第四期
测试专栏特别放送 | 答疑解惑第五期
测试专栏特别放送 | 答疑解惑第六期
测试专栏特别放送 | 答疑解惑第七期
测试专栏特别放送 | 浅谈全链路压测
测一测 (1讲)
测一测 | 这些软件测试题目,你都掌握了吗?
结束语 (1讲)
结束语 | 不是结束,而是开始
软件测试52讲
登录|注册

18 | 眼前一亮:带你玩转GUI自动化的测试报告

茹炳晟 2018-08-08
在 GUI 自动化测试系列的文章中,我围绕着 GUI 自动化测试进行了各种讨论:从最原始的 GUI 测试谈起,逐渐引入了脚本与数据的解耦,并谈论了页面对象模型,以及在此基础上的业务流程模型,接着分享了一些 GUI 自动化测试过程中的新技术,最后和你讨论了 GUI 自动化测试的稳定性问题。
今天,我会再和你聊聊 GUI 自动化测试过程中另外一个很实用的部分:GUI 自动化测试报告。
GUI 测试报告是 GUI 自动化测试的重要组成部分,当有任何的测试用例执行失败时,我们首先就会去分析测试报告,希望从中看到测试用例到底是在哪一步出错了,错误发生时被测系统是在哪个页面上,并且前序步骤又是哪些页面等等。

早期的基于视频的 GUI 测试报告

为了分析测试用例的执行过程与结果,早期就出现了基于视频的 GUI 测试报告。也就是说,GUI 自动化测试框架会对测试执行整个过程进行屏幕录像并生成视频。
这种基于视频的测试报告可以提供清晰的 GUI 测试执行上下文,看起来也很不错。但是,这种方式主要的问题是:
报告的体积通常都比较大,小的几 MB,大的上百 MB,这对测试报告的管理和实时传输非常不利。
分析测试报告时,往往需要结合测试用例以及服务端的日志信息,视频报告这一点上也有所欠缺。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《软件测试52讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(15)

  • sylan215
    1. 说起操作步骤截图功能,我记得 Windows7 系统开始,自带一个「问题步骤记录器」,直接在运行框输入 psr.exe 就可以调起,开启监控后,所有操作步骤的说明和截图都会保存成 MHTML 文件,结束时会打包到一个压缩包中,贼好用,没用过的推荐试一下。
    2. 不管是视频还是步骤截图,我理解的应该是不需要所有的都进行记录,而是在出现问题需要定位的时候才需要记录,其他大部分地方都是在自动化操作完之后,有一个校验操作结果的步骤,来保证用例执行不偏离预期,就算记录了所有步骤,应该也不会全看,不然这个时间成本还是蛮高的。
    3. 当然,如果需要进行步骤截图记录,茹老师的方法能满足绝大部分需要了。
    4. 对于全球化,我理解的是 GUI 自动化和本地化应该是分开的吧,GUI 自动化主要保证功能,相对 Web 来说,不管哪个语言版本,控件位置只要没有大的变动,那么自动化就是通用的,至于翻译是否可以借助 OCR 技术进行文本比对呢。
    以上,欢迎沟通交流,公众号「sylan215」
    2018-08-08
    2
    34
  • Robert小七
    我目前做的一般在定位元素失败时才会进行页面截图,测试报告也都是执行一个业务流程后将执行结果和异常信息写入到报告中,最后生成HTML形式的测试报告!

    作者回复: 失败时截图还是正常时都截图其实都是可以的,我建议在测试框架级别提供一个可配置的参数,按需设置即可。比如你想每个步骤都截图,那么需要把autoScreenshot设置为true,否则设置为false。这个参数可以通过测试框架的我命令行暴露给用户。

    2018-08-08
    5
  • Cynthia🌸
    我的理解是只有出现问题的时候才需要截图,不过全截图也OK,只要在报告中可以点击指定用例看到对应截图就可以了。
    另外就是因为截图比较占空间,应该也需要对应的清理功能,比如说没有问题的用例,隔一段时间就把对应的截图清理掉,或者是把所有的截图清理掉,不占用空间。
    2018-08-09
    3
  • dimi
    说这么多能不能show下真实代码呢 或者介绍一下主流框架怎么实现的,老是来需的,截个图了事。还有测试报告不只是截图吧。
    2018-09-13
    2
  • 红娟
    每次都有新的收获😊
    2018-08-08
    2
  • 小老鼠
    能做到这点对于一个中小型公司来说非常了不得了,但我总觉得除了获得图片还可以获取一些别的信息,比如HTTP response 包,以便于开发修改缺陷。
    2018-10-25
    1
  • Struggling
    打卡。之前没有GUI相关的测试经验,有个疑问,关于GUI的测试报告都是以截图的方式吗?会不会有相应法律图形界面显示总结性的报告,比如总共跑了多少个业务场景用例,通过多少失败多少等,甚至覆盖率等
    2018-08-11
    1
  • hoppaz
    文章开篇提到视频GUI测试报告看不到log,文章后面提到了截图高亮可以看到流程,但是似乎也没有提到如何在GUI测试报告中显示相应的log,请老师指导一下采取什么方案比较直观高效呢?

    作者回复: 由于基于截图的测试报告的具体数据结构其实是个大的json文件,json中的每个节点元素记录了时间戳,测试用例输出的log,截图文件的保存路径等信息,所以就可以很方便的在报告中同步显示对应的log信息。同时,有一点文中没有提到的是,同一个测试报告其实是可以按照不同的view来展示的,一种是基于时序来显示截图的view,还有一种是按log顺序的文本view。两者可以来回切换,也可以结合在一起,比如基于时序截图的view中也可以同步显示log信息。

    2018-08-09
    1
    1
  • Geek_wenzikaka
    现在有在用Applitools,不再需要手动截图了。
    2019-09-16
  • 口水窝
    希望茹老师给以简单的实例操作,操作之后才能更深了解。
    2019-04-03
  • ggggggjjj
    ALLURE推荐
    2018-12-06
  • subona
    学到了新的思路和方向
    2018-11-05
  • 老师,图2是怎么实现的,非常好的创意
    2018-08-12
  • 缪倩
    看了这篇文章后对测试报告的原理以及实现思路有了非常清晰的理解,每篇文章都收获满满
    2018-08-09
  • 闹忒龙
    对performance test和load test比较感兴趣,不知道大公司都用的什么技术流程,老师能不能讲讲:)

    作者回复: 非互联网公司很多是用loadrunner的,但是互联网公司由于需要的并发量太高,loadrunner已经不能满足,所以很多是用Jmeter,而且会用自己的方式来扩展Jmeter。当然现在云端还有很多收费的性能压测服务,比如阿里的pts等。这部分内容会在后面性能测试的章节详细来谈。

    2018-08-08
收起评论
15
返回
顶部