温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何做好测试自动化

发布时间:2020-07-23 02:20:03 来源:网络 阅读:5294 作者:heng_sunny 栏目:软件技术

经过一个月的努力,实现一个不熟悉的项目的自动化终于快接近尾声了。之前知道什么样的产品或项目适合做自动化,什么样的产品或项目不适合做自动化;而且由于自己设计过一个给人感觉很高大上的工具,自认为对自动化比较了解。可这一年来经历过两个设计不算成功的工具,最近不断反思,对如何更好的做自动化测试有了点新的感悟:

1. 能用现有的开源工具不要自己从头开发一套工具。因为开源的工具是经过很多人反复推敲,反复调整过的,无论从稳定性、易用性、还是设计理念上,都会比自己从零开始要优势得多。

2. 对于不是特别紧急的项目或产品,要对其有一定的了解之后再做自动化,需求不了解是做不出好的自动化工具的。这一年,有两个自动化测试工具的任务,两个任务都有一个相同的特点:我Business不了解。这种情况下做自动化就会有以下几个问题:

    首先,要了解Business,会花费很多时间;

    其次,列出功能点,需要做多少功能,担心做出来的不全,所以把能列出来的都列出来。但是,如果全做了,那这个工具就注定是个失败的工具。软件测试中一直遵循着80-20原则,个人认为这个理论也同样适用于自动化测试,即20%的功能会有80%的人使用的,所以自动化设计时,首先要考虑的是这20%的功能如何先做出来,以及如何让这20%的功能易用。

    第三,即使做出来了,易用性不好。因为使用者的习惯与设计者的习惯往往不同,尤其在设计者对业务和使用者的习惯都不熟的情况下。

3.对于时间要求紧的项目,切记大而全,尤其对项目不了解的情况下。Design会随着对产品的了解而逐渐改变,逐渐优化的,如果刚开始就大而全,一是无法按时完成;二是后期维护的cost比较高

举例:这一年来我设计的第一个自动化工具就是UI测试,因为之前的工作经验,所以我想设计一个比较全面的,一次到位的工具,但其实对于不熟悉的产品,这种想法本身就是错的;而且自认为当时把验证结果都整合在一起挺有成就感的,但现在又想做到case,工具与verifyresult分离,之前花了很多时间整合验证结果做的工作就白做了。

4. 要做到数据,case(尤其case模板化),测试工具、结果验证的分离,便于后期维护。现在想想,之前的公司其实也是这么做的,但当时只知道效率比较高,还没理解到这个高度。

5.整合成一个工具虽然重要,但是投入产出比也不容小觑。如果整合的工作量很大,那么不整合也许是最好的选择,凡事有度,中庸之道值得推荐。

6.个人认为自动化测试最重要的核心是:设计一个高效的自动化框架的能力;开发能力;设计case的能力



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI