【问题标题】:How to go about automated acceptance testing of desktop Java app?如何进行桌面 Java 应用程序的自动化验收测试?
【发布时间】:2014-02-07 08:20:03
【问题描述】:

我一直在考虑验收测试,并希望更清楚地了解它如何实现自动化(例如,如何融入持续交付管道)。我有一个用 Java 编写的桌面应用程序,一个信使应用程序。如果我想自动化验收测试,我该怎么做?这是一个手动测试示例:“当服务器崩溃时,用户 A 正在向用户 B 发送消息。切换到故障转移服务器,验证聊天可以从中断的地方恢复,并且所有聊天功能在客户端中仍然按预期工作"

JUnit 可以像这样用于自动化验收和系统测试吗?我也听说过 Selenium,但我猜它只是用于 Web 应用程序?

我了解使用 JUnit 进行单元测试的概念,但我不知道如何自动化更高级别的桌面应用程序功能测试。一些测试可能涉及与 GUI 的交互,例如向其他客户端发送消息,但其他测试将涉及服务器端的东西,例如服务器崩溃等。我一直在想,可能有可能使用 JUnit 和应用程序的代码来做到这一点,也许涉及一些脚本(Perl、Ruby 等)来启动测试?

【问题讨论】:

  • 这可能很难。您可以通过多种方式自动化 Windows 应用程序。从像 AutoIt 这样的免费软件到完整且昂贵的测试自动化套件。话虽如此,我希望我的单元测试能够涵盖您描述的所有场景。

标签: java unit-testing testing junit acceptance


【解决方案1】:

有几种软件解决方案为此付出了代价。一些严重的是 QTP(现在是 UFT)、TestComplete、Ranorex、SilkTest。他们都应该有可用的试用软件。如果 Java 应用程序是用 Swing/AWT 编写的,那么 Jemmy 可能值得一试。正如托尼霍普金森所说,AutoIt 可能适合,而且使用起来非常快。 Selenium 很棒,但据我所知仅用于网络测试。自动化 UI 对于自动化测试非常重要,并且由于它与最终用户的交互,它补充了验收测试。单元测试重叠很多,并且可能涵盖功能集成,具体取决于您如何组织它们并拥有足够的它们,但它们是两种不同的方法,具有两个不同的目的。

另外,如果您使用的是 Swing,请找到可能有帮助的帖子:http://www.coderanch.com/t/96035/Testing/Automated-Swing-Testing

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 2020-08-12
    • 2010-09-17
    • 2010-11-02
    • 1970-01-01
    • 2023-02-18
    相关资源
    最近更新 更多