UI自动化测试的感悟

源自于一本讲性能测试书的思考?

书中内容:

性能测试是一门富有挑战的、有深度的、综合性的学科。

那我想怎能只局限于说性能测试我倒认为所有的测试类型都是一门富有挑战、有深度的、综合性的学科,只要你想做到顶尖都没有那么容易,而我们正在做的的UI自动化测试也是如此。

很多性能测试初学者总觉得性能测试就是写个脚本,弄几台机器测一测,出个报告就行了。通常关注"并发多少""响应时间多少""能跑通吗"这些问题。认为并发越大,响应时间越快,那性能一定就越好。

性能测试不仅仅是录制脚本或编写程序,基本的性能理论、性能执行的原则还是要了解的。同样的脚本,不同的人员执行,不同的针对点,测试结果会大相径庭。

看到作者的这句话,我能体会到作者心中的某种愤愤不平,想极力向广大肤浅的读者证明性能测试的高深。

我虽从未接触过性能测试,但从不认为性能测试是轻而易举就做成的,当然知道其有方方面面的知识需要学习才可略晓性能测试。基于我所做UI自动化测试的经验来说,开发个脚本、用下工具、就算你懂得开发语言 那也仍有很多不易之处啊,岂能是简简单单。

关于作者说"性能测试不仅仅是录制脚本或编写程序,基本的性能理论、性能执行的原则还是要了解的",让我觉得UI自动化测试同样,不仅仅要会写脚本编写程序,其实现和执行的原则原理也算是有必要了解清清楚楚,这样方能更好的使用自动化,不了解原理原则的与深刻理解自动化原则原理的人在使用自动化进行测试时会有着质的差别,不管执行的速度、测试的方案、查到的问题那都是完全不同的。

实际上我们需要对系统进行一系列复杂的需求分析,以及一系列性能测试计划和设计的工作才能开始性能测试执行。经过N此回归,找到瓶颈的具体原因,并优化。掌握性能理论基础才能驾驭那些性能测试工具等,没有掌握性能理论基础直接操作好比开车找不到目标,盲目原地打转或离目标越来越远。

读到这让我产生了一定的共鸣,这些年我们所做的UI自动化测试就是那辆没有目标的车,离目标总是忽近忽远、更远。我非常同意作者所说掌握一套工具的理论基础才可轻松驾驭对应的工具,因为无论工具或开发语言再厉害,它终究是服务于公司业务,服务于人的,我们必须以业务以人为纲要,而不可一味以实现技术的高超去做自动化。同样的,我们在做UI自动化测试之前也是需要对被测系统进行一系列复杂的需求分析,以及一系列UI自动化测试计划和设计的工作的工作后才能真正才是UI自动化测试,即 这其中的调研、准备工作其实是占据了整个UI自动化测试实施的大部分时间,因为你想让UI自动化能切实发挥作用,就必须从长计议,否则就不要开始。

性能测试流程图

流程节点介绍:

1)业务学习:用过查看文档,手工操作系统来了解系统功能。

2)需求分析:分析系统非功能需求,圈定性能测试的范围,了解系统性能指标。

3)工作评估:工作量分解,评估工作量,计划资源投入(即需要多少人力,多少工作日来完成性能测试工作)。

4)设计模型:圈定性能测试范围后,把业务模型映射成测试模型。

什么是测试模型呢?比如一个支付系统需要与银行的系统要进行交互(充值或转出),由于银行不能够提供支持,我们会开发程序去替代银行系统功能(这就是挡板程序,Mock程序),保证此功能的性能测试能够开展,这个过程就是设计测试模型。

再比如,后面要对Jforum论坛进行性能测试,根据需求我们了解到一般大家发帖或回帖前都会先登录,那么我们在开发脚本时就要把登录与发帖或回帖场景绑定在一起进行测试,这就是测试模型。通俗点说就是,性能测试用例设计+性能测试实现方案,用例只关注业务,模型还需关注如何实现,是否具有可操作性、可验证性等问题,最后我们还得根据不同的测试目的组合成不同的测试场景。

5)计划编写:计划测试工作,在文档中明确列出测试范围、人力投入、持续时间、工作内容、风险评估、风险应对策略等。

