自动化测试一(了解自动化测试)

一、为什么要做自动化测试

在这个互联网发达的社会,各大网络平台迭代的都非常的平凡,为了让自己的产品更加的凸显出来,使自己的产品更加优秀。平凡的迭代是必不可少的。

如此平凡的迭代,难道就不会出现线上事故吗?为什么能够做到线上环境极低的事故率甚至0事故?难道测试人员的执行case能力如此之强,还是说测试人力非常充足?

其实自动化测试在平凡的迭代中就起到的非常重要的作用,因为他可以在最短的时间内去执行所有的case,并且反馈出存在问题的case,随时可以执行,一次执行可以覆盖所有的范围,这样既可以提高测试的效率,还可以节省测试资源。

 

系统的稳定性也是需要自动化测试的支持

比如银行的取款机系统,他需要24小时不停的运转,稍有差错,后果不堪设想。那么类似这样的场景总不能让测试人员每天24小时不停的去测试吧,自动化测试就可以这样,持续测试。

可以验证执行周期内哪些场景发生了错误,这就是自动化测试的优点

 

二、自动化测试类型

1、接口自动化测试

简单的来说就是编写好测试代码,验证开发接口的每一个场景返回的参数是否正确。

接口自动化的优点:<1>从底层发现错误,可以大大降低后期发现错误的成本。<2>接口不会平凡的发生变动,维护成本低,效果好,执行时间窗口短。<3>减少测试资源成本

接口自动化的缺点:好的自动化测试对于框架要求非常高,代码能力非常强。不容易做到非常好

目前大多数公司所做的自动化测试都是接口自动化测试,基本上都是对所有的接口进行尽可能的自动化case覆盖,从而确保每个接口都能被自动化工具验证出他的准确性

 

2、UI自动化测试

简单说就是对展示的页面进行自动化测试。用于测试前端页面元素的。

UI自动化测试的优点:<1>降低业务测试人员的测试成本,程序代替人工 (想不到他的优点)

UI自动化测试的缺点:<1>UI不像接口,接口是几百年改动一次,UI界面的每个迭代都可能被修改元素,修改了可能你都不知道,当你运行程序的时候才发现,维护成本超级超级超级的高。<2>UI自动化运行时间窗口长,依赖于浏览器,当然现在有无界面化的方式,但是依然很慢,稍微大一点的项目,case达到5000-10000,可能要跑2-3个小时,开了并发往往也改变不了他慢的问题。<3>UI自动化非常的不稳定,需要很好的考虑到多种场景,保证程序应对好异常情况后能够正常执行case。

虽然缺点多,但是很多电商公司依然在做,不过掘到多数的项目不会做UI自动化测试

 

三、自动化测试框架

1、python

<1>UnitTest+HtmlTestRunner,比较容易上手,很容易学习,目前做接口自动化测试很方便的架子

<2>pyTest,对比第一个自动化测试框架,pyTest更加的简洁,实用性更佳(个人感觉)

2、Java

<1>Java+Maven+testNg,类似于python的pyTest,需要一定的学习成本,学习一下testNg的实现原理,相对于python的框架,testNg非常成熟,实用性更高,并且Java本身运行的速度也会比python快

 

四、什么样的项目适合做自动化

1、大项目,长期迭代的项目

2、对于页面元素长期不动的项目适合UI自动化

 

五、自动化测试工具

1、web端

接口自动化一般不需要什么工具进行支持,顶多就是一些生成测试报告的工具

UI自动化Selenium工具进行元素定位即可,同样常用的测试 报告工具即可

 

2、移动端

appium、airtest两个工具够用了,大项目app项目基本上都会需要做自动化测试的,工具不是主要的,最主要的如何使用代码定位元素,已经对于UI自动化测试的不稳定性,如何让代码运行的更佳健壮,主要还是在于代码能力了

posted @ 2022-08-26 09:55  宽崽  阅读(138)  评论(0编辑  收藏  举报