作为测试开发从业者,将测试自动化似乎是不可避免的话题. 一些最近接触的测试申请人谈到了前端自动化测试和自己的理解。 共享自己对UI自动化测试的认识后,您将看到:

测试分层的自动化测试思想

自动化测试分层思想提倡将系统分层,针对不同的层次选择合适的自动化类型进行测试的测试战略。 另外,自动化测试分层思想也与测试阶段(单元测试、集成测试、系统测试)相关。 项目自动化测试的范围取决于各个层次自动化测试分层战略设计的合理性、全面性。

karam前端自动化测试(ui自动化测试方法-编程之家

单元测试

一般来说,开发人员进行测试是我们日常所说的对开发人员自己开发的代码进行自检的过程。

服务-服务集成的接口自动化测试

通常是指API接口自动化测试,在分层自动化测试的应用中,接口自动化是最常用的自动化解决方案。

同时,通过组合数据驱动的测试框架、关键字驱动的测试框架,可以满足大部分测试场景,包括复杂的业务逻辑在内的功能覆盖(b接口依赖于a接口而返回) 特别是在前端分离的产品体系结构设计中,可以有效地涵盖功能点。 手动测试和其他工具可以涵盖页面视图、页面元素布局和演示文稿验证。

UI-页面自动化测试

UI层与用户交互,用户通过与UI层交互来使用系统功能。 测试员的测试工作的大部分(黑匣子测试)也集中在这一层。 个人实践经验表明,大部分场合不推荐UI自动化,难以有效维护,投入产出比不可控。 关于UI自动化的三个建议如下。

以底层自动化覆盖为优先,尽量不进行UI的自动化覆盖。 优先考虑核心功能的自动化覆盖,降低非核心功能的自动化覆盖。 以自动化的可扩展性、可维护性为重点的设计。 karam前端自动化测试(ui自动化测试方法-编程之家

自动化测试开展的必要条件

首先,是否进行自动化通常必须同时满足以下条件。

软件需求不频繁变动(10 )以上的变动是频繁变动,同时10 )不是固定值,根据维护、扩展成本适当调整阈值) )项目周期足够长,能够自动重复使用测试用例,同时

自动化测试的局限性

另一方面,自动化测试的局限性如上所述体现在其部署的必要条件上,如果在不满足该必要条件的背景下进行自动化,自动化将无法提高测试效率,也有可能增加测试成本。

另一方面,UI自动化和接口自动化本身的局限性在于,UI自动化比接口自动化具有更高的复盖率(接口测试无法覆盖页面元素、格式、数据),接口自动化比UI自动化更容易扩展、维护

自动化测试的目的

karam前端自动化测试(ui自动化测试方法-编程之家

自动化测试的直接目的是以产品质量为中心提高测试效率,其根本目的(效率转换)无非是以下几点。

为了减少项目的人力投资,要进行更深入的需求分析、测试设计或测试左移、右移投资等更有意义的测试; 适应开发模式的变化,包括类敏捷、devops、testops模式下的频繁迭代、持续部署和质量运营。 karam前端自动化测试(ui自动化测试方法-编程之家

前端自动化测试

自动化知道其部署的前提更强调系统的稳定性。 不稳定的系统经常自动进行用例维护。 这个维护成本很大,原本由两个人测试的项目,要引入UI自动化,现在可能需要三个人测试。 那么,如果系统稳定性高,更改可能性低,怎么自动进行UI呢? 建议您在参考354 robotframeworkselenium2library的同时,在自动化测试设计时考虑数据和代码的分离,以降低维护成本并提高可扩展性。

如果系统稳定性一般,可能会发生需求变更、页面优化,如何进行高覆盖的自动化测试? 建议参考354 robotframeworkrequestslibrarypythonrequests (自定义关键字库开发)来自动进行接口,还必须考虑数据和代码分离的设计战略。 此外,由于robot框架支持数据驱动,因此用例创建效率大幅提高。 在此基础上使用UI Recorder (阿里开源零成本UI自动记录工具)进行整个页面的自动测试。

karam前端自动化测试(ui自动化测试方法-编程之家

最后,充分考虑可维护性、可扩展性的自动化测试战略设计可以实现自动化测试的前进,并不是只能用于系统稳定和回归测试的场合。

我希望以上的分享对你有帮助。 欢迎大家的关心、评论和留言。