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

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

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

扫描二维码登录本站

QQ登录

只需一步,快速开始

搜索
查看: 450|回复: 0

DevOps微课之云测试案例

[复制链接]
来自- 巴西

参加活动:0

组织活动:0

发表于 2018-10-12 10:12:29 | 显示全部楼层 |阅读模式 来自- 巴西
本帖最后由 adminlily 于 2018-10-12 10:16 编辑 ( I5 g7 D1 P& @1 w! e" g
# S) _  m, j# u
DevOps微课系列旨在帮助用户学习DevOps实践。今天和大家介绍云测试案例。
- {4 R9 Z  R) @" h6 v

7 I4 N6 |; c# e
本文适合的读者:

' H2 q  u! d. x9 Y* e9 u5 ?7 ^% r

( b" n9 A) D$ L) F/ I
1、实现资源循环利用的实践者
' d  v- M  L. D; _3 A9 o
) ?  G- t# W2 J& h  |+ j
2、实现不同规格产品安全测试方案的实践者
( ]) Z% l9 B* c; W% z

# `: V( L+ T. O! U! U2 v/ o
3、虚拟环境可视化编排、一键部署和释放环境的实践者
! ]- D3 R( y0 ~: s( W
3 p4 Z( ^; w% {, P9 L6 Y; B/ f
4、研发提效的管理者,DevOps爱好者
& O, p, l; }! j

7 B# P5 P; ^9 ]  C$ p
本方案适用于测试环境资源不足,测试不充分的项目。各项目可以结合自身特点对模板作适当的修改,即可实现本项目资源的循环合理利用。在特性移交和系统测试执行方面,各个团队也可根据自身特点,采纳使用。
% \2 p/ F' `. A. p& ?2 ^
7 N4 |) c4 {. j5 \% K
===================
【实践收益】通过实践可以解决以下几个问题:1. 有效解决项目资源不足导致测试用例执行不充分的现状。2. 在环境一键部署和删除、开发调试验证方面都有很不错的优势。3. 规划的特性移交方面,可以避免以前比较繁琐的流程。4. 规划的测试执行方面,可以解决目前测试结果不透明的现状。

) z' H' S% s9 b7 [" d- N: F8 }. |
, [+ B, X6 }& R. ?3 ?6 n2 g4 o
【项目痛点】& j9 ]. }' e3 B- ~# _
对应商用产品项目支持多种规格,包括2核6G、4核16G、8核16G、14核20G等。面对环境资源有限、纷繁复杂的需求和应用场景,如何快速交付价值并保证不同规格的产品质量,便成为项目急需解决的问题。
1.png
       图1 项目现状分析

9 g" j' s& j' D
9 X$ A$ _( U; w' y  W" x
% C# x5 l, G- [; \, s
( P+ o% m; B; t7 s0 L
【解决思路】

1 X* C' }) R' j) K7 [0 Y) H5 {% t& t2 `2 m5 c3 S% m
1、将云测试平台用于项目的实际测试执行和测试管理工作中,实现环境资源的重复利用,从而实现不同规格的全方面测试
$ n$ h6 L: c0 J& b" a1 F* `

; k8 d" ~. U; g8 ?
2、依托DevOps工具链,将云CI和云测试有效结合,深化“自动化测试/CI建设”实践,实现不同规格产品的自动化测试。

( d2 r) U% ^0 F! o" ^3 c2 i2 h0 j

+ o. }1 ?8 M: V" R/ c/ U& N
【云测试平台】

+ K5 L/ k3 J! h1 F, a% x
% r7 l0 g, X/ u) h# I# a! R
云测试平台功能概览:
1.png
图2 云测试平台功能概览

. ~9 s: V6 N* X
# m8 ~% y! p- F6 P
云测试平台可实现:

. }% @8 A$ D% G1 g. ^
0 y) C  [( ~- _( V  d  R
  • 虚拟化环境一键动态部署,提供PAAS/IAAS应用测试环境一键自动部署和销毁;

    ! l4 `) ~: U: |) Y( L

* H& Q" L" a6 [4 v

6 o$ M' f% b  v- F/ D' G
  • 测试任务创建和执行;
    & a% i' h5 p; c3 L9 Q: w3 _' k* d
- T5 l5 `0 z9 X1 N; R
  • 测试结果展现和分析;
    : z) t8 Z6 k) M# I

" l/ n7 i; ]! K. X  Q
【业务流程】
% l* b2 Q( K8 h" t- f0 ]  E1 _) H

8 B- s9 g/ [$ q. S' u! ?: j
如下图:
1.png
图3 业务流程
& ~: i* @: x! F
/ Q) C" q$ C* j" A6 r  f, s5 |/ e
流程说明:
! Y, x) }2 c0 @1 s3 d0 D/ A& B

