目录
一、web自动化测试你是怎么做的?
二.WEB自动化有多少case?覆盖率是多少?执行完需要多久?
三、你们用的什么WEB自动化框架以及它们的优缺点。如果让你设计一个 WEB自动化测试框架?你会考虑哪些因素?
四、什么是Page Object Model模式?什么是关键字驱动模式?为什么要使用他们?
五.说说你对数据驱动的理解,在自动化测试过程中,你如何处理测试数据?
六.WEB自动化测试用例如何设计?如何提高WEB自动化用例脚本的稳定性?
七.举例说明一: 下你在WEB自动化测试过程中主要用到了哪些Python库?碰到过哪些异常?
八.数据库你们是在什么时候去校验的,哪些场景使用到了?
九.自动化测试过程中,你遇到了哪些问题,是如何解决的?
1.项目组做自动化的可行性分析,自动化率能够实施到什么程度?项目周期短,一般只做,覆盖率不超过10%
项目周期长,一年以上,3-5产品。一般覆盖率到20%-30%需求不能频繁变更
自动化脚本是否能够重复使用。
2.项目组调研自动化测试工具。 selenium或robotframework
3.制度计划,搭建自动化测试框架以及维护和改造编写计划
提取会编写自动化测试用例 由leader编写自动化测试框架组员根据框架编写自动化用例无人值守
用例添加和框架的维护
4.把自动化流程化,框架出使用文档规范化
5.把框架推广到其它项目组
根据项目而定,根据项目周期而定,一般在半小时左右。
目的:不是为了找bug,为了保证已有的功能不受新功能的影响。
找工作面试必看,自动化测试简历怎么做?教你3天收获7个offehttps://www.bilibili.com/video/BV1kY4y1X7LQ/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75
(1)图形界面,用例表格化,降低了用例的编写难度
(2)关键字驱动,已有比较强大的关键字库,并且可以组合。
(3)可以自定义库,扩展性比较好
(4)容易集成jenkins。缺点:
(1)界面经常重复,经常卡死
(2)很多语法很死板(嵌套if,for)
(1)更加简介去编写自动化用例,把主要的精力放在测试用例的设计。
(2)一个比较好的框架,可以让其他的同事不需要代码能力(零代码极限封装),
(3)自主大家的框架更灵活,可以根据项目随时的调整以及封装一些必要的功能缺点:
(1)需要做很多额外的封装。需要leander需要有比较强的代码能力以及比较强的全局掌控能力。考虑的因素:框架的落地实施,计划,用例设计,基础封装,设计模式(PO、关键字),数据驱动
(数据和代码分离,三层架构)
,日志,错误截图,报告定制以及并发执行用例,持续集成。 selenium的原理,99%的测试答不上。 1.生成一个Service对象。 2.启动Servier的start方法。调用cmd命令 3.发送一个Http的request请求,请求浏览器的接口。 4.返回浏览器的对象
POM简称PO,页面对象模式,意思是把页面当成对象来看待。一个是页面的元素就是对象的属性,对元素的操作就是页面的动作。PO是分三层架构:基础封装层,页面对象层,测试用例层
相对于线性脚本来说:可以让用例更简洁,只需要关注每个页面的业务逻辑(不需要关注元素的定位和动作),另外一个如果页面
发生变动,那么只需要修改【页面对象层】即可。缺点:就是需要频繁的去维护元素的定位。
关键字驱动:
从面向对象的思路从出发,同样的业务逻辑封装成一个函数作为关键字,从而被用例所调用即可。可以实现零代码极限封装实施自动化测试。
找工作面试必看,自动化测试简历怎么做?教你3天收获7个offehttps://www.bilibili.com/video/BV1kY4y1X7LQ/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75
数据驱动就是从数据文件里面读取用例的数据,然后通过关键字驱动框架去执行,然后把用例执行的
结果再次写入到数据文件里面。
冒烟用例,回归测试次数多的用例。
1.优先选择覆盖核心的功能用例。
2.不要选择流程很复杂的用例(主流程除外)
3.一些需要重复执行或繁琐的字段验证的。
4.优先选正例,反例除了主流程外不选。
如何提高框架的稳定性 1.尽量用xpath相对路径 2.在定位元素时封装显示等待。
3.用例之间尽量不要依赖。尽力独立运行。
4.加入失败用例重跑
webdriver,webdriverwait,By,os,xlrd xlwt pytest time logging random,allure
nosuchelementException nosuchframeexception
Elementnotselectception elementnotvaisibleexcpeiton NoneError
数据库断言一般用于断言核心的关键字,
(1)经常会变更元素定位
(2)偶尔会有误报
(3)测试结果被覆盖
(4)数据库的校验
(5)代码的维护以及框架的扩展
接口自动化比web自动化多很多。
postman接口调试 jmeter可以,OK requests可以。
找工作面试必看,自动化测试简历怎么做?教你3天收获7个offehttps://www.bilibili.com/video/BV1kY4y1X7LQ/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75
上一篇:stm32-定时器详解