自动化测试概述-day1
前言
本文要记录的大概内容:
什么是自动化?
测试金字塔?
自动化测试的分类?
自动化测试的工具有哪些?
一、什么叫自动化?
自动化:是使用一些工具(或程序)的方式来代替或辅助手工测试的行为
二、测试金字塔
Mike Cohn对测试金字塔的详细描述,测试分为三层:
1.UI层
2.Service层
3.Unit层
并倡导应该进行更多的Unit测试。
金字塔从上到下,体积越来越大,代表应该投入的测试工作量。
1.UI层自动化测试
UI层是软件产品交互的界面,需求变动多;为了减轻测试人力成本,诞生了相关工具,例如 QTP,Selenium,RobotFramework等
UI层测试交互功能,还需要测试前端代码!
Qunit是测试JS的一个强大单元测试框架。
2.Service层自动化测试
Service层重点是接口测试:
1.模块之间的接口:该类接口的测试主要是对类或者函数的调用,然后去验证返回的结果
2.服务接口:前后端之间的接口调用,对其返回的结果进行验证。
接口测试工具:Postman,Jmeter,SoupUI等
3.Unit层自动化测试
就是批量的单元测试;
单元测试需要懂相关代码,分析局部数据结构,查看代码的编写规范;
单元测试框架:Junit,pytest,unittest等
自动化测试适用的范围?
1.需求变动小的项目,稳定的项目
2.需要大量的回归测试
3.UI层变化频率低
常见的自动化测试工具
1.Selenium
体积小:只有几百KB
多语言:支持Java,C#,Python等
兼容性强:支持chrome,IE,Firefox等常用浏览器;
原理:来自
白月黑羽博客
的图片
当我们使用selenium编写操作步骤,当执行这些操作时,实际上是以一个HTTP请求发送给浏览器的驱动,浏览器驱动包含一个用来接受这些的请求的HTTP Server,然后将HTTP请求规范化,然后根据规范化的内容去操作对应的浏览器,再将执行结果返回。