& A# T$ M$ [6 F+ e7 r4 y5 f- Y
1. 自动化用例编写完成并合入gerrit仓库;
; A* j5 c) o; y: q6 E6 u0 d: U, v) I
+ ^& a5 t: ]& {% g) p$ h3 d
2. 云测试平台提前创建好不同规格对应不同测试用例的测试任务;
; T* Y2 j( D3 _5 [

' y! d2 w6 g6 R# N
3. 云测试平台提前创建好不同规格测试环境对应的测试模板;

. Q5 B( W: |* P$ `* H8 h- s( [5 f

' y5 T1 ~6 p) M! Q( X
4. 云CI上创建job,实现:代码更新->不同规格版本编译->A规格环境自动创建->A规格自动化用例执行->A规格环境销毁->B规格环境创建->B规格自动化用例执行->B规格环境销毁......->不同规格产品发布到制品库。
5 I7 K8 X1 O2 k4 G' i3 U  s
8 L5 \# ]4 m7 U0 E8 m
【实践
2 h# u# g4 b' ^* P* [9 m( b6 Q$ }$ y( f5 Q9 k
1. 云测试平台模板创建:依次点击:环境管理->EAAS环境(新)->模板选项卡

- p  m3 e  M+ r# b" e% O( i
$ p4 L  S0 p1 \/ ^/ Z+ `7 ?3 G: z
2. 云测试平台不同规格任务创建:依次点击:任务管理->我的任务

0 v7 N- f, I( R/ v

) e5 v; A) w7 |5 U! Q9 {7 Q
3. 云CI拉通云测试实现多规格用例测试
2 x7 ~" O/ {2 S' T8 {
0 a  o  g9 v0 D: O: n* t
【具体步骤】环境模板创建在云测试平台中建立不同规格的环境模板。
1.png
图4  2C 6G规格模板
1.png

   图5  14C 16G规格模板


- F( [/ N. _6 `- O' u2 ~

4 t* O/ @) ?! s* _7 g* \
模板的详细配置参考具体举例中“模板创建”。

  ^, l  Y. {0 B

. O; ]' A; d% c
测试环境初始化任务创建7 Z/ d5 d# q  {' V  m1 W1 h9 H

# F8 i9 G1 R; U5 [$ R* [0 b& J4 |) Y* R. P/ u# J; c5 @
在云测试平台->任务管理->我的任务中,创建“测试环境初始化”任务。
1.png
图6  2C 6G环境初始化任务
1.png

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


6 a* F3 D) r. G- I' A$ ^( ]

9 V/ ^' Q7 ~* b# w* @# f* v3 p

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

+ {( T8 V: B4 t4 B6 g


$ O; y: A7 r# v8 a! t

测试任务创建
, I. r. R/ _5 y) H
1.png
; \" O$ e' |4 v# E/ l; g3 @

图8 2C 6G测试任务

1.png

        图9  14C 16G测试任务

' _# |% t7 H( N5 I/ R0 d* A" _
& ~% I& y3 S* w& d( a. F: K& S
测试任务具体配置参考上述举例中“云测试平台不同规格任务创建”。

$ E8 e2 W% p' ]5 j) U

6 H! V! g# `; {- E) j. i, E3 y
云CI上创建job同时会发送邮件给团队成员;最后所有job执行完毕后,会释放所有环境占用的资源,白天开发会利用这部分资源进行开发验证调试,实现环境的循环利用。
& R7 J" G& H, `6 \% S2 R

: H7 y2 W1 d9 e' R% N; Z# J+ F5 P% [

开发验证调试


) Q) ~+ o: S. a  s: K( s4 A


4 U( F7 m1 V; ?0 W7 c8 c2 T* d

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

% L$ }5 e, G* y1 I& p) F$ q
5 C1 U' F0 b7 J5 S* A
只需点击下图页面的“创建环境”按钮:
1.png
) N3 G6 i/ ]0 r5 u* f9 R
图11  创建环境
/ U. `3 F/ m! F7 J
' v8 Y) X1 M2 t# ], `9 K( L- a
然后点击开始创建环境即可实现环境的一键恢复。如果资源有限,环境用完即删,实现资源循环利用。
# b2 H3 ^) B: a0 Z8 s

规划实践(特性移交)

/ r8 e, g, p$ Z. N, ?* P/ ^, K


6 s" P$ m8 i5 C  d2 a* s& @# o7 Q

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

* i* _6 K9 ~1 t! W# Q# U
  U) P7 V# o+ B& M
1. 开发人员功能开发完毕,测试人员编写好相关用例入库。

. t- D+ g- D- x; q! a

5 n8 u/ \6 {5 R, o
2. 云平台上创建与特性相关的测试任务。建议一个特性一个任务,包括手动和自动的用例。移交时,若存在用例失败情况,并已经提jira单跟踪,开发人员及时对失败的用例进行失败分类。

3 @* s0 A* F% s' v- ?

9 Z0 \& h% {9 C
3. 并创建一个全量用例的测试任务,特性移交前,执行全量用例,确定是否有特性受待移交特性的影响。

2 q( ?: a4 L$ A1 |- Q

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

图12  特性移交

* n% V/ W) S5 S6 }
& ?  R2 ?+ W. h4 O# H
规划实践(系统测试)
9 H: m" O9 a; _( |

) u+ v  }6 a' }6 ~- w) t
目前系统测试阶段主要为手动执行的用例,可通过云测试平台反馈测试结果,开发人员和管理人员可实时看到测试进度,达到了使用云测试平台对手工和自动化测试用例进行统一的管理、执行、分析。

6 ~) ?! K: Y( ]0 B: R* `" [
3 O4 C7 J0 |7 b$ y. _/ e' t8 P
原创:张晓蕊
% f, d4 U$ l9 V5 f  P0 K* i, \

1 j) A/ h7 p$ f, R$ w$ R% K. [
0 R8 P% T5 K  A6 ?1 l) x6 F6 ?& n; |

本版积分规则

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

Baidu

GMT+8, 2019-6-17 23:20 , Processed in 0.218984 second(s), 36 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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