软件测试流程及并行测试介绍

上一篇 / 下一篇  2012-04-09 09:00:53 / 个人分类:杂谈

 测试流程介绍:51Testing软件测试网 qO0z.Q!]]5CI

  1、测试计划制定—— 根据项目具体需求制定相应的测试计划方案,该方案需要包括以下几点:51Testing软件测试网-K9eN$?3Oh*Q

51Testing软件测试网&A+v"Ot8?|X"eHf

    a、测试环境配置:包含功能、容灾、压力和性能的测试环境架构设计及机器资源配置信息;

O%Uh.?6@4DBwL051Testing软件测试网"eOA;Ma5a4V

    b、测试内容:1. 列举本次测试所需覆盖的测试范围;2. 本次测试的重点;

b(~N,?/M5ya G0

uo&uLSbsF0    c、测试手段: 介绍本次测试所涉及到的技术方法;51Testing软件测试网9X _v5y#ix*?

da Q9O2K[2u0    d、测试日常安排: 包括1. 测试人员; 2. 测试总时间; 3. 具体日程安排等信息;

TI,W%L;l\051Testing软件测试网7H&fq m%P

  2、测试用例设计—— 根据项目需求文档、设计文档及开发代码进行用例设计,具体流程如下:51Testing软件测试网H fM}+?2h*i

51Testing软件测试网k4q:~#G ouk

    a、进行用例设计(有测试人员独立进行设计);51Testing软件测试网.R6S"j']$P b d y

lHc.CK8l0    b、用例评审会议(在用例设计完成之后,要求开发、测试人员、及其他项目相关人员一起对所设计的用例进行评审,评审结果在当天通过邮件的形式发出);51Testing软件测试网 LOj5jQ GG/_e U

(H j2VX$y q Q2x8U0    c、根据评审结果修改测试用例设计,再次通过评审后完成最终版本的用例设计;

2b]%pz-PY2t`0

:d8h2x6H'XDF']x0  3、自动化测试—— 主要指功能测试

9A p9[ p_051Testing软件测试网rO p%L_:be

    a、使用技术手段实现测试用例,使其能够进行自动化测试;

G3l"w2meX1q&Tc)AN051Testing软件测试网ve DBk P*i

    b、完成自动化代码编写之后,即可进行功能测试;

%o'V2QEnH051Testing软件测试网V YZ!]i&h0^

  4、BUG—— 主要指在发现疑似BUG之后的处理方式:

+wr'B P"x*Uu051Testing软件测试网#J j1PZi-pVh

    a、当测试过程中发现疑似BUG的时候,需要首先排除Case自身设计及编码问题,之后排除因为测试环境等其他因素的影响。在这里可以采用debug定位、log日志定位等问题定位方法;

oUJV#jr'T6Z_-{0

nC-J(\(|;lb0    b、在确认没有上述因素的影响之后,可以与开发人员进行沟通, 与其详细描述BUG的产生原因、复现该BUG的场景,最终确认是否为BUG;

8s&{0Y1v7@0

.\&N2{%v0k(Wn}#B&h0    c、在相关测试平台上登记BUG。 登记BUG主要是为了1. 针对该BUG增加相应的测试用例;2. 在后续其他测试人员接收该项目之后,能够在每次版本更新测试的时候,重点关注该BUG场景;3. 体现产品质量及测试人员的工作价值;51Testing软件测试网NAWH"x'z%oy

|;` `!B6X9j@)D4c'I0  5、性能与压力测试—— 在完成功能测试,开发版本稳定之后,就需要进行性能和压力测试:51Testing软件测试网n x,`Y{3A1y

51Testing软件测试网^-r5[-\h|(L

    a、设计性能和压力测试场景,主要需要考虑一下几点:

k$aj&E"k8m%ge?6J0

p(C;K9ka0K$_0      1)产品功能点: 如,该产品是Nginx版本的Tair缓存数据库的Restful客户端,那么增删改查是必备的测试场景;

,L(hY o oWf'{.Q U0

P2a}-BW3C0      2)并发请求数:

v5dpyv:`0

"}gy{8]:v)Vw0      并发请求数的设定相对比较复杂:51Testing软件测试网&pj:|Rcy~ V

"|IW h;rf2r+kc0      首先,需要保证机器性能如CPU占用率、内存使用、网络流量等机器性能指标没有成为瓶颈的前提下,查看QPS曲线在不同并发数下的变化曲线;

hB9s @N051Testing软件测试网hF2y [SQ

      其次,选择QPS曲线稳定的临界点,选择临界点两边的几组并发数作为每个测试场景内的并发请求数。51Testing软件测试网Z0X+hK-O}JI

51Testing软件测试网 bS,c)LD1V}1z!W7L

      3)预期的机器性能阈值: 在性能测试过程中所需要关注的一些性能指标:

-q5^'mVH%Q/AmS051Testing软件测试网*p^ Ku7g

        (1)产品的性能指标:如 QPS、用户平均等待时间、服务器平均响应时间、吞吐量等等;

/G3}@ ?0I051Testing软件测试网P(D gW#t)E%^ Tk7U

        (2)机器的性能指标:如CPU占用率、内存使用、网络流量等等;51Testing软件测试网4bx7RQ"Eh)~

51Testing软件测试网z'clK2} at E1\%`5y

    b、工具选择:webserver的性能测试工具有很多种,选择合适的性能测试工具非常重要:

3sH[ W$gJ0~e6s^0

:Z~-mUn0      1)自己开发的压测脚本: 缺点:不够权威、反馈数据不够全面或者开发成本高;

H-o K~"~aH;iw051Testing软件测试网\7k1q&I _p pi

      2)http load 或者 web bench: 个人认为功能不够强大、反馈的测试数据也不够全面;51Testing软件测试网1~G4slO9q a

m\:FA2r?x'\0      3)Apache ab: 经过前面几篇博文的修改介绍之后,功能强大,支持1. 按时间测试;2. 多个url、header、cookie读取测试。反馈测试数据也比较全面,如:总请求数、数据总传输量、QPS、服务器平均响应时间、用户平均等待时间、网络流量等等信息;

'q%ap+rL oW0

-}$}vu@$Wulj0    c、数据统计与图表绘制: 完成性能和压力测试后,需要验证测试过程是否正确无其他因素干扰,并且及时统计数据并绘制成相应的测试图表;51Testing软件测试网X]plF;] Y;~ t

