飘絮絮絮丶 发表于 2021-08-04 10:16

【好书推荐+有奖讨论】资深测试工程师如何看待测试王炸——自动化测试?

获奖用户:

fenyun689    2楼            @fenyun689
renxiao2003   3楼            @renxiao2003
aloki    4楼                        @aloki
forgaoqiang   5楼            @forgaoqiang

各位小伙伴 记得站内短信联系我 邮寄信息哦








话题背景:

互联网时代,由于软件的迭代速度越来越快,迭代周期越来越短,人工测试已经逐渐跟不上研发的速度,这使得自动化测试成为了互联网时代的首选测试技术。通过编程可以大大简化重复性的人工测试工作,提高测试效率和覆盖率。因此自动化测试越来越受到优秀企业的重视,例如阿里巴巴、腾讯、京东、字节跳动等大型公司都在招募有经验的自动化测试工程师,自动化测试的人才需求缺口很大,优秀的人才供不应求。机械工业出版社近期出版了《Python自动化测试入门与进阶》一书,书中精选80余个典型事例和2个综合案例,涵盖单元测试、性能测试、App测试以及自研自动化测试框架 。本书作者积累了大量的研发和测试经验,借此机会和大家一起探讨探讨自动化测试的一些话题。

本次话题:

(1)如何针对UI层进行自动化测试?
(2)如何对App进行自动化测试?有哪些关键步骤?
(3)一个优秀的压力测试是怎么做到的?
(4)用Python做自动化测试有哪些优势?

本期奖品:

最佳积极参与经验分享奖5名,奖励价值79元的《Python自动化测试入门与进阶实战》图书1本。

Python自动化测试入门与进阶实战
唐文编著
书号:978-7-111-67401-6
印张:18.25(共292页)
定价:79.00元
上架建议:计算机/软件测试


参与方式:

直接在该主题下回帖即可。

活动时间:2021年8月4日-2021年8月30日

图书购买:

京东:https://item.jd.com/13157090.html
当当:http://product.dangdang.com/29213853.html

图书试读:

fenyun689 发表于 2021-08-05 17:49

(1)如何针对UI层进行自动化测试?
基于 UI 的测试 需要借助第三方工具,如可以模拟页面操
作的 Selenium。利用这个开源框架可以通过相应的浏览器驱动来操作浏览器,编 写模拟鼠
标单击、填充文本框、前进或后退页面、定位页面元素等操作的程序,最终完成 UI 的自
动化测试工作。

(2)如何对App进行自动化测试?有哪些关键步骤?
通过 python + appium + unittest 编写appium自动化测试。
1、连接手机,打开开发者模式,USB线连接手机和电脑,并且在开发者选项当中,开启USB调试。
2、点击Start Inspector Session,
3、运行Start Session,选择元素
4、录制脚本
5、在pycharm中建立项目运行测试

(3)一个优秀的压力测试是怎么做到的?
通过 明确测试目标、 制定测试计划、 实施测试,收集参数、 分析测试结果、 给出优化方案

(4)用Python做自动化测试有哪些优势?
1、对程序的回归测试更方便。
2、可以运行更多更繁琐的测试。
3、可以执行一些手工测试困难或不可能进行的测试。
4、更好地利用资源。
5、测试具有一致性和可重复性。
6、测试的复用性。
7、增加软件信任度。

renxiao2003 发表于 2021-08-07 15:28

本帖最后由 renxiao2003 于 2021-08-12 09:47 编辑

(1)如何针对UI层进行自动化测试?
UI指的是用户可以用肉眼可以看到的页面.
  UI层自动化测试的原理.不论是web端还是移动端,原理都是一样的,就是基于页面元素的识别和定位来进行模拟用户行为.
首先识别到某个元素,比如一个按钮,然后定义一个动作,比如点击,这样就通过代码模拟完成了一次按钮的点击,代替了人工去点击.如果后期再加入数据驱动和Page Object思想就基本形成了一个UI层自动化测试框架了
  UI层自动化测试的适用范围:不建议做大规模的应用,主要几个原因:
1.UI变化频繁,计划根本赶不上变化
2.初期见效太慢
3.前端开发的不规范,导致很多元素识别和定位起来较为困难
  UI层自动化测试可以应用到冒烟测试中,这里的冒烟测试是指主流程的测试,就是那些非常重要且不会频繁变化的流程,可以利用UI层自动化测试来完成.比如,之前对电商系统的主流做每日的UI层自动化回归测试,用来保证先上系统功能的正常,效果还不错
我们可以使用的的UI自动化测试框架有UFT、Robot Framework、Selenium、Appium。
(2)如何对App进行自动化测试?有哪些关键步骤?
使用Python+AppIum+UnitTest来做App自动化测试。
首先要开启手机的开发者模式,
然后连接USB,开启测试录制脚本。
对自动录制的脚本进行修改。
在工作中进行自动化测试。
(3)一个优秀的压力测试是怎么做到的?
安卓自带压力测试工作Monkey。可以说使用此工具进行。
(4)用Python做自动化测试有哪些优势?
可编写脚本,可维护脚本。可重复支行。

