2

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

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

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

4

1 回答 1

2

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

此外,如果您使用的是 Swing,发现此线程可能会有所帮助:http ://www.coderanch.com/t/96035/Testing/Au​​tomated-Swing-Testing

于 2014-01-17T21:34:26.823 回答