首页> 软件工程> 基于蓝鲸DevOps平台的一体化测试应用设计

[文章]基于蓝鲸DevOps平台的一体化测试应用设计

收藏
0 484 0

      企业通过DevOps体系落地,实现DevOps工具及流程规范的相关建立,实现CICD过程自动化。在整个CICD过程中,测试是其总要组成一环,由于测试的方式较多,在传统的测试设计里面,尚未有哪家测试工具实现了测试的全覆盖,而今天基于DevOps平台的自动化驱动与扩展能力,可以实现测试服务的一体化设计,通过一体化测试的应用,可带来明显的应用质量提升与效能提升,实现测试领域质量管理工作由被动向主动的转变。

     

   测试业务说明

随着研发过程的加速以及应用可靠性与安全性要求的不断提高,测试业务的关注范围也在持续演变中,测试业务的定位以及演变情况如下图所示:


       由上图可以看出,测试过程属于应用研发所涵盖的业务、开发、测试、运维的核心过程之一。根据测试自身的业务活动范围,其可分为两个大的阶段,一是基于软件包的测试为主的阶段,主要活动包括获取软件包、部署软件包、测试软件包以及发布软件包,二是在原有的活动中,向左扩展了针对源代码的获取、编译构建以及源代码级别的测试检测。后续,随着业务在线可靠性检测的要求提升,测试还将向生产过程扩展,生产过程的测试也必将常态化,如全链路压测。

测试内容可按照业务和方式两个维度进行划分,分别如下:

1.       按业务分类

功能测试:主要进行应用的功能检测,包括单元测试,接口测试、UI测试、移动端测试等;

性能测试:主要进行应用负载能力检测,包括传统的单点压测,以及当前流行的全链路压测。

安全测试:主要从源代码以及制品两个层面进行检测,常见的有SASTDAST,以及当前流行的IAST

2.       按方式分类

人工方式:以人工的方式开展测试工作,主要包括功能测试中的人工方式以及安全测试中的人工渗透测试等。

自动方式:以工具自动化的方式进行测试,测试之前要进行测试用例的开发准备或配置。

3.       测试配套服务

为了能够开展测试或尽量贴近真实环境进行测试,测试一般还会包括测试配套服务建设,分别为Mock和数据工厂。

Mock:用于提供测试中Api接口的模拟,以实现未有实现功能或第三方系统Api的模拟,用于完成测试所需依赖Api环境的准备。

数据工厂:用于进行测试数据的准备,包括真实数据的脱敏以及按结构、规则生成测试数据等,用于完成测试所需数据的准备。

由于测试业务本身的专业性较强,当前未有哪一款测试工具可以涵盖上述的测试内容全面支持,而正是因为如此,可以通过DevOps平台编排和驱动不同的测试能力,实现一体化测试的设计与实现。

   一体化测试设计

一体化测试设计,除了包括测试的相关能力的编排与驱动外,还需考虑到测试管理、质量控制以及测试的基础资源交付自动化等方面,从而最大程度的实现测试过程自动化,测试数据全追踪,从需求进入开始,全面掌握应用的测试开展情况。

2.1        DevOps平台能力分析

企业的应用系统,不管是采用自建、外包或两者结合的方式,也不管是采用传统模式还是敏捷模式进行开发过程管理与执行,其从需求提出到运维下线,IT业务核心过程是相同的,涵盖业务、开发、测试、运维四大阶段,各阶段所涉及的关键过程如下图所示。


       当前,企业进行DevOps建设,核心领域主要包括“需求+CICD”,相关工具能力展示如下图:


       在整个DevOps平台中,核心能力是进行横向贯穿的管理与工程流水线能力,测试能力及其它纵向能力,具有一定的可替换性。

2.2        一体化测试能力需求分析

一体化测试,就是实现从源代码开始,到应用发布的测试,其不仅需涵盖测试的相关方式能力,还需包括测试的配套服务能力,以实现从需求提出,到应用版本测试发布的全过程支持,实现基于需求的全过程质量跟踪,以及最大程度的自动化。一体化测试所需能力如下图所示:


       由图可以看出,一体化测试能力所需能力与DevOps平台有较大部分的重叠,在运维领域需要增加异构测试环境资源自动化交付能力,从而才能最大程度的发挥一体化测试的优势。

2.3        一体化测试应用设计

一体化测试的应用可以从两个维度进行考虑,一是基于DevOps理念的测试左移,将测试的相关能力以服务的方式提供出来,由开发人员在开发过程中按需取用,从而在开发阶段就可以借助测试服务能力,进行应用质量的检测与管控;二是构建企业测试领域的一体化检测认证服务机制,构建完备的测试领域能力。如下图所示:


 

   一体化测试落地途径

由上述可以看出,一体化测试落地需要涉及三个方面的能力,即“基础资源纳管能力(自动化运维)+流程自动化能力(DevOps+专业测试能力”,初步能力组成分析如下图:


 

       基础资源纳管能力+流程自动化能力可基于蓝鲸平台提供,移动端测试、数据工厂、Mock、全链路压测等专业测试能力补充则可通过开源或商用工具提供,蓝鲸平台能力说明如下图:


 

软件工程
最近热帖
{{item.Title}} {{item.ViewCount}}
近期热议
{{item.Title}} {{item.PostCount}}