1、什么是自动化测试
自动化测试是软件测试活动中一个重要分支和组成部分,随着软件行业发展,市场对软件周期及软件质量要求越来越高,催生出来各种开发模式,比如常见开发模式敏捷开发,同时对我们测试人员提更高的要求,此时,产生自动化测试,即通过工具或者脚本来达到测试的目的,没有人工或者很少人工参与的软件测试活动叫自动化测试
自动化测试就是将测试流程从手工转换为自动化实现形式
自动化测试技术是目前业内特别流行也是特别主流的一个测试技术,是目前测试人员最为核心的能力之一
2、自动化测试框架是什么?
自动化测试框架是一种软件工具或平台,用于帮助测试人员和开发人员轻松实现自动化测试过程的构建、执行和管理。它提供了一系列的API、工具、库和设计模式,帮助测试人员开发和维护可重复使用的测试脚本,从而大幅提高测试效率和精度。
自动化测试框架通常包括以下几个方面:
-
测试驱动:通过编写自动化测试代码来驱动应用程序;
-
自动化测试引擎:负责测试用例的执行和结果分析;
-
测试数据管理:提供测试数据的生成、存储和维护;
-
集成和持续集成:支持与版本控制工具、构建工具和持续集成/交付工具的集成;
-
报告和分析:提供测试结果的收集、报告和分析。
一个好的自动化测试框架可以有效地简化自动化测试流程,提高测试效率,并为软件开发团队提供更快速、可靠和高质量的软件交付。
3、为什么要进行自动化测试?
①、黑盒测试回归效率低
②、手动测试的偶然性和不确定性
③、回归的覆盖率不足
④、交付的产品质量无法保证,全靠评估
⑤、系统越复杂,问题越多
⑥、上线时间长、构件失败率高导致的蝴蝶效应(迭代快,加班多)
4、自动化测试能解决什么问题?
①、提高出现问题后的响应速率
②、降低回归成本
③、提高回归覆盖率
④、提高回归效率
⑤、提高回归的稳定性
5、自动化测试优势
1)更方便对系统进行回归测试,当软件的版本发布比较频繁时,自动化测试的效果就更加明显
2)可以自动处理原本繁琐、复杂的任务,提供更准确测试,提供人员积极性
3)自动化测试具有一致性和复用性,测试脚本可以在不同版本进行重复测试,可以保证测试内容的一致性
这也就是,为什么在软件测试领域,自动化测试已成为趋势的原有,也越来越多互联网企业都把自动化测试作为测试活动重要组成部分,极大解放生产力
6、自动化测试的不足有哪些?
①、无法减少成本投入,而是为了加快测试结果反馈,提升测试质量
②、自动化适用于回归和冒烟,而不是发现BUG
③、录制回放功能是鸡肋,可视化并不是一个很好的做法
ps:主要是appium做AAPUI自动化的时候
④、不是所有所有系统所有功能都适合做自动化测试
7、自动化测试分类
1)web自动化测试
让程序代替人为验证WEB项目功能的过程
测试工具很多
ATP(UFT)付款
Robot framework
Selenium主流:
特点:1)可以支持多语言,java/python/ruby等多语言
2)免费开源的框架
3)可以支持多浏览器,比如firefox/chrom/ie
4) 可以执行多并发测试,selenium可以在多台机器来执行并发测试,从而提高测试效率。增加资源利用
Winrunner
Testcomplete
Waiter…
场景:网页-比如:携程
携程登录中的滑块验证
2)app自动化测试
工具:
Monkeyrunner AndroidSDK自带的测试工具,可以支持自定义数据和事件进行测试,只支持Android4.1版本及以上
Monkey AndroidSDK自带的测试工具,只支持随机数据和事件,一般对软件进行压测
Ui automator Android自带的测试框架,基于java,代码结构比较简单,但是sdk16(Android4.1版本)
Appium 是ios,android测试框架,支持多语言,可以支持多平台,并且可以调用selenium的api
3)接口自动化测试
工具:postman/jmeter/soapui
代码:python+requests
8、自动化测试的应用场景
UI自动化:主要用于回归测试,对系统流程进行校验
rf、airtest、selenium IDE4
功能测试:校验所有的流程所有的功能模块,通过边界值通过等价类通过各种场景来做功能的校验,确保功能是符合需求的
在这个过程中,更多的是做流程的验证,每一次的版本发布新的版本回归,做回归测试
产品从开发环境到测试环境,从测试环境到仿真环境,从仿真环境到生产环境,整个过程中每一次发布到新的环境都要做的是,校验流程是否是正常实现
有了流程的确保实现之后,再看其他的功能的分支是不是正确的
第一步第二步是固定的
接口自动化:主要用于后端接口地逻辑测试,确保系统内不运行是有一定质量保障的
接口测试:在测试中要尽早的不断地进行测试,尽早地发现Bug越早修复成本九月底
9、主流自动化测试技术介绍
主流自动化技术:selenium
代表了测试行业唯一的自动化测试技术
selenium在ui自动化测试领域内,是绝对的技术应用
结构就是基于selenium+webdriver来实现的自动化测试
移动端appium来实现,就是基于selenium来实现的
接口自动化:python+requests来实现的(80%)
UI自动化包含WebUI和AppUI,
目前主流的web自动化实现:
基于Selenium+WebDriver来实现
app自动化实现:基于Appium+driver来实现
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末小卡片领取】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!