自动化测试GUI(而不是其下的东西)有什么理由吗?在我看来,GUI(以及其中的更改)应始终由真正的人员进行测试。
通过自动化GUI聚焦测试可以获得什么?我的经验是GUI聚焦测试几乎总是会因为某个人以非常好的原因更改了某些内容而出现故障。它们很少能找到任何有趣的东西。
自动化测试GUI(而不是其下的东西)有什么理由吗?在我看来,GUI(以及其中的更改)应始终由真正的人员进行测试。
通过自动化GUI聚焦测试可以获得什么?我的经验是GUI聚焦测试几乎总是会因为某个人以非常好的原因更改了某些内容而出现故障。它们很少能找到任何有趣的东西。
这取决于您测试GUI的哪个部分。您是通过运行GUI测试来测试系统的行为,还是想测试您的GUI是否始终正确显示。
在后一种情况下,这取决于您的应用程序。如果布局和设计很重要,我同意。但是,如果它是某个应用程序,其核心功能不是布局本身,则没有必要投资时间进行布局测试。最好编写使用GUI测试功能而不是某些函数调用来测试功能的GUI测试。这样,真实的行为更好地模拟。
人类在测试GUI方面非常擅长。但是,这种方法成本很高。自动化测试工具理论上可以降低UI测试的成本。如果您经常发布更新,手动UI测试时间可能会迅速增加。
就我个人而言,在我参与的项目中,我从未见过自动化UI测试工具回收其设置成本。它们的测试往往很脆弱,对布局更改反应不佳。因此,我不太相信它们。不过,如果有证据证明我错了,我会很高兴接受。
这是可能的。对于浏览器,您可以使用像Selenium这样与浏览器交互的测试套件。
在这种情况下,我的做法通常是对非GUI层进行单元测试,尽可能使用自动化测试来测试GUI,然后手动测试剩下的部分。我还使用手动测试来进行特殊缺陷检测,以识别缺少的测试用例。
对我来说,这为测试覆盖率和成本提供了最佳比例。最终取决于您想要实现什么目标 - 这是关键任务软件还是一个简单的应用程序,失败纯粹只是一种不便?
最好先进行可用性测试。 此外,您将如何测试单元GUI?输出会是什么?如果有人点击某些东西并获得他“最初”想要的东西,那么应该考虑什么是不可接受的行为?
您将得到大量的垃圾信息需要查看。 可用性是一个大词,但简单的可用性测试是雇用您的朋友(最好不是您认识的人,而是朋友的朋友),他可能被视为应用程序的“目标受众”。戴上camtasia/camstudio(桌面录制软件,记录他的面部可能很好)。给他一些任务在纸上(或者当面,有时纸张更好,因为您不会干扰-更逼真的场景)。然后观察他在做什么!
如果他需要帮助,那么您可以看到未来开发的关注点。 永远不要试图影响这个人,告诉他像“但是看这里有这个按钮,我认为这样更方便”的东西。
通过这种测试,您将获得比浪费时间进行计算机对计算机测试更好的输出。GUI是人与计算机之间的接口。单元测试gui就像尝试解析您刚写的书并查看它是否好。 当然,它将消除拼写检查错误,但这是一个非常小的事情->与书的真正目标相比。
如果您在GUI测试中有重复的单调任务,并且需要为多种浏览器和操作系统组合执行该任务,则自动化GUI是值得的。通过维护技术,可以回答著名问题“UI更改将使自动化无关”。