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

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

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

扫描二维码登录本站

QQ登录

只需一步,快速开始

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

DevOps微课之云测试案例

[复制链接]
来自- 巴西

参加活动:0

组织活动:0

发表于 2018-10-12 10:12:29 | 显示全部楼层 |阅读模式 来自- 巴西
本帖最后由 adminlily 于 2018-10-12 10:16 编辑
9 [- A# C# @  o" n' C; g0 Y" H, ]2 D* d6 W; n& V& U
DevOps微课系列旨在帮助用户学习DevOps实践。今天和大家介绍云测试案例。
- S+ B7 i7 ]- W( w, C/ ^  R* B

1 {9 q' Y# l9 h
本文适合的读者:
1 g9 B  ?' e3 j$ E, s
6 n" E/ c7 n1 p. l+ J+ W6 d
1、实现资源循环利用的实践者
3 g1 `4 w# u: c$ \# e! y: [

% l. H3 t: }  Y+ {& [
2、实现不同规格产品安全测试方案的实践者
7 [& I. l, [2 J! [6 o" S( d
2 G: ^' d) y0 t' K
3、虚拟环境可视化编排、一键部署和释放环境的实践者

8 L1 i/ b( Q, }/ h

9 Y6 i0 d# T0 }" ?" L3 w
4、研发提效的管理者,DevOps爱好者

% N% X8 l7 a. Q9 Z

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

  \! E. H% x8 v& c9 f8 a$ [
0 ]! z5 w, D0 \
===================
【实践收益】通过实践可以解决以下几个问题:1. 有效解决项目资源不足导致测试用例执行不充分的现状。2. 在环境一键部署和删除、开发调试验证方面都有很不错的优势。3. 规划的特性移交方面,可以避免以前比较繁琐的流程。4. 规划的测试执行方面,可以解决目前测试结果不透明的现状。
& q: R# k. z* [1 F5 O6 ?
( |% s# S2 X$ N9 b% O& _0 `: }4 j' p
【项目痛点】
" R; K5 Z+ y; L& r
对应商用产品项目支持多种规格,包括2核6G、4核16G、8核16G、14核20G等。面对环境资源有限、纷繁复杂的需求和应用场景,如何快速交付价值并保证不同规格的产品质量,便成为项目急需解决的问题。
1.png
       图1 项目现状分析

9 e6 _$ d! V6 l1 U

$ A8 a, ~/ @; l
9 `& A; W; n9 F

" C$ Y, W0 j& z$ r/ |【解决思路】
* w$ ?& Z. b& C/ F; X3 ]
; C) z) Y0 j% P
1、将云测试平台用于项目的实际测试执行和测试管理工作中,实现环境资源的重复利用,从而实现不同规格的全方面测试

2 U. f8 n8 H# x) w' f

9 h9 Z/ Q, L& }- X. n
2、依托DevOps工具链,将云CI和云测试有效结合,深化“自动化测试/CI建设”实践,实现不同规格产品的自动化测试。
8 j( b. L1 g6 I8 P# y

! g/ I# ~, V; S* v% n9 J
【云测试平台】
# e+ G& |* V5 p' ^; e: B( ~$ |3 }

8 ~9 @! Q' ~0 X' J
云测试平台功能概览:
1.png
图2 云测试平台功能概览
& \9 g! P+ W7 I0 x4 _, ^
0 w4 _; E5 [6 t- V7 g5 B8 \( ]
云测试平台可实现:
0 |8 n8 m1 l8 h& I6 b5 p- X  @" \% ?
' C9 v& x* L" m! @" m; X$ m. u3 w
  • 虚拟化环境一键动态部署,提供PAAS/IAAS应用测试环境一键自动部署和销毁;

    / }+ X4 }. P$ h
" k4 ]5 W+ |( f

* X/ |4 \; v% F! E* H/ W/ t
  • 测试任务创建和执行;
    ( [0 u/ O9 L. V, u, G
2 p% V* _9 A9 g. p4 E) p
  • 测试结果展现和分析;

    8 s5 g* L3 M4 S& U. _

5 }+ c5 h& |2 |& S4 l) R
【业务流程】

* d2 q/ x( z" B4 G$ }4 ?* f/ M' a

+ X# D' b1 h8 M5 H
如下图:
1.png
图3 业务流程

/ Z" t7 I- E' z; _( M
$ k5 {5 d; R9 v4 X9 S
流程说明:

9 S; ?, {! a6 h; w
' X$ Q3 T% F+ X& E1 i# F  n
1. 自动化用例编写完成并合入gerrit仓库;

7 [0 W8 w* Z  Z7 s- p" S# ?
8 |  V/ k% _+ w5 E* h
2. 云测试平台提前创建好不同规格对应不同测试用例的测试任务;

1 g1 j( Y; L7 W0 a& D  M9 ~+ i

$ ^1 Y% g1 O5 E. U
3. 云测试平台提前创建好不同规格测试环境对应的测试模板;

% @* C; W: l. o6 E) Z/ u- n

) a! G1 c) ~: j4 l; R" H) S; M) ~
4. 云CI上创建job,实现:代码更新->不同规格版本编译->A规格环境自动创建->A规格自动化用例执行->A规格环境销毁->B规格环境创建->B规格自动化用例执行->B规格环境销毁......->不同规格产品发布到制品库。

5 p* ^2 V" U% l7 s
. [9 e* p+ y- C
【实践7 _7 U' e& y5 }$ h
2 u; S/ ?! h2 [. c
1. 云测试平台模板创建:依次点击:环境管理->EAAS环境(新)->模板选项卡
3 H) e1 Z. N2 x4 H' `

$ {& q) M- L% C, y
2. 云测试平台不同规格任务创建:依次点击:任务管理->我的任务

; P' |4 R  a9 r- x/ Z1 N

6 C$ Z! q  \/ o3 R3 [& d/ O
3. 云CI拉通云测试实现多规格用例测试
0 K6 s" ]6 x. `1 R9 ]: J5 ~
* V, T8 A9 ]8 B7 ^5 H. K
【具体步骤】环境模板创建在云测试平台中建立不同规格的环境模板。
1.png
图4  2C 6G规格模板
1.png

   图5  14C 16G规格模板

- r: t- D8 t1 P7 k- k: U- P
. l) Q# D  U7 ?$ M7 n& `/ B
模板的详细配置参考具体举例中“模板创建”。

