【问题标题】:Automated GUI testing of real-world desktop and/or web applications [closed]真实世界桌面和/或 Web 应用程序的自动化 GUI 测试 [关闭]
【发布时间】:2015-05-11 17:56:35
【问题描述】:

这与其说是一个问题,不如说是一个关于在实际应用程序中使用自动化 GUI 测试的最佳实践的讨论(其中实际应用程序是具有两个以上表单和三个按钮的应用程序,其复杂性超出了计算范围)两个数字并在 texbox 中显示结果)。

我在网上搜索了有关实际应用程序的自动化 GUI 测试的实践经验。大多数文章都提供了非常有限的示例(即测试简单的计算器式应用程序),这些示例对于在具有 100k+ LOC 的应用程序上启动自动化 GUI 测试没有用处。

在实施自动化 GUI 测试时,我不想犯初学者的错误,所以我问你:

  • 在进行自动化 GUI 测试时,您的做法是什么?
  • 您使用什么工具,为什么?
  • 如何处理复杂的执行路径?
  • ...

为了更具体,让我更详细地描述一下情况: 我们有 100k+ 用 C# 编写的 LOC 项目。它是一个 Windows 应用程序,并与硬件(通过不同通信协议的各种测量单元)交互。我们对“通用”功能(库等)进行了单元测试——这些功能是独立的,可以单独测试。由于使用真实硬件的限制,我们无法以自动化的方式测试所有内容(投资太高) - 但我们可以自动化测试人员现在手动完成的至少一半工作。我想“改造”我们的一些测试人员来管理自动化 UI 测试。我们的测试人员的编程技能有限,因此我们案例的最佳工作流程是记录 UI 测试或使用一些简化的编程方法。 UI 测试的未来维护应该由测试人员完成(与由程序员完成维护的单元测试相反)。

  • 应用程序使用 SQLite 数据库存储其配置和数据。
  • 必须针对不同的测试数据集运行测试。如何/在哪里存储数据?
  • 当使用一组以上的测试数据时,在使用下一组测试数据之前必须达到“安全”状态 - 我们 100% 确定应用程序正常的状态。您更喜欢重新启动应用程序还是以编程方式还原您在测试中所做的更改?这方面的一个例子是登录 - 为每个测试登录或登录一次并连续执行多个测试?
  • 所有测试都应在混合环境(虚拟和物理)的不同 Windows 操作系统平台(Win7/Win8、x86/x64)上运行。
  • 如何为组件运行 UI 测试?您是否制作简单的测试程序并使用该程序进行 UI 测试?或者其他什么?

【问题讨论】:

    标签: automated-tests coded-ui-tests gui-testing


    【解决方案1】:

    您在进行自动化 GUI 测试时的做法是什么?

    • 记录页面
    • 自动生成方法,以便我可以更新页面 轻松

    尽可能避免。我目前正在研究使用 MVC 进行单元测试。 建立一种轻松更新页面的方法。 您使用的工具是什么?为什么?

    1. Specflow - 用于工作流测试
    2. T4 - 用于从页面生成方法
    3. Selenium - 用于跨浏览器测试
    4. CUITe - 扩展编码的 ui 测试和记录

    您如何处理复杂的执行路径?

    1. 具有架构模式,例如MVC
    2. 模型:ui 控件的页面映射
    3. 视图(导航):如何导航到页面并满足前置条件和触发器
    4. 控制器:调用导航和模型的测试方法

    跟进问题:

    • 您打算多久维护一次这些编码的 UI 测试?
    • 谁来维护这些测试?
    • 请详细说明“安全状态”、类型、线程?
    • 您将如何处理页面加载?
    • 您要进行跨浏览器测试吗?
    • 您要在多个环境中进行测试吗?
    • 您要使用多个测试代理进行测试吗?
    • 您将如何生成测试数据?
    • 您将如何存储测试数据?
    • 你有单元测试吗?
    • 您是否在进行手动测试?

    【讨论】:

      猜你喜欢
      • 2014-11-21
      • 1970-01-01
      • 1970-01-01
      • 2017-11-24
      • 1970-01-01
      • 2010-11-09
      • 2011-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多