continuousintegrationpipeline
背景介绍持续集成(ContinuousIntegration)是Devops理念的一种实践过程,同时也是敏捷开发的具体表现形式。除了持续集成,还有持续交付(ContinuousDelivery),持续部署(ContinuousDeployment)等。这里我们着重介绍持续集成过程中的测试自动化(TestAutomation),如果测试没有实现自动化的话,那么整个持续集成是不完善的,同时也不是高效的。因此自动化测试是持续集成过程中的重要一环。
devops
测试自动化自动化测试(AutomatedTest),很多团队都在做,但是往往效果不明显。究其原因还是对自动化测试的理解误区,以为有了自动化后,就不需要手工测试了,因此将一些不适合做自动化的测试用例进行自动化,导致了投入产出比过高。同时,由于缺乏好的统一的测试框架支持,自动化测试脚本编写的复杂度过高,维护性差,耗费了测试人员大量的精力来编写和维护自动化测试用例。
TestTools
基于此,我们在自动化测试实践过程中,选择了一款验收测试自动化测试框架RobotFramework,来作为我们的底层核心框架。同时基于RF框架,构建我们整个可维护性可扩展性的自动化测试套件架构。如下所示:
AcceptanceTestSuite
这个自动化测试套件架构具体分为三个大层,八个小层。我们分别来介绍:
平台层平台层,主要是提供测试用例运行环境,运行库的。对测试用例屏蔽了具体的底层技术细节,同时提供了一个统一的测试用例编写语法。平台层,主要包括测试框架层,和测试库层。
测试框架层测试框架层,我们选择RobotFramework来作为基础框架,负责测试用例的解析,测试用例的执行,测试监控以及测试报告管理。也可以选择其他框架如Cucumber或者是TestNG等。
测试库层测试库层,主要是与实际被测对象进行交互的工具封装层。如对Web测试工具Selenium的封装层Selenium2Lbirary,对接口测试工具requests的封装层RequestsLibrary等等。
资源层资源层,主要是为测试用例提供资源的,如用户自定义的关键字资源,变量资源或者其他资源类型。这里重点
转载请注明:http://www.0431gb208.com/sjszlfa/8408.html