【发布时间】: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