+ a; f3 D5 q/ E3 P

: m$ h) d/ _. ?6 q/ A- ~: g$ Y. ]% ?
测试环境初始化任务创建
$ \  Y; N+ a# I$ z$ S3 N
7 Y: p! G) j6 z+ Z7 `
/ t& w/ P# k, W" |! H
在云测试平台->任务管理->我的任务中,创建“测试环境初始化”任务。
1.png
图6  2C 6G环境初始化任务
1.png

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

8 l2 X. Y2 M$ l, H* z% c


7 s  p% |. h! B# v$ b

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


  _5 z, J6 e3 s9 Z

( M/ Z; G* A/ `) A5 q

测试任务创建

& i5 ]% h1 r0 y2 V' {
1.png
6 R) O5 A! c( L3 I, @0 j

图8 2C 6G测试任务

1.png

        图9  14C 16G测试任务

) x! O7 m7 Z0 P' E

% J4 i3 V, \% X8 W  Q& k3 L
测试任务具体配置参考上述举例中“云测试平台不同规格任务创建”。

8 t! ?, f+ B' z: a1 I- r

2 C3 K, {4 h, A; d$ J$ T
云CI上创建job同时会发送邮件给团队成员;最后所有job执行完毕后,会释放所有环境占用的资源,白天开发会利用这部分资源进行开发验证调试,实现环境的循环利用。
# S6 z$ G4 g8 G  \

# V8 B* A0 R9 Y# a9 I8 I$ M

开发验证调试

4 s  t6 I, H9 \; C


: S4 @2 ]! l% E6 x  x

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

- u; |7 K, `. [4 R" y
2 ]- E' L9 i& w0 ^0 t
' @" \0 |; `9 J0 _3 q
只需点击下图页面的“创建环境”按钮:
1.png
" Q, Y. h8 ]% z* X% l8 l( |
图11  创建环境

: W5 f2 F5 H# L0 ?6 G
$ U" q( h! h4 \' j: |% l9 N5 X) X
然后点击开始创建环境即可实现环境的一键恢复。如果资源有限,环境用完即删,实现资源循环利用。
9 n  e: t2 h8 j- o0 q" {) O

规划实践(特性移交)

$ b+ a$ k- ], L9 u2 s

' b; }2 O+ Q& h0 i0 t- w( ]4 D& [

目前特性移交还未在团队正式使用,但已经提出该实践建议,现大概介绍下。目前规划依托云测试进行特性移交,摆脱过去的繁琐的“发邮件并收集测试报告并反馈遗留问题”的方式。依托于云测试进行特性移交主要包括以下几个步骤:
: g8 a# U: G5 w( E3 C4 d9 {3 K

* c. ^! g( |5 ~7 M3 `; }
1. 开发人员功能开发完毕,测试人员编写好相关用例入库。
: w: e- B1 N- B7 ^
7 N6 F$ Z3 `( ^8 ~% E
2. 云平台上创建与特性相关的测试任务。建议一个特性一个任务,包括手动和自动的用例。移交时,若存在用例失败情况,并已经提jira单跟踪,开发人员及时对失败的用例进行失败分类。

6 k  V- H' h  B5 o

! i9 D" l7 s& w) d/ k3 |) V+ C
3. 并创建一个全量用例的测试任务,特性移交前,执行全量用例,确定是否有特性受待移交特性的影响。
" q9 X& o0 m" h# o; b6 _

% F4 m, o. G: ~$ w% ?0 r- @
4. 待特性移交时,QA或开发人员将云测试平台上相关任务的名称和id通过邮件告知系统测试人员。系统测试人员可通过云测试平台查看指定时间内,待移交特性相关用例的运行情况。如有失败用例,可通过失败分类查看失败原因,确定特性是否移交成功。
特性移交大致流程见下图:
1.png

图12  特性移交


" S+ _  Z) N, U0 K8 W
, _/ b, z1 P; `1 u: \' d/ W& m
规划实践(系统测试)
3 z* ~9 |0 E3 a7 v

4 R0 e! Y$ I9 m* Y
目前系统测试阶段主要为手动执行的用例,可通过云测试平台反馈测试结果,开发人员和管理人员可实时看到测试进度,达到了使用云测试平台对手工和自动化测试用例进行统一的管理、执行、分析。

1 J* V0 v+ R$ ~1 W% q
' V2 z: o3 C3 U! }2 X0 q
原创:张晓蕊
6 v% _3 t7 ]7 I. Y& t8 h
- A8 ?: F% s5 e5 X' J

, d, g6 L. ]- k9 S; X, }" y% d

本版积分规则

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

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

Baidu

GMT+8, 2019-4-25 00:39 , Processed in 0.362287 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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