毫无疑问,今天的大量软件交付依赖于通过开源测试框架进行的测试自动化。
在最近的 博客文章中,我强调了主要框架之间的一些主要差异,如 Appium,Selenium,Calabash,Espresso和XCTest UI。
作为一个快速总结,被认为对采用开源成功至关重要的关键点是拥有支持该框架的这三个强大的成分:
24×7可用和弹性实验室。
高级自动化功能。
执行后的深度质量分析
在这篇文章中,我们来谈谈上面的第二项 – 高级测试自动化。
扩展开源框架的测试自动化覆盖范围
虽然支持OS级别的基本自动化功能非常重要,但扩展框架功能以支持以下内容也很重要:
视觉分析。
用户状态测试。
完整的系统级控制。
同一天支持最新平台。
为了举例说明为什么这些扩展从测试自动化覆盖的角度来看很重要,让我们看一下使用Espresso 或XCTest UI 测试应用程序 – 虽然这些框架非常棒,速度快,并且从操作系统级别的角度支持最新功能,不支持完整的系统级别。这限制了测试场景,其中包括传入呼叫,事件,弹出窗口以及最近的 iOS 10.3 2FA (2因素身份验证)等需要确认带代码的传入文本消息等内容。
考虑一个与谷歌最近围绕隐私政策实施的不同示例 。它将强制要求提交到Google Play商店的应用,使用敏感数据,并要求“ 危险权限 ”,以提示用户使用隐私权政策和权限列表,以便他们接受或拒绝。
在某些情况下,测试自动化开发人员希望对策略进行额外验证并检查旋转屏幕时的显示方式 – 按钮是否仍然可见?文本有截断吗?
此外,在使用Espresso和/或XCTest UI测试此类应用程序时,该过程需要2个应用程序 – 其中一个是待测应用程序(AUT)。第二个是测试应用程序,它还需要验证应用程序的初始安装是否触发了策略屏幕,并且在新测试时,将不再显示(主要来自测试片状视角)。
对于上述场景,重要的是要声明大多数领先的开源测试框架不支持可视化测试自动化和分析。
考虑社区支持开源框架
最后,开源是关于社区的。如果社区不够强大,或者偏向于供应商,那么它对终端用户的价值将从功能,适应免费工具等方面削弱。
在衡量开源社区力量时要考虑的一个好的来源通常是这些工具的github – 有多少分支?有多少贡献者,他们来自哪里?有多少个版本? 考虑到这一点,让我们比较几个框架,看看……
Appium社区:
Selenium社区:
Apple XCTest UI:
Calabash社区:
Google Espresso (+ Google专用回购)
从上面的例子中可以看出,所有这些社区都是活跃的,人们正在贡献并从主回购中分支出来(当然不是同一卷),每个社区都有不同的 观星评级和观察。
明星将衡量对特定存储库的兴趣 – 使用书签的人。
观察者 会测量许多订阅者,以便接收有关该存储库的新讨论的通知。
如果我们考虑贡献者,发布者,分支机构,明星和观察者的整个衡量标准,我们可以了解社区获得的支持,兴趣和流量水平。这使得更容易选择一个框架而不是另一个框架 – 特别是当团队在所有工具之间检查诸如上述功能比较矩阵之类的事情之后存在争议时。
最后
获胜的配方是一个开源测试自动化框架,可满足您的应用程序所需的自动化功能,如可视化验证和环境条件,以及围绕该框架维护一个强大且活跃的社区。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/258001.html