场景1:我最近一直在玩CI工具Jenkins,使用Maven集成我的Selenium WebDriver测试。我理解持续集成(关于测试)是一个自动触发测试的概念,只要一些构建(让我们称之为Build#666)由开发人员签入。这有助于我们在早期识别错误。
场景2:现在假设我在不使用Jenkins的情况下运行相同的测试。假设我甚至不使用Maven,我只需右键单击我的TestNG套件并针对Build#666运行它(意味着我手动启动我的自动化测试,以便在Build#666的代码运行时立即运行签入)。
除了詹金斯允许测试自动运行(没有方案2中的手动干预)以及具有在所需时间安排测试的功能之外,最大的区别是什么?
→我是否可以将场景2视为持续集成,因为我正在针对同一版本部署相同的测试,但我不使用CI工具,而是手动执行?
答案 0 :(得分:2)
使用CI服务器的原因有很多(Jenkins只是众多选项中的一种),而不是在本地构建和测试:
CI服务器提供运行测试的已知环境。开发人员计算机通常需要手动配置,因此,由于安装的软件版本不同,环境配置等,测试结果可能会有所不同。
CI服务器可以通过运行比开发机器更好或更多的硬件来提高构建速度。
CI服务器提供诸如不同构建之间的依赖关系等功能,否则您必须自己实现(脚本)。
CI服务器是构建工件的存储库:包括编译和/或打包软件,以及分析结果,如代码覆盖率和静态分析结果。
与工程师不同,CI服务器可以运行构建
使用CI服务器比让工程师做同样的工作要便宜。
倒数第二点意味着,如果您没有自动运行构建,则表示您不会执行CI。自动化使" C"在CI。