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

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

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

扫描二维码登录本站

QQ登录

只需一步,快速开始

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

DevOps微课之云测试案例

[复制链接]
来自- 巴西

参加活动:0

组织活动:0

发表于 2018-10-12 10:12:29 | 显示全部楼层 |阅读模式 来自- 巴西
本帖最后由 adminlily 于 2018-10-12 10:16 编辑 ! P4 ^" f7 m6 L3 U' q. e

$ O/ H7 M, g2 S$ F; n% _
DevOps微课系列旨在帮助用户学习DevOps实践。今天和大家介绍云测试案例。
! S+ y8 Y4 @' S

8 b' A5 g8 u8 v7 ]
本文适合的读者:

6 y) T2 N# K9 N+ I7 F. E
, \4 m, l' T7 Z' R" ^, L" A
1、实现资源循环利用的实践者
- N# ^/ ~  w0 S: Q: J" R' W& ^
3 X6 I& J5 e* I+ L- @8 Z
2、实现不同规格产品安全测试方案的实践者
" m$ Q' P4 ^5 v/ s" y! }8 Q' A8 V$ |0 }
& C6 O) T3 F5 d! W
3、虚拟环境可视化编排、一键部署和释放环境的实践者

7 C4 j4 Y1 ]6 k2 u7 V0 D2 v9 i

. L# g9 l- G$ B# i7 R# I; m
4、研发提效的管理者,DevOps爱好者

, ?( A; s1 C* k# z4 r+ ]3 P

4 v) `% S0 z2 U% T2 q
本方案适用于测试环境资源不足,测试不充分的项目。各项目可以结合自身特点对模板作适当的修改,即可实现本项目资源的循环合理利用。在特性移交和系统测试执行方面,各个团队也可根据自身特点,采纳使用。
+ U4 e/ P# G- }' R. F2 H, q' O
2 S% u5 ]& K1 Z
===================
【实践收益】通过实践可以解决以下几个问题:1. 有效解决项目资源不足导致测试用例执行不充分的现状。2. 在环境一键部署和删除、开发调试验证方面都有很不错的优势。3. 规划的特性移交方面,可以避免以前比较繁琐的流程。4. 规划的测试执行方面,可以解决目前测试结果不透明的现状。
# b! m+ _" G/ ?( x8 }

; F6 z0 G2 W) `  z3 h7 q
【项目痛点】
! B- L# q; o( _# e& U( i- L
对应商用产品项目支持多种规格,包括2核6G、4核16G、8核16G、14核20G等。面对环境资源有限、纷繁复杂的需求和应用场景,如何快速交付价值并保证不同规格的产品质量,便成为项目急需解决的问题。
1.png
       图1 项目现状分析
