你如何测试可视组件?

时间:2008-12-09 06:41:06

标签: unit-testing user-interface testing

我想我理解单元测试。但我想知道:有没有办法自动化视觉效果,比如确保消除锯齿效果,或者网站上的圆角看起来应该如何?我觉得它不实用,但我在QA世界中没什么经验。

4 个答案:

答案 0 :(得分:2)

  

“抗锯齿效果还是网站上的圆角看起来应该如何?”

理论上,您可以编写自动化工具来拍摄渲染的快照,并以某种方式解析它们并与模型进行比较。

您需要某种“锚定”机制来将模型答案与渲染输出对齐,然后在其上进行颜色差异,其中结果输出为完整的黑色图像==完美符合性。

然而,这样做无疑是非常复杂的,并且不会弥补感知失败,例如如何在校准色彩图较差的屏幕上看到色彩人。

您需要做的是在应用程序中创建可能的所有导航路径的完整树(更容易以编程方式/测试套件驱动),然后将规范交给一组人来完成并执行在各种平台上。

  

这将在本周处理,但会   你重复手动测试evey时间   你改变了代码?或者每一个   你发布的时间?手动测试   根本不会扩展。它们很便宜   简而言之,但却无可救药   从长远来看。 - 蒂姆奥廷格

FWIW,即使Firefox仍然有人为驱动的测试套件。人类只是更好地认识到行为,即在满足定义的标准时,不符合尚未任意定义的其他标准,因此,还没有为其编写测试用例。

答案 1 :(得分:1)

答案 2 :(得分:1)

您还可以使用TestComplete等工具在GUI级别考虑自动化。有许多这样的工具,价格范围广泛,具有广泛的功能。查看SQAF automation forum,了解有关此主题的一些讨论。

答案 3 :(得分:1)

这是单元测试的一个难题,并没有很好的答案。从技术上检查屏幕上显示的结果不再是单元测试(它是更多功能测试)。

我发现的最佳方法是构建代码,使视图层最终成为 thin 。像MVC和Presentation Model这样的模式对此非常有用。完成后,您可以以编程方式测试视图的业务逻辑(如在视图组件之间的特定交互中),而无需实际显示任何内容。