1.什么是自动化
让程序代替人为去验证程序功能的过程
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程
2.为什么要进行自动化
1、解决回归测试
2、解决压力测试
3、解决兼容测试
4、提高测试效率,保证产品质量
3.自动化测试的所属分类
1.黑盒测试(功能测试)
2.灰盒测试(接口测试)
3.白盒测试(单元测试)
注意:Web自动化测试属于黑盒测试(功能测试)
4.自动化测试优缺点
1.优点
1.以较少时间运行更多的测试用例
2.自动化脚本可重复使用
3。减少人为的错误
4.测试数据存储
2.缺点
1.不能取代手工测试
2.手工测试比自动化测试发现的缺陷多,实际测试里边,手工bug 80%,自动化工具 20% (性能和功能)
3.测试人员技能要求,要懂编码
5.自动化测试过程
自动化测试与软件开发过程从本质上来讲是一样的,无非是利用自动化测试工具(相当于软件开发工具),经过对测试需求的分析(软件过程中的需求分析),设计出自动化测试用例(软件过程中的需求规格),从而搭建自动化测试的框架(软件过程中的概要设计),设计与编写自动化脚本(详细设计与编码),测试脚本的正确性,从而完成该套测试脚本(即主要功能为测试的应用软件)。
6.什么是web自动化测试
让程序代替人为去验证web项目功能的过程
7.什么web项目适合自动化测试
1.需求变动不频繁
2.项目周期足够长
3.自动化测试脚本可重复使用(项目需要回归测试)
8.主流测试工具
Web自动化测试工具:selenium、QTP(全名HP QuickTest Professional software ), Robot Framework功能自动化测试框架
性能自动化测试工具:loadrunner、jmeter。
接口自动化测试工具:SoapUI、postman,jmeter,restclient
移动(app)自动化测试工具:robotium(Android自动化测试框架)、appium。monkey(压力测试,随机测试工具)、monkeyrunner
云测平台:testin
9.功能测试工具Selenium简介
1.Selenium是什么
python中核心库有哪些说出常用的5个:
https://blog.csdn.net/alice_tl/article/details/89815949?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-1-89815949.nonecase&utm_term=python%E5%B8%B8%E7%94%A8%E5%BA%93%E6%9C%89%E5%93%AA%E4%BA%9B&spm=1000.2123.3001.4430
Selenium是一款基于web应用程序的开源测试工具。
Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
它支持Firefox、ie等众多浏览器。
它同时支持JAVA、C#、Ruby、Python、PHP、Perl等众多的主流语言。
Java+selenium
Python+selenium
Selenium原理/机制
https://blog.csdn.net/lemo_ice/article/details/102852147
https://blog.csdn.net/p312011150/article/details/80672703
10.Selenium特点
开源、跨平台,运行在浏览器中
简单灵活、支持很多种语言
11.Selenium核心组件
Selenium Core:支持DHTML 的测试案例(效果类似数据驱动测试),它是Selenium IDE 和Selenium RC的引擎
Selenium IDE 是一个Firefox 浏览器的一个插件,可以实现对浏览器的简单操作的录制与回放功能。一般用于测试人员在测试过程中发现bug,通过Selenium IDE 将重测试骤录制下来,快速创建了bug 重现脚本,从而供开发人员容易重现bug。IDE 除了录制回放外还可以导出录制的脚本,并导出成多种语言,不同版本的Selenium 脚本,供测试人员快速开发脚本。
Selenium RC:Selenium Remote Control。Selenium RC 使用的是javascript注入的方式跟浏览器打交道。这样 Selenium RC 需要启动一个Server,然后将操作页面元素的API 转成javascript脚本,再把这段脚本注入到浏览器中去执行。而通过这种javascript注入的方式一来太依赖翻译成javascript质量的好坏,二来javascript存在同源问题。这使测试变得不那么容易。
Selenium Grid:允许同时并行地、在不同的环境上运行多个测试任务,极大地加快Web 应用的功能测试。