蓝色标注主要是方便记忆,勾选出个人感觉的重点
块引用:大部分是便于理解的话,稍微看看就行,主要是和正常的文字进行区分的
自动化测试是软件测试活动中一个重要分支和组成部分,随着软件行业发展,市场对软件周期及软件质量要求越来越高,催生出来各种开发模式,比如常见开发模式敏捷开发,同时对我们测试人员提更高的要求,此时,产生自动化测试,即通过工具或者脚本来达到测试的目的,没有人工或者很少人工参与的软件测试活动叫自动化测试
自动化测试就是将测试流程从手工转换为自动化实现形式
自动化测试技术是目前业内特别流行也是特别主流的一个测试技术,是目前测试人员最为核心的能力之一
参考文档: 聊聊自动化测试框架 - 老_张 - 博客园
WEBUI中最主流的自动化测试框架是基于selenium+wendriver实现的
①、黑盒测试回归效率低
②、手动测试的偶然性和不确定性
③、回归的覆盖率不足
④、交付的产品质量无法保证,全靠评估
⑤、系统越复杂,问题越多
⑥、上线时间长、构件失败率高导致的蝴蝶效应(迭代快,加班多)
①、提高出现问题后的响应速率
②、降低回归成本
③、提高回归覆盖率
④、提高回归效率
⑤、提高回归的稳定性
1)更方便对系统进行回归测试,当软件的版本发布比较频繁时,自动化测试的效果就更加明显
2)可以自动处理原本繁琐、复杂的任务,提供更准确测试,提供人员积极性
3)自动化测试具有一致性和复用性,测试脚本可以在不同版本进行重复测试,可以保证测试内容的一致性
这也就是,为什么在软件测试领域,自动化测试已成为趋势的原有,也越来越多互联网企业都把自动化测试作为测试活动重要组成部分,极大解放生产力
①、无法减少成本投入,而是为了加快测试结果反馈,提升测试质量
②、自动化适用于回归和冒烟,而不是发现BUG
③、录制回放功能是鸡肋,可视化并不是一个很好的做法
ps:主要是appium做AAPUI自动化的时候
④、不是所有所有系统所有功能都适合做自动化测试
让程序代替人为验证WEB项目功能的过程
测试工具很多
ATP(UFT)付款
Robot framework
Selenium主流:
特点:1)可以支持多语言,java/python/ruby等多语言
2)免费开源的框架
3)可以支持多浏览器,比如firefox/chrom/ie
4) 可以执行多并发测试,selenium可以在多台机器来执行并发测试,从而提高测试效率。增加资源利用
Winrunner
Testcomplete
Waiter…
场景:网页-比如:携程
携程登录中的滑块验证
工具:
Monkeyrunner AndroidSDK自带的测试工具,可以支持自定义数据和事件进行测试,只支持Android4.1版本及以上
Monkey AndroidSDK自带的测试工具,只支持随机数据和事件,一般对软件进行压测
Ui automator Android自带的测试框架,基于java,代码结构比较简单,但是sdk16(Android4.1版本)
Appium 是ios,android测试框架,支持多语言,可以支持多平台,并且可以调用selenium的api
工具:postman/jmeter/soapui
代码:python+requests
UI自动化:主要用于回归测试,对系统流程进行校验
rf、airtest、selenium IDE4
功能测试:校验所有的流程所有的功能模块,通过边界值通过等价类通过各种场景来做功能的校验,确保功能是符合需求的
在这个过程中,更多的是做流程的验证,每一次的版本发布新的版本回归,做回归测试
产品从开发环境到测试环境,从测试环境到仿真环境,从仿真环境到生产环境,整个过程中每一次发布到新的环境都要做的是,校验流程是否是正常实现
有了流程的确保实现之后,再看其他的功能的分支是不是正确的
第一步第二步是固定的
接口自动化:主要用于后端接口地逻辑测试,确保系统内不运行是有一定质量保障的
接口测试:在测试中要尽早的不断地进行测试,尽早地发现Bug越早修复成本九月底
主流自动化技术:selenium
代表了测试行业唯一的自动化测试技术
selenium在ui自动化测试领域内,是绝对的技术应用
结构就是基于selenium+webdriver来实现的自动化测试
移动端appium来实现,就是基于selenium来实现的