高效自动化测试,必看的10条建议
1 使用抽象
使用多个有相互交叉的抽象层,来建立物理世界和软件逻辑概念之间的映射,并持续保持同步。
如果明天只能做一件事,那就检查一下你的抽象层,确保抽象层级的正确性。
在可能的情况下,尽量减少任何隐式的时间等待,完全依赖显式等待。详细说明请参见
使用页面对象(Page Object)设计模式。
如果你还不知道它,最好现在就去了解它,并开始使用。
详细说明请参见:
这将显著提升你的自动化测试用例效能,使其更加易读和易于维护。
2 可测试性应该是项目中的最高优先级
确保你的应用程序被设计成易于“做自动化测试”。
如果你正在测试的应用程序不可测试,那么自动化就是浪费时间。
3 频繁运行自动化测试用例
尽可能在持续集成(CI)环境中运行你的自动化测试用例,并频繁地运行。
确保从一开始就考虑如何在 CI 环境中运行测试,否则你可能会错过频繁获得关键反馈的机会,并失去按计划运行测试的能力。
4 牢记测试金字塔原则
关于自动化工作的最佳建议是:牢记测试金字塔原则。 如果你有大量的小型测试,一些集成测试,以及一两个像 Selenium 这样的端到端测试,那么你做对了。如果你有成千上万的端到端测试,但只有五个单元测试,那么你将陷入困境。从我开始使用 Selenium 以来,这个原则一直适用,直到今天。
5 与团队共同制定自动化测试策略
找到一个你认为你的团队在测试方面存在的一个最大的问题,并将其带到整个团队面前,
对大家说:“我们有这个测试问题。你们能帮我想想有哪些方法,来解决它吗?”
这种方法能推动团队整体的测试策略进步。
6 使用“行为驱动开发(BDD)”
行为驱动开发(BDD)不仅仅是测试自动化。它强调共同的努力、达成共同的理解和协作。 BDD 不仅仅是单元测试、自动化工具或测试工具的事情,也不是 QA 或测试部门可以单独完成的。 你需要开发团队和业务或产品所有者的参与。
如果有人说“这不是我的事,我不感兴趣,不会参与”, 那么要注意这些警告,否则你将面临痛苦的经历。
7 不要认为人工智能是无所不知的黑箱
作为测试人员,我们知道事实并非如此。我们需要深入了解机器学习的实际运作。
即使你现在不直接从事这些工作,也应该了解机器学习在不同应用中的使用情况,并开始思考相应的测试策略,比如微博的推文时间线如何测试。
8 没有任何一个自动化工具适用于所有解决方案
没有一个工具是绝对慢或快,或只擅长某一件事。
关键在于:你的解决方案、你如何使用工具,以及如何将其应用于产品。
了解你正在测试的产品及其目标,业务需求是什么,以及他们期望的质量水平。
基于此,根据团队的独特需求选择合适的工具。
9 重视工具与能力培训
自动化成功中常被忽视的一个领域是培训。
在使用测试工具之前,确保接受适当的培训。获取必要的培训,以便按照工具设计的方式使用它。
即使只是找到一个网络研讨会或类似的在线资源,也要向管理层寻求指导,确保培训信息准确无误。这是一个极好的起点。
10 小结
高效自动化测试的 10 条建议助你提升项目质量,你在实际工作中最看重哪一条?欢迎留言分享你的经验!
参考:
自动化测试中,如何选择高效的时间等待策略: https://mp.weixin.qq.com/s/9TmaNoniffy-1fYq-fYqAA
[2] Page Object:自动化测试提效的利器之一: https://mp.weixin.qq.com/s/jbVlTfsA0Yvwjib05FddjQ