在这个问题的相同风格中,测试 Web 应用程序和桌面应用程序之间有哪些不明显的区别?我最近开始研究使用 SilkTest 为 Web 应用程序自动化一些 GUI 测试。Web 和桌面应用程序之间的自动化 GUI 测试之间存在一些细微差别,例如如何处理控制事件(按钮单击、滚动等)。我也知道有一些网络方面的问题,例如负载和性能测试,它们不一定会在桌面应用程序中发挥作用,但在 Web 测试中很重要。来自桌面应用程序背景,我应该研究或考虑哪些其他事情?
测试 Web 应用程序和桌面应用程序之间有哪些不明显的区别?
软件测试
自动化测试
Web应用程序
表现
桂
2022-01-11 20:42:45
4个回答
- 桌面软件通常需要安装。Web 应用程序通常不会。
- 但有时预计 Web 应用程序会 24x7 全天候运行。这会使升级和维护成为计划和执行(并因此进行测试)的挑战
- 除了这里其他人提到的浏览器版本,您可能还需要担心浏览器插件
- 您可能还需要担心可能导致 Web 应用程序出现问题的各种浏览器设置
- 一些桌面应用程序是为单个用户设计的。根据定义,几乎所有 Web 应用程序都是多用户系统。您需要担心并发性,当同一个用户多次登录时会发生什么,等等等等。
除了“其他人所说的”之外,所有这些都是非常好的建议,我建议的其他一些考虑因素是:
- 可用性 - 桌面应用程序往往有一个内置的帮助文件,其中 Web 应用程序或多或少应该是不言自明的。
- 加载时间 - 这是一个很大的痛点。不是每个人都有宽带(我们不会详细说明我多么鄙视那些附有如此多广告的页面,尽管有宽带,但它们需要永远加载)并且有相当多的人在极其有限的连接上运行。您应该测试您的站点是否在合理的时间内通过 28k 调制解调器连接(美国旧公寓楼的典型速度)运行,或者它的低带宽版本是否可用且易于定位。
- 跨浏览器和操作系统的兼容性。如果您的站点使用大量客户端处理或来自特定浏览器的最新功能,这一点尤其重要。如果有问题的浏览器是 Internet Explorer,您就会将很多人锁定在您的网站之外。
- 明确的处理指标 - 如果您的网站需要进行任何可能冗长的处理(例如信用卡信息的实时验证),您需要确保它尽可能地禁用并显示它正在工作的明确指标,否则用户会认为它是't 然后再试一次 - 这可能会导致问题。
我不认为 UI 测试有很大不同:字段验证、默认值、调整大小、可伸缩性等等。
您可能需要支持多个品牌和版本的网络浏览器,甚至可能需要支持一些移动设备。您可能希望将业务逻辑测试与浏览器级别的测试分开,这样您就不会在每个浏览器上重复每个测试。
Web 应用程序的安全测试是不同的。这是一个很大的主题,有专门研究这类事情的人会很有帮助。
品种组合爆炸:您可能需要在运行各种操作系统的各种硬件上测试每个浏览器的每个版本
由于显示信息的普遍性,前端测试可以更容易
当您进行性能/负载测试时,您同时测试服务器所在的机器,而不是当前桌面(除非它们是相同的,显然)。
您可能需要在移动设备上进行测试,因为它们也可以访问网络。事实上,您可能需要根据某些标准验证您的 html,例如对残疾用户的可用性等。访问http://www.w3.org/可能是合适的。
如前所述,安全性
你有更多的开源工具可以帮助你(watir-webdriver 就是一个很好的例子)