服务组件测试:持续交付充满信心

交货速度是今天的一个关键指标。特征和想法需要更快地向客户提供,以便更快地收集反馈,并且可以更改或调整产品以增加成功的机会。然而,在编写代码和运输代码之间介于关键的测试步骤,这可能是许多工程团队的瓶颈。

为了解决这个问题,团队聘请了测试人员编写了许多自动化测试。大多数测试都被编写了以完整的整体运行,(即将到达客户手的净产品的近似表示),并以类似于客户将如何执行它们的方式执行场景。这些测试称为端到端(E2E)测试。但是,他们很快意识到E2E测试通常会受到不可靠性,片状,缓慢等困扰。这发生是因为对于E2E测试,所测试的系统的边界太大。由于系统的每个部分都有失败的概率,因此在被测系统中存在的距离越多,系统的净失败概率越高,因此对其运行的测试。

因此,团队然后将焦点改为编写单元测试,其中系统的系统是最小的,因此测试失败的可能性是最低的。然而,由于非常微小的系统边界,单位测试在测试特征或产品的增值不是很好。

因此,需要另一种类型的测试,其中系统的系统的边界是中间的某个地方,以便能够测试我们正在运送的软件的主要价值,但在控制下具有失败的可能性。在这篇文章中,我们提供了在Realtor.com上进行的组件测试方法进行案例研究。

Continue reading “服务组件测试:持续交付充满信心”

我们的Jenkins管道故事(第4部分):Docker中的目录

到目前为止,我们的Jenkins管道故事,我们谈到了宣言与脚本的DSLdecision,并涵盖了两个挑战 - temp data, and 无限工作循环。在本章中,我们专注于我们在Docker内的目录中经历的挑战。我们还将结束我们的故事。

Continue reading “我们的Jenkins管道故事(第4部分):Docker中的目录”

我们的Jenkins管道故事(第3部分):无限的工作循环

到目前为止在我们的Jenkins管道故事中,我们在jenkins 2.0的推出中提供了背景,涵盖了宣言和脚本的DSLdecision并潜入一个挑战temporary data。在本章中,我们将专注于不同的问题,无限的工作循环以及我们为他们解决的问题。

Continue reading “我们的Jenkins管道故事(第3部分):无限的工作循环”

我们的Jenkins管道故事(第1部分)

在Realtor.com,我们努力使运输和操作软件轻松,以便我们可以专注于客户需求,反馈和结果。我们这样做的一种方式是通过投资建立工具和自动化。从历史上看,我们的建立工具已经过Jenkins,这仍然是真实的。

大多数团队都使用自由式作业将工作负载部署到亚马逊Web服务,但结果一直是作业串联,其中一个输出将是另一个的输入。最近我们一直在探索Jenkins 2.0。我们一直在实施Jenkins管道作业,这介绍了一种能够将多个作业合并到可以在修订控件下管理的单个简明文件的方法。

Continue reading “我们的Jenkins管道故事(第1部分)”