aloki 发表于 2021-08-08 15:53

(1)如何针对UI层进行自动化测试?
·能在底层做自动化覆盖,就尽量不在 UI 层做自动化覆盖
·只做最核心的功能的自动化覆盖,脚本可维护性尽可能提高
·提高 UI 脚本可维护性的方法是遵循 Page Object 设计模式。Page Object 模式是为了避免在测试代码中直接操作 HTML 元素,对 Web 页面的抽象。好处有:
·减少测试代码的冗余
·提高测试代码的可读性和稳定性
·提高测试代码的可维护性

(2)如何对App进行自动化测试?有哪些关键步骤?
1、风险分析
2、软硬件需求
3、方案选择
4、环境准备
1和3是关键步骤。

(3)一个优秀的压力测试是怎么做到的?
首先环境是非常重要的,需要尽可能跟生产环境靠近。比方说,使用同样的nginx版本,php的话需要启用fpm,zend-optimizer等等,参数配置也最好跟生产环境保持一致。网络也需要注意,测试机跟服务器之间是什么网络连接?100M还是千兆的网线?也同样需要跟生产环境尽可能保持一致。当然,也可以考虑直接在服务器本机上面跑压测程序,这样就可以规避掉网络层的,更有针对的去看服务器应用的性能;但那就要注意压测程序本身是否会占用过多的CPU、内存等资源而影响到服务器应用。

(4)用Python做自动化测试有哪些优势?
python自动化测试就相当你在拥有了众多自动化测试的 Python 框架的基础上,还拥有了自己的一座代码“工厂”,需要什么工具直接从工厂里去拿来直接用。Python自动化测试优势,包括但不局限于以下几点:
·保证每次测试的一致性和可重复性;
·更好地利用无人值守时间,可充分利用时间和环境资源;
·可运行更多、更烦琐的测试,且快速高效;
·回归测试更方便可靠;
·可执行一些手工测试执行相当困难或者做不到的测试,如大量的用户并发测试、性能测试等;
·自动化测试脚本完全可复用;
·支持多环境下的测试;
·可以将产品知识固化到脚本中,降低测试人员流动对项目造成的影响。

forgaoqiang 发表于 2021-08-23 14:44

本帖最后由 forgaoqiang 于 2021-08-23 14:46 编辑

(1)如何针对UI层进行自动化测试?
根据我的经验,在UI层次做自动化测试有两种比较好用的方式:
1)使用按键精灵等工具进行操作模拟录制,然后进行回放。不同的脚本代表了不同的操作,这个可以比较完美的对web、app等UI层次做测试,几乎是自动化流程,并且可以通过回放找到出问题的地方然后人工辅助进行进一步的测试。
2)标准的元素获取然后模拟用户操作,这就是WEB经典的DOM解析和获取,模拟发送行为,以及APP的对应操作。
当然还有个不太流行的方式,并不是依靠python这些自动化测试框架,而是依靠 易语言 的超强表单测试能力进行,这个虽然不是主流,但是的确是不错的一个方法。

(2)如何对App进行自动化测试?有哪些关键步骤?
APP自动化测试目前主流方案仍然是 Appium 进行,能够同时支持android和ios平台进行自动化测试,当然也可以选用一些小众的比如 Uiautomator2 这样的测试框架进行
Appium是基于nodejs的UI自动化测试工具,能够支持多语言,因为python在测试中是首选,这个也支持,
基本流程是:
1)选择适合自己的语言,基本上大部分测试人员会选择Python3
2)脚本编写,根据APP的业务编写对应的脚本
3)运行并获取测试报告,进行分析和执行


(3)一个优秀的压力测试是怎么做到的?
压力测试软件主要是模拟大量的用户同时进行压力测试,多线程或者多进程是必须的要求,压力测试能够接近真实的用户场景是理想的,而不是单纯的某个接口的测试,传统的工具比如开源的jmeter通过构建线程池进行压力测试,但是规则多用于单纯的接口性能
参考 techempower 的测试报告,它们进行了一个叫做 fortunes 类型的测试,这个测试就和真实,同时反映了数据库读写等一些列的比较接近真实使用场景的情况它们将测试服方法和报告都开源出来,具有很强的参考意义,这里提供一个2021年上半年的最新测试报告
https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=fortune


(4)用Python做自动化测试有哪些优势?
Python语言自身的特性导致它在入门有优势,而测试又不需要深入理解python的高级用法,这使得即使没有很多编程经验的测试人员仍然能够编写出很棒的python“脚本”测试用例
通过模仿其它人的测试场景,可以快速构建出自定义的符合自己需求的测试用例
主要优势就在于python的语法和入门以及学习曲线较平缓,非常适合无需复杂编程的场景,而测试则是这一场景的适合情况



renxiao2003 发表于 2021-09-29 21:05

坐等开啊。

wangbin 发表于 2021-10-08 11:36

python 也就做这个好用一点。

renxiao2003 发表于 2021-10-31 16:38

后面的活动都开了这个还没开啊。
页: [1]
查看完整版本: 【好书推荐+有奖讨论】资深测试工程师如何看待测试王炸——自动化测试?