我一直在考虑验收测试,并希望更清楚地了解它如何实现自动化(例如,并适合于持续交付管道)。我有一个用Java编写的桌面应用程序,一个信使应用程序。如果我想自动化验收测试,我该怎么做?这是一个手动测试示例:“当服务器崩溃时,用户 A 正在向用户 B 发送消息。切换到故障转移服务器,验证聊天是否可以从中断的地方恢复,并且所有聊天功能在客户端中仍然按预期工作”
JUnit可以像这样用于自动化验收和系统测试吗?我也听说过Selenium,但我认为它仅适用于 Web 应用程序?
我了解使用 JUnit 进行单元测试的概念,但我不知道如何自动化更高级别的桌面应用程序功能测试。一些测试可能涉及与 GUI 的交互,例如向其他客户端发送消息,但其他测试将涉及服务器端的东西,例如服务器崩溃等。我一直在想,可能有可能使用 JUnit 和应用程序的代码来做到这一点,也许涉及一些脚本(Perl、Ruby 等)来启动测试?