IAm*_*aja 4 testing continuous-integration integration-testing automated-tests
我已经离开学校几年了,最近刚开始回去重新阅读我的一些教科书(我想保持新鲜感).我实际上发现我的软件工程教科书很有趣并计划阅读整个内容 - 如果有趣的话,因为当我在学校时我发现它非常无聊.
因此有一个专门用于集成测试的半章.而且,就像学术界的大多数事情一样,这是所有理论,在阅读的任何地方都没有实际应用.但是,它让我思考.
我们使用CruiseControl进行持续集成测试,但是看到我们是一个大型开发团队并且我没有处理部署/构建/发布,我从来没有亲自动手.当我打破夜间构建时,我不时会收到一封电子邮件.两位技术人员向我解释.
回答我的问题:我的旧教科书将集成测试称为组件之间的配对和测试,而不是针对特定类的单元测试.这可以通过"自上而下"或"自下而上"的方法完成,其中自上而下意味着将整个事物作为一个系统进行测试,然后递归地将系统分解为更小的子系统并对其进行测试; 自下而上意味着相反(从小开始,变大).
我的问题:
以下三个概念如何相互关联:
前两个中有"整合"这个词只是巧合吗?执行"夜间构建"与运行持续集成服务器(在晚上)相同,还是两个单独的概念?
如果持续集成测试和夜间构建与学术集成测试完全无关,那么集成测试如何在现实世界中体现出来呢?他们的框架像JUnit一样,但只关注集成测试吗?
我知道这些问题很多,但它们实际上只是归结为了解每个问题以及它们的使用方法.在线搜索每个都拉回了相当模糊,抽象的答案.
在几行中解释太大了.
持续集成基本上是自动检出,构建,测试,代码质量检查,部署等等的循环.它的测试部分包括单元测试(单元代码),集成测试(对数据库或外部资源的依赖)以及junit,rspec等工具和框架.
这些可以安排在每晚构建和定期建立.
像cruisecontrol,hudson这样的连续集成工具可以帮助您配置此过程.它更像是一个执行不同任务的调度程序,通过添加通知和工件管理来定义依赖项等等.
所有这些都是相互依存的.
更多信息@ http://martinfowler.com/articles/continuousIntegration.html