当前位置:  开发笔记 > 运维 > 正文

如何自动化集成测试?

如何解决《如何自动化集成测试?》经验,为你挑选了1个好方法。

我想知道一些事情,我知道为了让你的测试更容易,你应该在单元测试期间使用mock来测试你想要的组件,而不需要外部依赖.但在某些时候,你必须咬紧牙关并测试与数据库,文件,网络等交互的类.

我的主要问题是:你如何测试这些课程?

我不认为在我的CI服务器上安装数据库是一种很好的做法,但你有其他选择吗?

我是否应该使用其他CI工具创建另一个服务器,具有所有外部依赖性?

我应该像我的单元测试一样经常在我的CI上运行集成测试吗?

也许全职人员应该负责手动测试这些组件?(或负责创建测试环境并配置类和外部依赖关系之间的交互,例如编辑应用程序的配置文件)

我想知道你在现实世界中是怎么做的.



1> Jeffrey Fred..:

我想知道你在现实世界中做得怎么样?

在现实世界中,没有关于该做什么的简单处方,但有一个指导性的事实:你想在引入之后尽快发现错误/错误/测试失败.让它成为你的向导; 其他一切都是技术.

几种常用技巧:

Tests running in parallel. This is my preference; I like to have two systems, each running their own instance of CruiseControl*(which I'm a committer for), one running the unit tests with fast feedback (< 5 minutes) while another system runs the integration tests constantly. I like this because it minimizes the delay between when a checkin happens and a system test might catch it. The downside that some people don't like is that you can end up with multiple test failures for the same checkin, both a unit test failure and an integration test failure. I don't find this a major downside in practice.

一种生命周期模型,其中系统/集成测试仅在单元测试通过后才运行.像AnthillPro*这样的工具是围绕这种模型构建的,这种方法很受欢迎.在他们的模型中,他们获取已通过单元测试的工件,将它们部署到单独的临时服务器,然后在那里运行系统/集成测试.

如果您对此主题有更多疑问,我建议您继续进行集成和测试会议(CITCON)和/或CITCON邮件列表.

有很多CI和构建过程自动化工具.这些只是他们的工具类的代表.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有