测试领域有很重要的一块:自动化测试,这一块可以说是一个普通测试工程师在技术层面的提升最明显的一块,找工作一般会问你会不会自动化,会不会性能。
我接触到的自动化有UI自动化和接口自动化,UI自动化不是我擅长的,只是略有了解:使用selenium录制/编写脚本,然后进行回放,是通过web页面元素的选择控制,如xpath定位/css定位,然后模拟元素的点击/输入等操作和预期结果进行对比校验。
这两年接触/使用的是接口自动化,个人也觉得底层接口更适合做自动化,底层接口相对稳定,代码复用率高。
一个接口自动化平台或者框架大致都是下面几块:
- 环境搭建,数据准备;
- 组装/发送请求;
- 得到应答,进行断言;
- 结果汇总,发送邮件;
一般使用的都是java+testNG+maven+jenkins的组合
自动化目前我碰到的痛点:
- 环境不稳定,自动化执行经常失败;
- 数据的准备和维护花费巨大;
- 用例的管理和维护
====================
update
接口自动化: 环境+数据+脚本+CI+报告+监控