H&k Cd oI0    d、最后是对上述数据及图表进行分析,提供解释说明;51Testing软件测试网G%{$L)`#v%iEteR

51Testing软件测试网J9ggy be"C

6、容灾及安全测试—— 根据不同的产品,设计不同的容灾及安全测试方案;51Testing软件测试网4W%\,|e0eKi:f

7Ui Z Zu5C h P^0  7、制作测试报告—— 在完成以上所有测试工作之后,需要制作一份详细的测试报告,主要包括一下几点:

8YBR?a0

O#{ B1_H,Z mH0    a、测试环境信息描述:

*rv6[A!k? PY0

j@6Te2sz I0      1)软件环境描述: 操作系统、软件版本等;

MV x,C&WWX-y8_0

/N!|o2~3X$B!c8X0      2)硬件环境描述: 服务器相关硬件信息,如CPU、内存、网卡等;

E"F0\ d4eq0

x}5TUW o0      3)测试环境部署描述: 详细介绍测试环境的部署情况;

3?1A,V ?xq6|2V0

$W9Ywo-G5X8n0i0    b、测试覆盖情况:51Testing软件测试网)D f}@7p!Rydp9s

J[:Gko's[K1@0      1)功能测试测试点及其用例覆盖情况;

G,B6n$Hh:z!q051Testing软件测试网 tJ\W(y_pw'v

      2)压力测试场景描述;

1H_[/h8z+m*fj x%Qa0

SpT b,R]_0      3)性能测试场景描述;51Testing软件测试网 m]C e6DnafX

&FS(W;i ?$ce5~z0      4)容灾测试场景描述;51Testing软件测试网 I+I6R!zwEV

mAx3gs@(@0    c、测试缺陷列表:

Lx(v#_*t;tyq051Testing软件测试网j1l _xoldR%s

      1)BUG描述 —— 详细说明BUG的复现场景;

:`\ B,M/J up051Testing软件测试网rp2h;mjM8Rz.l"Q2I

      2)级别 —— 根据危险程度分为高、中、低 三个等级;51Testing软件测试网+OON"k0e"|j

