1. 如何提高自动化测试中case的稳定性?
-
每个测试用例执行后对测试系统不会进行修改,均包含Setup和TearDown
-
不同case之间相互独立,没有依赖
-
UI 元素定位采用Id,和RD协调,不要使用数组下标等不稳定的定位方式
-
对测试系统进行分层设计,将element/Keyword/WorkFlow/TestCase进行分离,所有case执行需要的元素和行为都是通用的,只有case流程不一样,元素修改或操作修改,只需要修改底层函数,不用修改case
-
减少使用delay,而是用waitXXXXReady代替
-
加入重试机制,减少由于环境问题带来的影响
2. 如何提高自动化测试中case的复用性?
-
使用变量保存可变参数,不用写死的代码
-
对测试系统进行分层设计,将element/Keyword/WorkFlow/TestCase进行分离。
-
将页面element组成一个element repo,给各个行为和keyword调用
-
封装每个页面对应的Keyword行为,供workflow使用
-
封装不同的WorkFlow,供testcase使用
-
有重复就要考虑封装,使用组合来实现业务逻辑
3. 如何提高case的可读性,可维护性?
-
Case书写流程、命名等需要有团队规范,大家都统一,保持统一的编码风格
-
使用Git进行case代码管理
-
坚持操作方法的原子性,而后使用组合模式实现业务逻辑,减少耦合
-
代码不能硬编码,尽量使用变量
4. 你会如何管理一只自动化测试团队?
敏捷方式,团队成员分工包括:
-
BA:对需要的测定用例进行评估和分析,确认测试用例的作用域和集合
-
RD:根据BA编写的用例,编写自动化脚本
-
Ops:对自动化脚本进行运行、部署和集成
网友评论