码迷,mamicode.com
首页 > 其他好文 > 详细

自动化测试用例设计三原则

时间:2018-04-11 15:57:04      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:面向对象的思想   退出   不能   结果   代码块   元素操作   利用   存在   需要   

今天总结一下在做自动化测试中测试用例设计的一些建议,总结为三原则:

1. 保持Case之间的独立性

case独立性就是能够独立运行,当我们有随机的跑其中某个Case或乱序的跑这些Cases时,测试的结果都应该是准确的。

比如在执行过程中用例的运行环境取决于其他测试用例的执行状态,那么,其中的测试用例不能复用时,与之相关的测试用例的可复用性也不复存在。

有时候我们碰到在本地没问题,但是在server上跑有问题,大概率就是这个原因导致的。

2. 提高Case执行效率

测试人员能在最短的时间内执行测试覆盖,不仅能提高团队的工作效率,也可增强团队的信心

a.如果有对执行条件的检查,若检查失败,则尽快退出执行;
b.将数据准备或环境清除等工作抽取成关键字放到更高的层级中,可以合理利用TestNG的注解来实现;
c. 用例中尽量少的出现sleep,建议用"wait until ..."来代替;
d. 可以采用并发执行用例的方法来提升效,这需要原则1case的独立性来做保证。

3. 减少case的依赖性

依赖包括执行环境,测试对象,外部设备

执行环境:

你在本地上使用Webdriver框架编写、调试用例后,上传到代码块,然后其他同事拉取你的用例在他的本地运行,随后又被部署到持续集成服务器上。所以你编写的用例时就要尽量避免使用不同平台的库或者shell命令。这个我们一般可以用Maven来进行依赖管理。

测试对象:

使用Page Object模式,主要是将每一个页面抽象成一个页面对象类,把该页面中的元素定位,元素操作,业务流程等都封装在该类的方法中,编写用例时,直接已面向对象的思想调用该页面类中的方法。同时,当页面元素属性变化时,只需要更改页面对象类即可。

外部设备:

有时候被测系统可能需要和硬件交互,外部设备可能会升级或更换,那我们可以将外部设备的操作从测试用例中抽离出去,封装成测试库,秩序维护这个测试库就可以了。比如打印功能。

自动化测试用例设计三原则

标签:面向对象的思想   退出   不能   结果   代码块   元素操作   利用   存在   需要   

原文地址:https://www.cnblogs.com/clarke157/p/8794842.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!