请选择 进入手机版 | 继续访问电脑版

IT运维管理,ITIL,ITSS,ITSM,ISO20000-ITIL先锋论坛

 找回密码
 微信、QQ、手机号一键注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

艾拓先锋
搜索
查看: 250|回复: 0

DevOps微课之云测试案例

[复制链接]
来自- 巴西

参加活动:0

组织活动:0

发表于 2018-10-12 10:12:29 | 显示全部楼层 |阅读模式 来自- 巴西
本帖最后由 adminlily 于 2018-10-12 10:16 编辑
% T, e! z4 {/ A/ `
! t) I* C  r% a5 E+ B$ s
DevOps微课系列旨在帮助用户学习DevOps实践。今天和大家介绍云测试案例。
, ?" h4 P0 Q) X5 O) P$ `9 y  V
9 }$ S5 _' Y5 l3 O" I
本文适合的读者:

7 `1 {; A; S8 J9 x! Y

' j& z/ a$ A8 l* d" E, z/ H& ?" W7 [0 p
1、实现资源循环利用的实践者

- a( j: u# h& V' U5 R; D" d8 C% @
  e  h/ n1 F: j' Z% e
2、实现不同规格产品安全测试方案的实践者

+ y0 Z+ u' @" w0 m: S  h! f2 Y

0 g% v0 T9 _/ C6 N) c9 u
3、虚拟环境可视化编排、一键部署和释放环境的实践者

2 W  a: u6 U: f7 T( d8 t7 W/ l

, A6 H2 u" t) M  }8 E% y; d
4、研发提效的管理者,DevOps爱好者
. r4 h" z% e/ m4 V1 E8 F( ~

6 X. J6 b% A1 U7 O0 T
本方案适用于测试环境资源不足,测试不充分的项目。各项目可以结合自身特点对模板作适当的修改,即可实现本项目资源的循环合理利用。在特性移交和系统测试执行方面,各个团队也可根据自身特点,采纳使用。

: b# c) R2 K& D9 S
0 |1 L3 W3 |1 o4 T# E: L4 n1 ]
===================
【实践收益】通过实践可以解决以下几个问题:1. 有效解决项目资源不足导致测试用例执行不充分的现状。2. 在环境一键部署和删除、开发调试验证方面都有很不错的优势。3. 规划的特性移交方面,可以避免以前比较繁琐的流程。4. 规划的测试执行方面,可以解决目前测试结果不透明的现状。
( p0 i- V2 v3 J- o1 N( \
5 T) Y8 \# k  i4 x+ ~
【项目痛点】
3 m0 L4 S5 V# B$ l! C# n. |
对应商用产品项目支持多种规格,包括2核6G、4核16G、8核16G、14核20G等。面对环境资源有限、纷繁复杂的需求和应用场景,如何快速交付价值并保证不同规格的产品质量,便成为项目急需解决的问题。
1.png
       图1 项目现状分析

# C9 \; Y! @) g" k
, R+ R7 P/ o+ M

2 n; s, Y; a+ M1 d. P$ `5 R0 r
8 Y3 o6 b/ M) A2 k
【解决思路】
% `8 w$ d) x/ K$ E7 g0 ?

8 L; J0 F" l- t9 L
1、将云测试平台用于项目的实际测试执行和测试管理工作中,实现环境资源的重复利用,从而实现不同规格的全方面测试

9 g# {0 U2 o8 K! z* y- H& r

) O' _7 H  [, i4 u8 d" n
2、依托DevOps工具链,将云CI和云测试有效结合,深化“自动化测试/CI建设”实践,实现不同规格产品的自动化测试。

" |) q+ w, `& X4 m
. O; {' u' \$ y1 q) E8 [1 A
【云测试平台】
/ z" N" ?5 k( g+ f- E, m. s
/ E, E) B' L; N
云测试平台功能概览:
1.png
图2 云测试平台功能概览

; n" ]3 l8 Y6 C& |

: N" K  {) ~, a9 k
云测试平台可实现:

0 v5 N- E' |  q( d  Q) ^  C; e
/ x0 e  [4 A# L- r9 a; n
  • 虚拟化环境一键动态部署,提供PAAS/IAAS应用测试环境一键自动部署和销毁;

    9 A0 R: F, J/ }4 I8 S
4 q; L+ X1 g3 {  J: |& z

" R; }1 o. F* l: q9 z7 r' K! E
  • 测试任务创建和执行;
      }, f: |# m8 e3 I1 d
  {7 t* v$ R4 n& q9 w$ c( d, _
  • 测试结果展现和分析;
      y: L6 e( _2 }1 S4 A, b/ I

. Z" n5 P; Q5 ?
【业务流程】
8 Y& @9 {% \9 V) j8 w
1 f4 D& W: T$ o& f  M
如下图:
1.png
图3 业务流程
1 }. v7 W$ Y$ U. x6 a

9 o4 ?- N( Q. z- V; P8 r1 c: E
流程说明:

% y! l; X' U3 q& z  C- ]/ i
/ ^' S; u* _" J6 V' O
1. 自动化用例编写完成并合入gerrit仓库;

( _  Z% B) Z. {* ?6 S
1 F) Q# U4 I0 X$ r, x6 x. F6 C4 F# F* V
2. 云测试平台提前创建好不同规格对应不同测试用例的测试任务;

* w' f) i( @$ u& ?9 ]. M

/ I9 R9 Q) t; p. b0 q" p6 ~
3. 云测试平台提前创建好不同规格测试环境对应的测试模板;
. I5 u4 r% S- C5 G
7 Q7 b, t2 A4 G5 [
4. 云CI上创建job,实现:代码更新->不同规格版本编译->A规格环境自动创建->A规格自动化用例执行->A规格环境销毁->B规格环境创建->B规格自动化用例执行->B规格环境销毁......->不同规格产品发布到制品库。
/ b- S1 s4 M! _
/ z% V9 s. `: @' Y
【实践( k; v/ Y5 J/ ~& B  q/ c7 [: O
% ^0 y1 x. [3 U4 J5 _
1. 云测试平台模板创建:依次点击:环境管理->EAAS环境(新)->模板选项卡

% ?( a0 Q5 C3 e+ m  Q0 Z5 Y

6 j1 H1 Y& r* I7 v
2. 云测试平台不同规格任务创建:依次点击:任务管理->我的任务
( Y! d: ]. P' e' N; v

4 q4 B# P+ G  u5 c. Y2 [1 Q* c
3. 云CI拉通云测试实现多规格用例测试
' t7 E: r( H; Y" d

0 r" u$ o. O1 W) H
【具体步骤】环境模板创建在云测试平台中建立不同规格的环境模板。
1.png
图4  2C 6G规格模板
1.png

   图5  14C 16G规格模板


- @1 B( K% u- ~

: f8 F% b7 ^+ X$ I1 K
模板的详细配置参考具体举例中“模板创建”。
0 y6 ]4 N, u0 {% v9 ~
" ?  Z- l0 W, J& d: Y; o( ^( S& W# \
测试环境初始化任务创建
' o+ e% ]: `* i$ u. P) Y5 \. {+ s
6 a$ i; s% ]8 b* R" N' R7 A' C& }. D0 e: k; V
在云测试平台->任务管理->我的任务中,创建“测试环境初始化”任务。
1.png
图6  2C 6G环境初始化任务
1.png

图7 14C 16G测试环境初始化任务


5 U% p, w# H" ~1 U% e- q6 ^: C' ~9 b

/ p2 ?# o" b& `  A2 x  q1 G

测试环境初始化任务详细配置参考上述具体举例中“云测试平台不同规格任务创建”。

& k0 h1 g2 V+ |

( h+ ?$ X( l2 i1 [  z+ p- K

测试任务创建
# ~1 I2 a7 V: }* G& t; ]
1.png

5 I3 d# v* m( {

图8 2C 6G测试任务

1.png

        图9  14C 16G测试任务

- q, ]/ c- I/ n  L9 `1 n. x% Q
5 F7 J0 K# f( T4 _) Z
测试任务具体配置参考上述举例中“云测试平台不同规格任务创建”。

( m7 C+ {6 l/ [6 ~* W. X/ O  w! U

- f" m8 Q. U+ f
云CI上创建job同时会发送邮件给团队成员;最后所有job执行完毕后,会释放所有环境占用的资源,白天开发会利用这部分资源进行开发验证调试,实现环境的循环利用。
  k, W9 b" h! w& j2 P

" P4 ]  I7 ^* i' `+ D

开发验证调试


4 ~9 {! `- N+ \0 z! _0 {


# V8 C) F$ Y) c

云测试平台上保留开发人员创建的模板(模板不占用资源),环境一键恢复是很简单的事情。比如下图为云测试平台上开发人员创建的模板:
1.png
图10  模板
$ }7 D. S) e8 I" ^

4 p2 ]- n4 e- `, k$ M* I. @% u

3 F# T0 X1 i6 V& l, m. R( V! m
只需点击下图页面的“创建环境”按钮:
1.png

$ x  O+ v4 b* s1 x; X9 a+ P
图11  创建环境

% A* {8 p, N2 J1 F0 L1 f- r

0 H: g2 I( w( \! ]
然后点击开始创建环境即可实现环境的一键恢复。如果资源有限,环境用完即删,实现资源循环利用。

" G( g9 d! H1 \# @$ F

规划实践(特性移交)

- z" i" c6 E- G6 ?6 F+ z- y! l

* v3 K4 @- P$ @

目前特性移交还未在团队正式使用,但已经提出该实践建议,现大概介绍下。目前规划依托云测试进行特性移交,摆脱过去的繁琐的“发邮件并收集测试报告并反馈遗留问题”的方式。依托于云测试进行特性移交主要包括以下几个步骤:
6 Y+ H4 l2 H0 C
3 o/ z% E3 b! e1 K( x1 h$ n2 y% d0 K
1. 开发人员功能开发完毕,测试人员编写好相关用例入库。
5 o0 S) T  w6 c( K' B% N
% P# B9 }# B/ E( `, ~1 F" W
2. 云平台上创建与特性相关的测试任务。建议一个特性一个任务,包括手动和自动的用例。移交时,若存在用例失败情况,并已经提jira单跟踪,开发人员及时对失败的用例进行失败分类。

' {, I. @" V3 T  `6 q0 W

* Y, J! T5 r+ h: R8 W$ F
3. 并创建一个全量用例的测试任务,特性移交前,执行全量用例,确定是否有特性受待移交特性的影响。

, f0 C! x5 {0 w, q3 I

  p9 h6 d/ W) Q  a2 v9 P0 B" S
4. 待特性移交时,QA或开发人员将云测试平台上相关任务的名称和id通过邮件告知系统测试人员。系统测试人员可通过云测试平台查看指定时间内,待移交特性相关用例的运行情况。如有失败用例,可通过失败分类查看失败原因,确定特性是否移交成功。
特性移交大致流程见下图:
1.png

图12  特性移交


+ @5 [. T+ d- e) f9 e6 C

: j7 f( a% l% b- ^( f5 l
规划实践(系统测试)

* S; }3 x, ]* D( }/ v

" ?3 e: ~, E. L  M- \
目前系统测试阶段主要为手动执行的用例,可通过云测试平台反馈测试结果,开发人员和管理人员可实时看到测试进度,达到了使用云测试平台对手工和自动化测试用例进行统一的管理、执行、分析。

8 l* b6 E  L0 T$ J7 ?5 m8 {& P0 b
. V: ?! C' n# r* @6 T, Z# P
原创:张晓蕊

3 X6 c( Q3 K+ E# [  q; L5 X' A/ R7 e0 p& u  s5 s& N

6 {& T+ D9 @; G% j8 q" o8 ]' L

本版积分规则

选择云运维时代的王牌讲师-长河老师,助你轻松入门ITIL Foundation培训课程

QQ|小黑屋|手机版|Archiver|艾拓先锋网 ( 粤ICP备11099876号-1|网站地图

Baidu

GMT+8, 2019-2-24 13:51 , Processed in 0.224572 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表