【问题标题】:How do you test visual components?你如何测试视觉组件?
【发布时间】:2008-12-09 06:41:05
【问题描述】:

我想我了解单元测试。但我想知道:有没有办法自动化视觉效果,比如确保抗锯齿工作或网站上的圆角看起来应该如何?我觉得它不实用,但我在 QA 领域几乎没有经验。

【问题讨论】:

    标签: unit-testing user-interface testing


    【解决方案1】:

    “抗锯齿效果很好,或者网站上的圆角看起来应该如何?”

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

    您需要某种“锚定”机制来将模型答案与渲染输出对齐,然后对其进行颜色差异,其中生成的输出是完整的黑色图像 == 完全合规。

    但是,这样做无疑是极其复杂的,并且无法弥补 感知 故障,例如色盲人如何在颜色图校准不佳的屏幕上看到它。

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

    本周会处理,但会 您每次都重复手动测试 您对代码进行了更改?或者每个 你什么时候发布?手动测试 根本不会扩展。它们很便宜 简而言之,但代价高昂 从长远来看。 ——蒂姆·奥廷格

    FWIW,即使 Firefox 仍然有人工驱动的测试套件。人类更擅长识别在满足定义标准的同时不满足其他一些尚未被任意定义的标准的行为,因此还没有为其编写测试用例。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

          【讨论】:

            猜你喜欢
            • 2010-09-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多