连续测试如何在实践中工作?

铅试验工程师和QA顾问,SCIENCESTOFT

发布:
5分钟 read

编辑注意:在文章中,Tatyana股票经过验证的持续测试实践,我们为客户实施,以帮助他们实现其优质目标。如果您决定实施或觉得自己需要更深入参与QA顾问,欢迎您来考虑我们的软件测试和QA服务.

在SCIENCESTOFT,我们通过在整个交付管道中加入增量,不间断的测试活动来实现连续测试。这样,我们验证了对应用程序的小型变化的质量,并早起,如要求工程和软件设计阶段检测和防止缺陷。分析在我的项目中应用持续测试实践的结果,我可以说甚至引入它的元素,帮助我们平均将测试过程速度提高25%,并提高软件质量30%。

下面,我总结了SCIENCESTOFT对连续测试的方法的基石,并列出了我们在为客户建立持续测试时实施的实践外包QA.到科苏福特。

连续测试

SCIENCESTOFT的连续测试方法

我将所有连续测试活动划分为我们在实际开发开始之前和我们直接在开发过程中纳入的人。

连续测试方法

筹备活动

将软件分成模块

包括需要编译和部署在一起的多个组件以连续测试造成多个组件。为了快速反馈这些应用的质量,我们在Sciencesoft将它们分解为模块。我们根据功能相似性单独出来(例如,将电子存储除以用户帐户和目录管理,结帐和付款,分析和报告等的模块,并根据业务风险对其进行测试和部署来优先考虑它们独立。

对基础设施组织进行优化的方法

连续测试的增量性质需要采用特殊方法进行基础设施组织,即建立连续集成/连续交付管道。 CI / CD管道使我们能够在整个软件传送生命周期中推出单元测试以及自动化API和UI测试,并触发这些测试的执行而不进行人类参与。我的同事 安迪Lipnitsky.是Scienceoft的Devops顾问说,他的偏好工具持续整合/连续送货管道是Jenkins,Bamboo和Gocd。

想踏上连续的测试旅程真的很快吗?

Sciencesoft已准备好分析您的项目,并帮助您以驱动有形质量和效率改进的方式实施连续测试。

在开发期间持续的测试实践

提高单位和API水平测试的份额

软件可以在单位,API和UI级别验证。在传统的测试过程中,较大的测试份额在于在UI级别手动验证软件的测试团队。在这种情况下,软件测试金字塔如下所示:

传统测试过程

至于SCIENCESTOFT的连续测试项目,我们将左侧的测试活动较大,涉及QA进程中的开发团队,这使得软件测试金字塔如下所示:

连续测试过程

我的同事Vadim Belsky.,SCIENCESTOFT的Web开发负责人解释了增加单元测试量的需要:“相对容易地编写和执行秒数,单元测试提供了可靠的深入了解应用于应用程序的更改质量,并帮助防止错误进入稍后的交付周期阶段。为确保单位测试的结果可靠,我们会定期更新单元测试,并将其包含到共同的应用程序代码审查实践中。“

此外,在具有短释放周期和频繁变化的连续测试的项目中,UI测试非常困难,维护昂贵。因此,我们使用API​​测试作为验证对应用程序逻辑所做更改的主要方法。根据项目和应用程序的具体情况,我可以选择手动或自动API测试,或选择两者的组合。

自动触发测试执行

正如我早些时候所述,我们经常将测试自动化框架与Jenkins等自动化服务器集成在我们的连续测试项目中。这使我们能够触发自动测试执行并并行运行测试。例如,验证客户的复杂图像处理应用程序,我们采用了多个代理程序自动设置单元和UI测试。在每个新的代码提交时执行单元测试,并且在新的代码提交后的15分钟内包含470个自动化UI测试的部分回归测试套装,每次开发人员最多30天的提交数量。

仔细结合手动测试和测试自动化

尽管具有共同的信念,但切换到连续测试不等于消除手动测试。在SCIENCESTOFT,我们采取了综合的方法来测试和结合手动和自动化努力。我选择自动测试每次迭代不得更改的功能,而复杂或频繁变化功能的自动化可能会占用太多努力,并且可能超过所承诺的好处。执行手动测试,我们通过采用复杂的测试技术,例如决策表来验证在交付周期中的关键软件模块。

你可以通过连续测试来实现什么?

基于SCIENCESSTOFT的连续测试经验,采用所描述的技术,您可能会得到以下好处:

  • 快速反馈关于软件质量。在整个软件交付生命周期中实现的自动化测试活动允许评估应用程序的架构的每层,并获得有关正在测试的软件质量的快速和频繁反馈。
  • 更快的发布和更短的市场时间。连续测试实践提高了测试速度,并帮助我们减少验证软件所需的时间。例如,在我们的一个项目,UI级测试自动化单独将测试时间减少至少25%。
  • 项目团队之间的通信透明度。实现连续测试实践,可以消除测试,开发和运营团队之间的孤岛。正在进行的沟通允许将新的软件件提供更快,并且没有关键缺陷。

不要留下缺陷的机会!

我的练习表明,连续测试可以推动令人印象深刻的质量和效率结果。但是,持续测试实践的实施通常受到挑战。首先,项目团队需要适应Devops文化,这要求所有团队成员都在一致上工作。此外,应用程序本身的具体细节可能导致采用连续测试造成困难 - 所描述的实践可能是在处理具有复杂架构和业务逻辑的软件的项目中实现的具体挑战。

我的同事和我帮助了许多科学过渡到连续测试,以便现在,他们的测试过程推动有形的质量和效率的改进。如果您考虑过渡到连续测试,那么欢迎您给我们留下一个要求寻求帮助。

QA通过SCIENCESTOFT咨询

我们帮助公司考虑业务和行业细节,制定QA战略,开展QA审计并找到减少QA费用的方法。