开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 4436|回复: 0

如何成功进行自动化的UI测试?

[复制链接]

0

精华

8

贡献

1768

赞扬

特约版主

帖子
583
软币
4524
在线时间
275 小时
注册时间
2019-2-21
发表于 2020-12-15 09:47:49 | 显示全部楼层 |阅读模式


Telerik Test Studio是一个用于功能性Web、桌面和移动测试的直观测试自动化工具,它能轻松地实现自动化测试。同时会为GUI、性能、加载和API测试提供完整的自动化测试解决方案。
在选择正确的工具来帮助您成功进行自动UI测试时,您需要了解以下内容。
为什么不能再忽略自动UI测试?
尽管面向代码的自动化测试工具已经变得越来越普遍,但大多数开发公司都忽略了自动化UI测试。这样做的主要原因是维护UI测试套件的成本,使用大多数/所有UI测试工具,实际上对应用程序UI的任何更改都会导致UI测试工具将整个应用程序标记为已损坏。结果,现代软件开发实践的大部分过程都是围绕UI与代码的精确分离而组织的,因此可以在不接触UI的情况下测试代码。
现实情况是用户不与代码交互:用户与您的UI交互,从用户的角度来看,您的UI是您的应用程序,证明代码在故意忽略UI的情况下有效的当前做法缺少了重点。 与当前的实践相反,UI测试提出一个简单的主张:要证明您的应用程序已“准备好投入生产”,您必须证明UI能够正常工作并驱动您的应用程序执行正确的操作。
一些基于工具的选项
随着DevOps和对用户验收测试的需求增加,这一要求变得越来越重要。 结果是UI测试工具得到了发展,但这也使得开发者更难、也更容易获取正确的工具集。难点在于有更多选择可供选择;容易在于有更多的工具对您有意义。 例如当查看UI测试时,可以在无代码工具和基于代码的工具之间进行选择。
无代码工具允许测试人员通过与应用程序进行交互来创建UI测试,而该工具通过“观察”用户的交互和应用程序的响应来生成测试脚本。 这些工具利用“ UI即应用程序”范式,并且不需要测试人员比应用程序(及其相关的业务需求)了解更多。
另一方面,基于代码的工具要求测试人员编写脚本来通过代码(即在页面上查找按钮,然后从UI元素提取数据)来操纵UI。 但是,这些工具可以检查“副作用”,这些副作用不一定显示在任何用户界面(或“可以作为测试的一部分进行访问的任何用户界面”)中,并且可以处理各种响应,基于代码的工具确实要求测试人员知道如何编写代码。
无代码工具使开发人员脱离了测试的关键路径,并授权用户创建对其有效的测试。 基于代码的工具支持更深入、更彻底的探测、并处理各种响应,从而减少错误的数量(实际上,在应用程序正常运行时的故障报告)。
重要事项
无论您最终使用什么工具,都需要将它们集成到您的流程中,而不会妨碍您交付应用程序……并在满足组织、用户和您自己的目标的同时做到这一点。
首先:您是否需要自动化的UI测试? 值得记住的是,测试的目标是将失败的成本从生产环境转移到开发环境中。 如果您的团队对当前的生产失败水平感到满意,并且不愿意修改开发实践,那么您可能不需要自动化的UI测试。 自动化的UI测试如何符合团队的战略目标?
第一个问题与第二个问题重叠:自动化测试如何适应团队文化?团队是否重视尽快向希望应对高变化率的用户社区提供新功能,即使存在一些小故障?还是团队更需要高度可靠的应用程序,这些应用程序会随着时间的推移而稳定,因此可以满足严格的(也许甚至是法规)标准?
反过来,这个问题与第三个问题重叠:自动UI测试将如何适应您的流程? 答案始于用户何时何地进行验收测试。例如如果有很长的时间用户没有参与开发过程,那么利用用户的UI测试策略可能就没有意义。如果在团队中如果“编码器驱动的UI测试”是一个矛盾的话题(即只有最终用户会说出UI是否“正确”),那么基于编码器的方法就无法适应您的工作方式。
最后一个问题:您可以利用哪些技能集和现有工具集? 例如,无代码测试仅在您拥有一群不仅仅“使用”应用程序但有能力知道在测试中什么是“正确”或“不正确”响应的用户时才有意义。 在开发人员方面,您希望查看用于交付应用程序的工具链 - 利用团队在该工具链上的经验并与之集成可以为您带来真正的好处。 不过,有趣的是,在选择UI测试工具时,用于构建应用程序的开发工具并不是特别重要,特别是对于Web应用程序而言。
比起单一的“ UI测试工具”,更需要一种为满足特定需求测试而配置的套件,最终会组合一个最佳的套件来满足您的特定需求,但是从单一来源获得完整的解决方案显然会更方便。
自动化UI测试领域的供应商既重视灵活性,又重视与其他工具集成的支持。 例如,Telerik Test Studio支持无代码测试,支持将那些无代码测试转换为编码测试,将编码步骤与无代码测试结合在一起,并与第三方库集成以满足特殊需求。
意味着非程序员(例如QA团队或最终用户)可以创建测试,以证明系统已完成用户希望系统执行的操作。 将这些无代码测试与编码测试无缝结合的能力意味着,当非程序员遇到障碍时,开发人员可以扩展这些测试以处理“难以自动化”的场景。
创建无代码测试的能力但是请不要忘记这一点:仍然不是关于工具的问题,而是这些工具是否支持您的目标、流程以及现有技能/工具链。如果您对这些内容有很好的了解,那么就可以获取在自动UI测试中取得成功的工具。


回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-22 14:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表