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

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

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

扫描二维码登录本站

QQ登录

只需一步,快速开始

搜索
查看: 633|回复: 0

DevOps微课之云测试案例

[复制链接]
发表于 2018-10-12 10:12:29 | 显示全部楼层 |阅读模式
本帖最后由 adminlily 于 2018-10-12 10:16 编辑 , g; l0 U- G& v( M" {
0 O: H9 D5 h# N
DevOps微课系列旨在帮助用户学习DevOps实践。今天和大家介绍云测试案例。

+ f& ]3 t( @& t

% M& @  b! S4 k. ]- q& o
本文适合的读者:
/ q" Y* e: G0 }' g* K: h' M
% U2 \9 q# u$ J  A5 ^: M$ N
1、实现资源循环利用的实践者

5 k9 x* r8 L5 g7 y8 h

6 W# u# A0 n, ^+ C" O  d4 m
2、实现不同规格产品安全测试方案的实践者

" {3 V) J3 Y' Z

* l3 B1 S0 I- h# q0 P
3、虚拟环境可视化编排、一键部署和释放环境的实践者

' t; l, d6 y7 E, i* f8 @

9 B3 s+ B- o8 b7 H( H# I. R
4、研发提效的管理者,DevOps爱好者
# \1 @/ t4 K9 K3 H. t

8 H' n/ p: r: S" v
本方案适用于测试环境资源不足,测试不充分的项目。各项目可以结合自身特点对模板作适当的修改,即可实现本项目资源的循环合理利用。在特性移交和系统测试执行方面,各个团队也可根据自身特点,采纳使用。
- K; a" I8 o4 B& y. o- w) h: h
2 c3 q/ J. T. ]
===================
【实践收益】通过实践可以解决以下几个问题:1. 有效解决项目资源不足导致测试用例执行不充分的现状。2. 在环境一键部署和删除、开发调试验证方面都有很不错的优势。3. 规划的特性移交方面,可以避免以前比较繁琐的流程。4. 规划的测试执行方面,可以解决目前测试结果不透明的现状。
+ X/ ], f0 B1 U  o2 r
1 ^/ r/ R! a( q! V  c* d
【项目痛点】
7 ?/ y% j; \- f
对应商用产品项目支持多种规格,包括2核6G、4核16G、8核16G、14核20G等。面对环境资源有限、纷繁复杂的需求和应用场景,如何快速交付价值并保证不同规格的产品质量,便成为项目急需解决的问题。
1.png
       图1 项目现状分析

" {# ?1 Y! O3 }

/ N: @. |( F3 ]8 K* P4 R
3 T2 j" _4 ?. M' M+ f

1 z( X: [+ Q2 a【解决思路】

& N  k- J( A. L1 E: }$ u/ Y
. N1 S; ?7 J/ X0 v, p1 {9 G0 w
1、将云测试平台用于项目的实际测试执行和测试管理工作中,实现环境资源的重复利用,从而实现不同规格的全方面测试

$ R+ S" h! C* f$ _9 [4 h" v
' Q0 O$ r# W3 F6 Q  }
2、依托DevOps工具链,将云CI和云测试有效结合,深化“自动化测试/CI建设”实践,实现不同规格产品的自动化测试。

7 E6 Y. M! u; `) f
+ m4 R1 w0 Y" D: ~6 j( A
【云测试平台】

" D& s/ r+ k4 W) l8 g# g0 o

6 I; R; y$ N9 F
云测试平台功能概览:
1.png
图2 云测试平台功能概览
9 I9 B% N; }6 B4 N/ s! F
1 e; X5 W2 H" `5 Y, L: m6 I& a
云测试平台可实现:
, t0 T, K6 [; u0 N! ?
: e4 R; B/ ?/ }! p2 \& c
  • 虚拟化环境一键动态部署,提供PAAS/IAAS应用测试环境一键自动部署和销毁;

    + k( r5 s6 G4 |$ s# }

& J- d7 i0 R) b
. [+ A! G/ b. ]5 J% c
  • 测试任务创建和执行;

    ! P7 e3 q# f( Y% ]
" y* i9 R( N- s  \
  • 测试结果展现和分析;

    ( N$ B' b# [! V7 M' y: P6 }

+ ^2 ]; O$ B. i. w4 j5 ]
【业务流程】

9 H7 w/ f* I4 _' D8 z" q( f2 z+ A
+ j% M1 U* C( C: r; Q
如下图:
1.png
图3 业务流程

8 M6 [6 T1 X+ d% W7 b- b
; K- G$ |& J% \8 \: r
流程说明:
0 z& l9 f" y0 A  `

2 H: i  N3 r3 D  T# R
1. 自动化用例编写完成并合入gerrit仓库;

9 y" K5 ^- w. {5 c, r2 {

* w. N0 k" g8 r, E) t+ D& ~
2. 云测试平台提前创建好不同规格对应不同测试用例的测试任务;

0 g& @, s/ |. l3 m

6 E# w: i, N1 n2 e1 P0 F) m
3. 云测试平台提前创建好不同规格测试环境对应的测试模板;

0 P3 d, ^" l+ _. z  g

, C$ K& x- [$ a7 p" x5 [& U1 l
4. 云CI上创建job,实现:代码更新->不同规格版本编译->A规格环境自动创建->A规格自动化用例执行->A规格环境销毁->B规格环境创建->B规格自动化用例执行->B规格环境销毁......->不同规格产品发布到制品库。

) B: [1 ^3 K. R' y

3 l+ k: S- G1 d% c1 ]
【实践
+ N3 F9 @6 Z" f6 {4 R' f& `1 O5 W. n, b& q1 x. o% O" ^
1. 云测试平台模板创建:依次点击:环境管理->EAAS环境(新)->模板选项卡

( K- q+ i/ C* Z6 g

; z$ h$ t, Q* H. A) n1 \
2. 云测试平台不同规格任务创建:依次点击:任务管理->我的任务

1 J. ^7 T' Y% \' U0 ]/ r  }( M

; ?! r* I0 u) x. c* y; x% G- \
3. 云CI拉通云测试实现多规格用例测试
* v) [8 R% i9 L
, t+ h# e1 X" F0 ]' {4 x( ~
【具体步骤】环境模板创建在云测试平台中建立不同规格的环境模板。
1.png
图4  2C 6G规格模板
1.png

   图5  14C 16G规格模板

( w/ U& h. G- J- T. P  \
- k' s3 c) {) K  `7 B) \
模板的详细配置参考具体举例中“模板创建”。
4 I  ~8 q: M+ k1 ~

+ V5 _9 ?* M5 l' p
测试环境初始化任务创建& r( N- [& J9 n4 a: V1 Y3 I
/ A1 `6 X' O' W! |
' ^/ w9 r1 M$ f3 e" x* t% Z
在云测试平台->任务管理->我的任务中,创建“测试环境初始化”任务。
1.png
图6  2C 6G环境初始化任务
1.png

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


! I5 t5 g! k8 B! S" h1 w3 s

% L% |$ P5 w4 S

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

. a  b: C6 r# z# u3 n


! J) A+ }* m% T# {7 w9 T* m# V

测试任务创建

; \' e( \* h$ K% S; H6 J; Q5 t
1.png
8 p5 C2 p# O$ Z7 o7 ~

图8 2C 6G测试任务

1.png

        图9  14C 16G测试任务


% X: }+ ?- ^% \5 V

* ]; g7 d! I' O% t) Y- }
测试任务具体配置参考上述举例中“云测试平台不同规格任务创建”。

( O; p( [- n; C# @9 S

( O0 O5 h/ u, F+ J2 s
云CI上创建job同时会发送邮件给团队成员;最后所有job执行完毕后,会释放所有环境占用的资源,白天开发会利用这部分资源进行开发验证调试,实现环境的循环利用。
) Y5 ~2 A2 y* t9 X
  o# C! c& A1 B( z+ w0 L. q/ T; Z

开发验证调试


* o# J3 [4 p7 `& N1 ]

' [8 H. j" k+ H

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

4 f* c3 s  H) U6 K# a5 u) M
) A4 a* l7 P; T- [- k0 L/ g

8 u( v( N2 g7 q) y" }9 J
只需点击下图页面的“创建环境”按钮:
1.png

  l0 E8 M- n. N, ~" \
图11  创建环境
, |+ K5 n3 P& D* R! C6 f% j

$ h% I" t" w# v/ U& x8 j  e  K
然后点击开始创建环境即可实现环境的一键恢复。如果资源有限,环境用完即删,实现资源循环利用。
/ k) s) {/ D! Z

规划实践(特性移交)

" _& ^! S- c( {7 L$ B

" B& d' u5 z' n0 U

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

: b) N: e% A  X8 w1 a+ C! c6 e

4 W4 N% s8 @/ Z) C4 C; l, B) h& T' Y
1. 开发人员功能开发完毕,测试人员编写好相关用例入库。

, ?0 ?0 b! W- \- \: O- I
* N( N# B1 q) U; t( a7 V; `8 \
2. 云平台上创建与特性相关的测试任务。建议一个特性一个任务,包括手动和自动的用例。移交时,若存在用例失败情况,并已经提jira单跟踪,开发人员及时对失败的用例进行失败分类。
% Y* F+ t: }$ T# [$ d

0 `  P7 P# {, U" J& o4 N: E
3. 并创建一个全量用例的测试任务,特性移交前,执行全量用例,确定是否有特性受待移交特性的影响。

$ s) T; K% ^' |

; y8 F& A( [" ]: Z6 ~
4. 待特性移交时,QA或开发人员将云测试平台上相关任务的名称和id通过邮件告知系统测试人员。系统测试人员可通过云测试平台查看指定时间内,待移交特性相关用例的运行情况。如有失败用例,可通过失败分类查看失败原因,确定特性是否移交成功。
特性移交大致流程见下图:
1.png

图12  特性移交

8 W" u0 l; m. v6 \  T3 _2 Y# L
! P2 R( L2 E  E( b4 U
规划实践(系统测试)

0 P( L8 R1 C% K8 O8 F/ k) N. g" N

6 b0 S# C3 B4 ?& Q* `* r& Y8 }* x
目前系统测试阶段主要为手动执行的用例,可通过云测试平台反馈测试结果,开发人员和管理人员可实时看到测试进度,达到了使用云测试平台对手工和自动化测试用例进行统一的管理、执行、分析。

  W+ C' c% ~1 j

+ D7 x- \3 i" x) L& @- |7 ]
原创:张晓蕊
2 G0 L; I1 A7 v3 K7 h+ c) X

: A( }+ D3 `8 J: M" |7 C2 v  @7 e7 \2 z% ~

本版积分规则

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

Baidu

GMT+8, 2019-9-23 07:04 , Processed in 0.145155 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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