专栏首页嘉为科技的专栏基于蓝鲸DevOps平台的一体化测试应用设计

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

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

测试业务说明

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

由上图可以看出,测试过程属于应用研发所涵盖的业务、开发、测试、运维的核心过程之一。根据测试自身的业务活动范围,其可分为两个大的阶段:

一是基于软件包的测试为主的阶段,主要活动包括获取软件包、部署软件包、测试软件包以及发布软件包。

二是在原有的活动中,向左扩展了针对源代码的获取、编译构建以及源代码级别的测试检测。后续,随着业务在线可靠性检测的要求提升,测试还将向生产过程扩展,生产过程的测试也必将常态化,如全链路压测。

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

1.按业务分类

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

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

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

2.按方式分类

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

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

3. 测试配套服务

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

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

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

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

一体化测试设计

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

DevOps平台能力分析

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

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

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

一体化测试能力需求分析

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

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

一体化测试应用设计

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

一体化测试落地途径

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

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

总结

通过蓝鲸DevOps平台,可以轻松的实现单元自动化、接口自动化、UI自动化、性能自动化、移动端测试、全链路压测等测试能力的集成与自动化编排应用,既能帮助企业测试或质量部门建立一体化测试能力与低成本的质量控制手段,又为企业研发提供自助化的测试验证服务,实现测试左移,缩短问题反馈弧,降本增效。此外,结合蓝鲸的资源交付自动化能力、第三方的数据工厂能力,还可以进一步提升测试的自动化水平和测试完整度,提升效果的同时降低整体的测试成本。

本文分享自微信公众号 - 嘉为科技(canway_service),作者:黄全中

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 敏捷测试——打通开发与测试的壁垒!

    DevOps是当前软件行业最热门的话题,无论是互联行业,还是传统行业,大家都在拥抱DevOps,享受引入DevOps后带来的团队效能提升。但是也有不少的团队对D...

    嘉为科技
  • Windows7至Windows10的升级建议

    目前,诸多企业或已开始在进行Windows7至Windows10的升级,或正在规划Windows7升级至Windows10。

    嘉为科技
  • Red Hat安全公告—2016年12月

    在2016年11月份至2016年12月份Red hat CVE漏洞库发布了6个“重要”“严重”等级的安全漏洞,针对出现的安全漏洞,发布了对应的Bugzilla。...

    嘉为科技
  • 测试工程师进阶面试题目大合集

    很多软件测试工程师在面试的时候都会遇到考官给的各种各样的面试题,这也反应了测试工程师对企业的重要性,面试通常分为以下几个方面,由于篇幅有限,在这里就只给大家分享...

    优测utest
  • 软件测试思想浅谈

    张树臣
  • 10年软件测试工作总结

    张树臣
  • 产品不同测试阶段的测试分析

    软件测试应该贯穿软件产品的整个研发周期,在不同的研发阶段,会有不同的测试方法和手段跟进。进行不同的测试来保障产品的质量。软件测试的分类有很多种,本文章就以一个...

    小老鼠
  • 云端测试和性能测试实战

    随着越来越多的应用程序开始采用云端部署的方式,包括微软 Azure、谷歌云、亚马逊 AWS 或者国内的阿里云、腾讯云等, 怎样确保在本地正常工作的生产代码(Pr...

    小老鼠
  • 功能测试工程师的自动化学习之路

    绝大多数测试同学都是从功能测试做起的,工作忙忙碌碌,每天在各种业务需求学习和点点中度过,过了好多年发现自己还只是一个功能测试工程师。

    吾非同
  • 软件测试初认识(三)

    完成对最小的软件设计单元模块的验证工作。对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试。

    吾非同

扫码关注云+社区

领取腾讯云代金券