自动化测试框架/工具选择

画了一张表:
地址:http://naotu.baidu.com/viewshare.html?shareId=axhs7iquac08

自动化测试

单元测试(白盒测试)

XUnit等(一般开发自己做)

接口自动化测试(灰盒测试)

soapUI,优点:上手快 缺点:商业工具

postMan:chrome插件 优点:免费 缺点:用例管理和执行困难

java–Httpclient 等等不同语言不同协议选择不同: 优点:可根据需要自己封装 缺点:需要写代码,入门门槛相对高

Jmeter / LoadRunner 等等

ui自动化测试(黑盒测试)

工具层

B/S

WebDriver 优点:使用最广范的开源框架 缺点:需要写代码,入门门槛相对高
QTP 优点:可以录制脚本支持C/S架构 缺点:商业工具,VBS过时语言

C/S

QTP
按键精灵
AutoIT 等等

APP

Android
UIAutomator 谷歌官方提供,只能做原生APP的自动化测试,语言java
Monkey 理论上不算UI自动测试框架,更大作用测试app的稳定性
MonkeyRunner 可录制,但是脚本根据坐标轴定位,兼容性差
Robotium 使用的人较多,文档也比较齐全,也支持webview,不支持跨进程, 语言java
Appium 支持Hybrid app,也支持跨进程,可以用众多语言编写脚本java,ruby,python,c#……目前不支持安卓toast的获取
Calabash 语言Java ,底层Robotium 同样不支持跨进程
IOS
UIAutomation 苹果自家的
Appium 同时支持android, 提供的api也基本一致,代码复用率高
Calabash 同时支持android, 提供的api也基本一致,代码复用率高

核心层

用例管理

Xunit /TestNG(JAVA)等等 对用例进行管理

适配层

BDD(行为驱动开发)

例如Cucumber 团队间通过同一种语言描述系统,避免表达不一致

关键字驱动

robot framework 语言 python,便于脚本维护,减低成本

PageObject 理念 把页面元素和操作进行分离,便于维护,同时减少维护成本

你可能感兴趣的:(自动化测试)