通过上述流程图让我领悟到,做性能测试人员方需学习业务知识,分析需求,做UI自动化测试的又怎能与业务、需求分隔,UI自动化测试当与业务、需求关联更加紧密才是啊。长期以来我们的UI自动化用例设计总是想着由功能测试人员来提供给自动化开发人员,实则非明智之举,当然我想这也并非在所有公司都不适合,因为每个公司人员不同,要求不同,工作模式不同,所以,我的看法也不能以偏概全。我仅认为,自动化测试若想把自动化测试做好,必须要了解业务,在了解业务的基础上设计自动化测试框架,开发自动化脚本,万不可急于求成,以眼前利益为。

(0)

相关推荐

  • 如何做自动化测试

    这个话题比较大,相信大家也都有自己的想法,我在这里写一些我自己的看法,请大家指教. 什么叫做自动化测试工程师 首先,会使用自动化测试工具的测试人员不能够称之为完全的自动化测试人员,这类测试人员被称为『 ...

  • 自动化测试基础

    软件测试: 1.软件测试分类 v模型软件开发流程 根据项目流程划分的测试: 单元测试:模块测试,对程序中单个程序或独立功能的代码段进行测试 (白盒测试) 集成测试:通过单元模块进行组合测试,接口,功能 ...

  • 并行的UI 自动化测试 - Selenium Grid 4

    众所周知,使用 WebDriver 启动浏览器进行 Web UI 自动化测试的执行速度是很慢的,于是使用 Selenium Grid 进行并发测试是减少测试执行时间的一个非常好的手段.认识 GridG ...

  • 从一次故障聊聊前端 UI 自动化测试

    背景 事件的起因在于老板最近的两次"故障",一次去年的,一次最近.共同原因都是脚手架在发布平台发布打包时出错,导致线上应用白屏不可用. 最神奇的是,事后多次 Code Review ...

  • <自动化测试方案_7>第七章、PC端UI自动化测试

    第七章.PC端UI自动化测试 UI自动化测试又分为:Web自动化测试,App自动化测试.微信小程序.微信公众号 UI层的自动化测试工具非常多,比较主流的是UFT(QTP),Robot Framewor ...

  • <自动化测试方案_8>第八章、手机端UI自动化测试

    第八章.手机端UI自动化测试 (一)APP测试分类 1,原生APP:Native页面是使用原生系统内核的,相当于直接在系统上操作 2,H5APP:先调用系统的浏览器内核,相当于是在网页中进行操作,较原 ...

  • Airtest 自动化测试4 - Poco辅助窗展示UI渲染树

    前言 Airtest 通过图像识别已经可以编写大部分的测试脚本,页面上需要点哪个元素直接截图,非常方便. 但是在某些特殊情况下,例如App里的动态元素,通过图像识别定位较为困难.所以Airtest P ...

  • 《天道》原著作者作品的几点感悟,读过不信你没有收获!

    <天幕红尘> 1:无论出于什么目的与感情帮人,一定要有百分之九十以上的把握,否则在这个浮躁的年代,即使你有再大的能力,别人也未必信.就比如全部人把希望落在了叶子农身上,他也是在考虑一晚上觉 ...

  • 中国当代文化研究学者雷学刚佳作《感悟遇见》

    感悟遇见 雷学刚 人生就是一场盛大的遇见.世上的一切遇见,皆是前世今生的缘. 世上没有无缘无故的爱,也没有无缘无故的恨.爱恨情仇,皆是尘缘,均要善待.爱让我们的生命温暖和感动,情让我们陶醉友谊芬芳,恨 ...

  • 华尔街交易员的毕生感悟:把简单做到了极致,就成了成功者

    交易的真谛在于:简单坚持重复 人生的真谛在于:博爱俭朴谦让 投资不是平地赛跑,而是垂直攀登.比别人更快并不代表成功,因为一个失足下坠就可以抹平所有的成绩.对于一个几乎没有尽头的高峰而言,领先的意义很小 ...

  • 【军旅抒怀】陶有文||感悟宝岛 期待统一

    感悟宝岛 期待统一 陶有文 祖国的宝岛台湾,因众所周知的原因,与祖国大陆处于长期分割的状态. 肯定有不少人通过互联网看过230名开国将军,于50年代的大合唱<一定要把胜利的旗帜插到台湾>. ...