1.1 分层的自动化测试
分层自动化模型1)单元自动化测试
单元自动化测试是指对软件中的最小可测试单元进行检查和验证。 将单元测试交给测试人员去做,有利有弊,整体来说,由开发人员去做更为合适。 测试人员做单元测试的优势是具备测试思维,在设计测试用例时考虑更加全面;但劣 势也很明显,目前,大多数测试人员很难做到像开发人员一样熟悉被测代码。 让开发人员去写单元测试,优势非常明显,没有谁比开发人员更熟悉自己写的代码了 他们只需掌握单元测试框架的使用和一些常用的测试方法,即可写单元测试,而且定位 bug 时更加方便。 所以,测试人员可以教开发人员如何使用单元测试框架和测试方法,而不是代替开发 人员去写单元测试。
2)接口自动化测试
Web 应用的接口自动化测试大体分为两类:模块接口测试和协议接口测试。
(1)模块接口测试,主要测试程序模块之间的调用与返回。它主要强调对一个可实现完整功能的类、方法或函数的调用的测试。
(2)协议接口测试,主要测试对网络传输协议的调用,如 HTTP/SOAP 等,一般应用在前端和后端开发之间,以及不同项目之间。
3)UI 自动化测试
UI 自动化测试以实现手工测试用例为主,可降低系统功能回归测试的成本(人力成本和时间成本)。UI 自动化测试由部分功能测试用例提炼而来,更适合测试人员去做。在《Google 测试之道》一书中,Google 把产品测试类型划分为:小测试、中测试和大测试,采用 70%(小)、20%(中)和 10%(大)的比例,分别对应测试金字塔中的 Unit 层、Service 层和 UI 层。
但是,
接口测试逐渐的演变成单接口测试和业务接口测试;单接口测试即向下做了一个本该由单元测试的工作,因此单接口测试会充分测试接口的稳定性,这部分主要通过边界值以及其他一些测试用例设计方法完成测试用例设计。业务接口测试主要是通过一些接口的调研模拟部分业务来验证业务实现的准确性,这部分常用场景法等测试用例设计方法。如上图B所示,称之为橄榄球模型。
1.2)适合自动化测试的项目
(1)软件需求变动不频繁
(2)项目周期较长
(3)自动化测试脚本可重复使用
1.3)selenium简介
基于Selenium/appium的UI自动化测试
selenium 3.0 = selenium IDE + selenium Grid + WebDriver
(1)selenium IDE
新版的Selenium IDE可以同时支持Chrome、Firefox以及其他浏览器,实现脚本录制/回放,定时任务等;还可将录制的脚本导成不同编程语言的selenium测试脚本。下载selenium-ide
(3)WebDriver
WebDriver通过原生浏览器支持或者浏览器扩展直接控制浏览器。 WebDriver针对各个浏览器而开发,取代了嵌入到被测 Web 应用中的 JavaScript。与浏览器的紧密集成支持创建更高级的测试,避免了JavaScript安全模型导致的限制。 除了来自浏览器厂商的支持, WebDriver还利用操作系统级的调用模拟用户输入;既能测试PC web应用也能测试移动web应用。
1.4)安装python
(1) 下载python
(2) 配置环境变量
1.5)安装selenium
1.6) 安装浏览器驱动
网友评论