, w: g" Y. c" v( G/ ?2 a4 i
6 z" {) r& {3 L% s' k5 M  x0 k* x

8 m7 X" X3 L3 ]! {
8 h3 x9 b# Z- g. ?
【解决思路】

* D  p4 E$ I2 n/ B+ e2 [; {$ I+ [( q( @
1、将云测试平台用于项目的实际测试执行和测试管理工作中,实现环境资源的重复利用,从而实现不同规格的全方面测试
) M( A+ G9 ]( F

1 T+ k: p& B6 T( \8 s
2、依托DevOps工具链,将云CI和云测试有效结合,深化“自动化测试/CI建设”实践,实现不同规格产品的自动化测试。

6 @7 d6 a, c" ^. o# T; `
" {4 j9 x* M) j* y
【云测试平台】

. G  [$ N; m! X3 k! n, V9 f5 l: ]

4 R; O1 {$ E* N5 J) k" ~
云测试平台功能概览:
1.png
图2 云测试平台功能概览
' C* x2 r1 B# P& l9 F- W% c
1 k' x+ ~0 O. {5 z, D
云测试平台可实现:
! Q; x( ?" S% K7 u5 o
7 e0 K5 u8 q( a8 I
  • 虚拟化环境一键动态部署,提供PAAS/IAAS应用测试环境一键自动部署和销毁;
    : l$ F" W8 T6 y
5 b8 B' _, g  T  B, I5 |  L

  O2 |% k" l8 B. l3 ^- D- `2 t
  • 测试任务创建和执行;

    & B8 I8 I! a' |: X
  g' N' O. o' O, a& F( H" P
  • 测试结果展现和分析;

    # n! ?# c3 }/ D1 [

1 I% {' b' l1 g/ q, i, t# a
【业务流程】

' `* I/ f  s( p% I5 c5 h3 n
5 t' c& i9 ~3 A. J0 l7 v
如下图:
1.png
图3 业务流程

0 g, ^4 u' [/ v' Z. C) M4 D
8 S* J5 s  k1 ~7 m; P: Q1 N# c
流程说明:

' v" @0 b5 D. J/ y4 k0 X, Z

; \7 Q& ^2 w8 N% P
1. 自动化用例编写完成并合入gerrit仓库;

5 w- v( U! i: S8 R7 x) ?2 `& X% b9 k

! I) W4 p/ w7 t# I# y/ _4 z+ K
2. 云测试平台提前创建好不同规格对应不同测试用例的测试任务;
2 |3 Q6 s9 M7 }$ _% J$ z0 L
5 Q/ w3 k1 }1 B1 \# }  b+ Q2 n
3. 云测试平台提前创建好不同规格测试环境对应的测试模板;

/ t3 E; `; I& B

# [! a# T" J$ M% Y5 {# k  D
4. 云CI上创建job,实现:代码更新->不同规格版本编译->A规格环境自动创建->A规格自动化用例执行->A规格环境销毁->B规格环境创建->B规格自动化用例执行->B规格环境销毁......->不同规格产品发布到制品库。
& `0 f0 J4 f6 U! b
$ @% |2 m4 E6 f' U" A
【实践. o% o& h) w$ B% w* y

8 L/ X* S' G" G0 i& {; [, J
1. 云测试平台模板创建:依次点击:环境管理->EAAS环境(新)->模板选项卡
, F6 }& C; ]9 i% i

+ d5 \! o) y7 d; r9 A
2. 云测试平台不同规格任务创建:依次点击:任务管理->我的任务
" L6 o+ ~& O! _/ V- `& u& [9 [! P
! @9 S4 p! b$ Z& t# |
3. 云CI拉通云测试实现多规格用例测试
9 O# r8 a/ k- W& l; C1 u: p
- Q' X% z4 R  q' `: o
【具体步骤】环境模板创建在云测试平台中建立不同规格的环境模板。
1.png
图4  2C 6G规格模板
1.png

   图5  14C 16G规格模板


$ p  N! [, t2 ~, Y% a/ x; J$ Q

9 i7 V/ {: v0 D- r; m8 ]% B+ u/ N
模板的详细配置参考具体举例中“模板创建”。

) k$ h0 F% K, q$ `5 v
: Y( t, {1 o$ c
测试环境初始化任务创建
( X6 r3 g* c( I& I! f  E) c- f" M1 [: F/ R( S
/ q& p' S) s& F9 B  w
在云测试平台->任务管理->我的任务中,创建“测试环境初始化”任务。
1.png
图6  2C 6G环境初始化任务
1.png

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

; ~. u. F: K9 o% I

$ t2 f4 b" S; e. _3 `% A! ^

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


0 t0 R; c4 m: j* O. E; q# I; h

7 }6 F9 W: ?5 X/ \

测试任务创建

! U8 V/ e' j% R$ a3 F$ W' X9 X
1.png
- [( j& B" b! ]& b; R$ ~; }

图8 2C 6G测试任务

1.png

        图9  14C 16G测试任务

& ]" s0 n6 k' H* @# I  M

: Y6 u' K* ~' |* R  b9 c
测试任务具体配置参考上述举例中“云测试平台不同规格任务创建”。

3 m# `0 y" t% d# x, s7 h
2 b: i  v$ W, w. o- ?$ a( o
云CI上创建job同时会发送邮件给团队成员;最后所有job执行完毕后,会释放所有环境占用的资源,白天开发会利用这部分资源进行开发验证调试,实现环境的循环利用。

) Z( Z2 {6 H( f
  Y3 I* A5 s% |7 _& k

开发验证调试


2 D3 {) A! X# ~" w9 G; m: z% n

# ~: ~) O  Z* e2 {* z1 J# |: Z

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

' D5 p8 Y8 n. \' g. r

- o+ x: S& S/ {" e! p

( n) C, s1 b# W
只需点击下图页面的“创建环境”按钮:
1.png

! G: E9 o# t& V$ X& P# J
图11  创建环境

4 }7 d3 y, R7 E) {
' i; V( u6 z# ?5 _( h1 j
然后点击开始创建环境即可实现环境的一键恢复。如果资源有限,环境用完即删,实现资源循环利用。

4 U/ y0 P/ }5 y' R0 X

规划实践(特性移交)


& q" U" J& D- M0 A0 Z3 @$ l

: b/ i2 q9 Z/ d# O4 m

目前特性移交还未在团队正式使用,但已经提出该实践建议,现大概介绍下。目前规划依托云测试进行特性移交,摆脱过去的繁琐的“发邮件并收集测试报告并反馈遗留问题”的方式。依托于云测试进行特性移交主要包括以下几个步骤:
  y" @; k  }7 b& K5 w+ W. @' s) o

: {1 T+ [6 q1 l3 D5 S' B8 B. x( L
1. 开发人员功能开发完毕,测试人员编写好相关用例入库。

7 U) V) q0 o5 y' j' F& v
% G& B  K( k5 V' g' ?- K
2. 云平台上创建与特性相关的测试任务。建议一个特性一个任务,包括手动和自动的用例。移交时,若存在用例失败情况,并已经提jira单跟踪,开发人员及时对失败的用例进行失败分类。

7 Y) c) Y. R# y! P* k

% a, v  @# [4 S2 S2 Z
3. 并创建一个全量用例的测试任务,特性移交前,执行全量用例,确定是否有特性受待移交特性的影响。
; G+ g0 w2 `+ P
% |8 A2 b, B, ?4 O& _9 W1 m" Z
4. 待特性移交时,QA或开发人员将云测试平台上相关任务的名称和id通过邮件告知系统测试人员。系统测试人员可通过云测试平台查看指定时间内,待移交特性相关用例的运行情况。如有失败用例,可通过失败分类查看失败原因,确定特性是否移交成功。
特性移交大致流程见下图:
1.png

图12  特性移交

4 o+ X- p: [& a! i# e9 E/ }
6 t' u! }9 P- Y1 \6 l, ^
规划实践(系统测试)

$ S2 {3 M+ `- j" m  x

0 b5 ^, z, x, n+ ?( x1 j$ M
目前系统测试阶段主要为手动执行的用例,可通过云测试平台反馈测试结果,开发人员和管理人员可实时看到测试进度,达到了使用云测试平台对手工和自动化测试用例进行统一的管理、执行、分析。
' W7 o* s8 n/ k. J$ B
; f$ L  k, p# m$ l
原创:张晓蕊

+ m/ m9 v$ W2 D6 U3 v2 G  r6 d3 }5 z( H; h, ~
# T; B4 |) S1 U4 z. G- a' C

本版积分规则

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

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

Baidu

GMT+8, 2018-12-15 20:14 , Processed in 0.266180 second(s), 33 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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