4

我想为我的应用程序进行集成测试和系统测试,但是生成良好的集成和系统测试通常需要付出很多努力,以至于我没有费心。我尝试了几次,编写了自定义的、特定于应用程序的测试工具,每次都感觉像是在重新发明轮子。我想知道这是否是错误的方法。是否有“标准”方法进行集成和完整系统测试?

编辑:澄清一下,它是用于桌面和 Web 应用程序的自动化测试。理想情况下是一个完整的测试套件,可以练习应用程序的全部功能。

4

1 回答 1

5

如果“进行集成测试和系统测试”是指自动化测试,那么答案是否定的,没有标准方法。选择什么方法取决于:

  • 应用程序的特征(例如,它有 GUI 吗?它是只读的吗?它有多少外部依赖项等)
  • 您要测试的内容(也许您只需要 GUI 测试,或者相反,您并不真正关心 GUI,但内部逻辑很关键)
  • 您希望以多快的速度查看结果(例如,您存根越多,测试变得越快)
  • 您团队的技能组合

就个人而言,我喜欢任何与 JUnit 集成的方法。JUnit 是一个很棒的框架,它得到很好的支持,并且很容易与连续集成服务器绑定。以下是一些可能的方法:

  • Selenium with JUnit - 用于驱动 Web 应用程序的神奇工具
  • Concordion - 适用于所有应用类型。与 JUnit 集成并允许简单的英语测试规范。您的“夹具”/测试代码将与规范中的关键词挂钩,并对它们进行断言或执行操作。
  • FEST - 对于摇摆应用程序,它再次与 JUnit 集成(看到主题了吗?;)(这里有更多选择)

上述示例为测试提供了大量开箱即用的帮助。当然,它们仍然需要努力连接到您的应用程序并进行维护,但这些优势是值得的。除了上述之外,您可能还需要考虑如何对应用程序的区域进行存根或模拟。也许您想“在 GUI 下”或“在数据库之上”进行所有测试。在第一种情况下,您需要从代码中 GUI 与其交互的点开始测试,在后者中,您需要存根与数据库交互的服务。

重点是,有很多方法可以做到这一点。最好从非常清楚地了解您想从测试中得到什么开始。然后根据您想要测试的内容了解现有的框架可以帮助您,最后,不要试图在一夜之间征服世界。从小处着手,运行一些测试。获得绿色条(总是很高兴看到!)获得一个稳定的、经过验证的测试平台,并确保您对它感到满意。然后随着你的进展添加更多。

于 2010-04-28T19:39:18.577 回答