51Testing软件测试网e&CUg*g

      3)状态 —— 根据修复情况分为 已修复、 未修复 两种;

G+{6} mP$b051Testing软件测试网(_,q*n1lsUI

      4)提交人及验证人信息;

? kjss3Bt051Testing软件测试网Qn$PpVE2F

    d、潜在风险分析:51Testing软件测试网Z*?$l2s.e2W#d

51Testing软件测试网BNO)]tt;r$o

      1)风险描述 —— 详细说明该风险的触发场景;

X:V(aC+|051Testing软件测试网;gLxf2e(X3k5n

      2)建议 ——建议应用方及开发人员如何避免该风险的出现;51Testing软件测试网x-sr'?jX6K

51Testing软件测试网x^g}2p6g

    e、性能测试结果分析:51Testing软件测试网Z6S/mi6Jl \+`vJ!j

6Uu h z5E-mgi0    根据上述整理的测试数据及所绘制的图表,详细分析该性能测试的整个过程及相应测试参数、性能参数的意义,并给出相应的性能建议及风险规避方案;51Testing软件测试网P yrE3l D2w

YE Q W4E:{D0  8、产品发布及线上验证:51Testing软件测试网nAd(?R m S

9IW4J9VgB0  产品发布上线后,对产品进行验收性测试;51Testing软件测试网"\0vEU;A'P,U+cF

51Testing软件测试网6f(^#``8l0t

  9、持续集成—— 实现持续集成测试

h){3d `6ks0

$J(j)B0w}%[wk@qYI0    a、持续集成工具:主要有:CruiseControl、Hudson、LuntBuild、TeamCity、AntHill等,我们主要使用hudson作为持续集成工具;

F'O2Vj?? M1yJ0

5@7b-Y3QnV u0    b、工作步骤:

5l\ HOO-E;?j0

0I*Dt"k'N F-FahN]0      1)测试代码入库;

1j7kLtH(S/qxt051Testing软件测试网 t v u4t1Bi4t+F)a

      2)搭建持续集成环境;51Testing软件测试网3lG)s2@xO9n3k

Bm*s wu QR(zH+_0      3)设置每日回归和触发回归条件;

?b/DpZ1~0

A L+~4^3TxQB0 并行测试思想介绍:

Ai+N,R.kuxB051Testing软件测试网-[+H%j.n:qY+V

  服务器平台的并行测试思想如下图所示:

9|xZn9S%C\0

IN ^b$f9|z;OO0

  简要说明:

z0Z%\Fwe0|D0

  第一步:测试人员针对需求文档及开发设计文档进行整理分析(若没有相关文档,测试人员在对需求进行分析整理之后,制作相应的文档材料);51Testing软件测试网QO|1c9Eap4o/Q

  第二步:在开发人员代码编写期间,测试人员根据整理分析后的文档材料,进行:

{%e4N,_s e0

    1、测试用例设计;51Testing软件测试网 U.wx+Q$N1hPS

    2、用例评审,评审完成后提交到svn服务器上供开发自测参考;

U]U+M8v Bp0

    3、测试用例代码实现;

$I/`9A Z/XC U4R1M0

    4、搭建hudson自动化回归环境;51Testing软件测试网([ C,H!EI

  第三步:开发人员代码编写完成后提交到svn服务器上,自动触发hudson进行自动化回归测试,回归结束后将测试结果反馈给开发人员,开发人员根据该结果对代码进行修改,提交svn, 再次自动化回归测试,反复进行这个过程,一直到功能测试最终完成,形成稳定功能版本的开发代码;51Testing软件测试网;u\E8FPu6o

  第四步:代码功能测试完成后,由测试人员进行性能/压力测试,并将测试结果反馈给开发,开发人员根据该结果对代码进行修改(若对代码进行修改并提交svn, 则触发hudson进行自动化回归测试,并人工进行性能/压力测试,反复进行这个过程,一直到性能/压力测试结果符合要求);

ae5qjE4e6Q7v1p0

  第五步:测试人员编写测试报告。

.f0s7IRiufds0

  OK,软件测试流程及并行测试介绍完毕,欢迎拍砖。51Testing软件测试网)KN"FPg#Us D


TAG:

 

评分:0

我来说两句

Open Toolbar