1、为什么做自动化?
解放手工劳动-UI回归测试
持续集成中自动验证
手工测试无法实现-压力 并发测试
2、分层自动化测试?概念应用场景形式
UI自动化:模拟手工
接口自动化:没有界面
单元测试-白盒测试
6、如何保证脚本有效性
元素定位有效:元素单独封装
业务流程有效:封装独立方法
测试数据有效:保证数据库环境稳定,备份恢复,脚本灵活,实时提取数据,随机数。
7、用例不稳定
Sleep try catch
8、UI自动化和接口自动化
协议不同
介入阶段不同,接口文档,接口类型,参数
维护成本和收益,接口维护成本低
执行效率和应用场景,UI执行效率低,接口执行效率高,UI是功能回归,接口是持续集成测试,接口压力测试。
9、如何维护自动化使成本降低
测试的层级:适合用什么层级接口UI
测试的选择:周期短、变动大、一次性项目、需求不可控的
框架的使用和维护策略,代码分层、封装、数据剥离
流程和规范上与项目沟通
10、自动化测试中遇到验证码
万能验证码,代码层面处理
取消验证码,验证码取消
Orc识别,第三方库
手动登录,cookie登录
与开发沟通,读取验证码
11、如何定位id属性动态变
换其他属性
Xpath css
12、Jenkins调度自动化流程和机制
触发机制:手动、自动。代码抽取、构建、编译、执行执行反馈
13、接口测试
参数化:数据
请求:预处理请求
请求:http
处理响应结果
断言
测试报告
14、性能测试的流程
需求调研环境搭建(模拟实际情况)脚本编写(协议啊开发语言)准备数据(数据库准备数据)执行测试回归调优测试报告。
15、什么情况下需要关联
关联是将服务器返回的数据通过一定的规则过滤出来,将其保存成参数,以后后续代码使用,当服务器返回的数据是动态变化的,切后续脚本需要使用这个变化的数据时,拆需要做关联。
16、Jmeter怎么写java脚本
通过eclipse等工具手动写一个java类,实现javasamplerclient接口
将要写的代码放到javasamplerclient接口对应的实现方法中,如果需要暴露出参数,将参数天骄到getdefaultParameters方法中。
肩膀调试通过后,将脚本runnable。Jar,将jar包和依赖的lib文件放到jmeter的bin/ext中,重启jmeter。
在jmeter中天骄javasampler。选择jar包中的测试类
17、对于linux系统,主要监控哪些指标,各自阈值是多少?
Cpu<80%
load值:
内存:使用率小于80%
磁盘IO:<100%-90%
网络IO:<宽带上限