|
1、什么是自动化测试
自动化测试是软件测试活动中一个重要分支和组成部分,随着软件行业发展,市场对软件周期及软件质量要求越来越高,催生出来各种开发模式,比如常见开发模式敏捷开发,同时对我们测试人员提更高的要求,此时,产生自动化测试,即通过工具或者脚本来达到测试的目的,没有人工或者很少人工参与的软件测试活动叫自动化测试
自动化测试就是将测试流程从手工转换为自动化实现形式
自动化测试技术是目前业内特别流行也是特别主流的一个测试技术,是目前测试人员最为核心的能力之一
2、自动化测试框架是什么?
参考文档: 聊聊自动化测试框架 - 老_张 - 博客园
WEBUI中最主流的自动化测试框架是基于selenium+wendriver实现的
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
|
|