每天进步一点点,用感恩的心做人!

浅谈软件测试流程

上一篇 / 下一篇  2007-03-26 17:32:51 / 个人分类:测试技术

浅谈软件测试流程

Swm.Xy3Fj0

 

Qe%s5l6~2~Y?)UJ!S },v0

宣言:xuanyan356@163.com

|z2hW+B#W3Qf0

 51Testing软件测试网8q C5H/o_r-k

【摘要】软件测试从哪里开始到哪里结束?中间要经过哪些环节以及各环节要注意哪些事项。本文就有关问题结合个人实际工作经验进行阐述,鉴于每个环节都可以做为一个专题来进行探讨,所以受篇幅和时间限制,本文对有关问题未做深入剖析,只做一个宏观上的介绍。51Testing软件测试网(am pf AfE4|

【关键词】测试流程、需求分析、测试用例、测试计划、缺陷管理

?k.M9\'G'V0

 51Testing软件测试网L&`xr,T2B {}

一、概述51Testing软件测试网U zqP1eGL)]

 51Testing软件测试网 h,~ML3O@]

一般而言,软件测试从项目确立时就开始了,前后要经过以下一些主要环节:51Testing软件测试网$o2`#fslm

需求分析→测试计划→测试设计→测试环境搭建→测试执行→测试记录→缺陷管理→软件评估→RTM.51Testing软件测试网OBG6kPB

 51Testing软件测试网b)]$D?PA zqLwX3@

在进行有关问题阐述前,我们先明确下分工,一般而言,需求分析、测试用例编写、测试环境搭建、测试执行等属于测试开发人员工作范畴,而测试执行以及缺陷提交等属于普通测试人员的工作范畴,测试负责人负责整个测试各个环节的跟踪、实施、管理等。

:}\*Uk@P-w0

说明:

PR3b4xA0

1.以上流程各环节并未包含软件测试过程的全部,如根据实际情况还可以实施一些测试计划评审、用例评审,测试培训等。在软件正式发行后,当遇到一些严重问题时,还需要进行一些后续维护测试等。

U$Oc&V}K3L q7| Dd1dW0

 

P*B&K Rsr'U0

2.以上各环节并不是独立没联系的,实际工作千变万化,各环节一些交织、重叠在所难免,比如编写测试用例的同时就可以进行测试环境的搭建工作,当然也可能由于一些需求不清楚而重新进行需求分析等。这就和我们国家提出建设有中国特色的社会主义国家一样,只所以有中国特色,那是因为国情不一样。所以在实际测试过程中也要做到具体问题具体分析,具体解决。

0Lv1}ja9vP"?0

 51Testing软件测试网@;X#|G(J7R'Fm6@-e

二、测试流程51Testing软件测试网!m e(~+q4o

 

'u-kxL#C0

p-C9z_2~w0

TwV#c s*E0

 

,XU4kn${0lk:d"IG0

    

:ZS-~ta9so6O~*N3v0

需求分析

;T,R(n XG&eX0

 51Testing软件测试网6HX+d#p4vxk*M ?

需求分析(Requirment Analyzing)应该说是软件测试的一个重要环节,测试开发人员对这一环节的理解程度如何将直接影响到接下来有关测试工作的开展。

F,N5Jm4[)}0

可能有些人认为测试需求分析无关紧要,这种想法是很不对的。需求分析不但重要,而且至关重要!

` v6M p"dTF0

 

8}ED:zR$q9l0

一般而言,需求分析包括软件功能需求分析、测试环境需求分析、测试资源需求分析等。51Testing软件测试网;Zdj^K HH%n4h$x-{

 51Testing软件测试网 r&Qc7g0}1{gfqq

其中最基本的是软件功能需求分析,测一款软件首先要知道软件能实现哪些功能以及是怎样实现的。比如一款Smartphone包括VoIPWi-Fi以及Bluetooth等功能。那我们就应该知道软件是怎样来实现这些功能的,为了实现这些功能需要哪些测试设备以及如何搭建相应测试环境等,否则测试就无从谈起!51Testing软件测试网;ERCs;ME

 

P8ivhjo| e0

既然谈了需求分析,那么我们根据什么来分析呢?总不能凭空设想吧。

@gxR2N9N0

 

F)cO.X[.l0

总得说来,做测试需求分析的依据有软件需求文档、软件规格书以及开发人员的设计文档等,相信管理一些规范的公司在软件开发过程中都有这些文档。51Testing软件测试网to-@R%X4XtiH

 

%]GvT ^Mc EP0

测试计划51Testing软件测试网o/S$gJ(V7~

  51Testing软件测试网0lWP!y%G i1^

测试计划(Test Plan)一般由测试负责人来编写。51Testing软件测试网6_,Af V"WCY,d ?C

 

$d2\^3QS\"vT`0

  测试计划的依据主要是项目开发计划和测试需求分析结果而制定。测试计划一般包括以下一些方面:

P.T B2a8o;N9^2DD0k0

 

7g1z9MO$o o0

1. 测试背景51Testing软件测试网8\F`#|8qq q)T

a.      软件项目介绍;51Testing软件测试网1VX z @3v;bx-sQ:D

b.      项目涉及人员(如软硬件项目负责人等)介绍以及相应联系方式等。51Testing软件测试网(h-W-y6n5]dX2g

2. 测试依据

CZ'@ Pw0

a.      软件需求文档;

*q%{4J n6[?w!tv0

b.      软件规格书;

i/\;yla1X?4c:?0

c.      软件设计文档;

PXzV#|9d%sZ;y0

d.      其他,如参考产品等。51Testing软件测试网4p;C0t ~ ]

3. 测试资源

qQ H.y&Im)^aG&`0

a.      测试设备需求;51Testing软件测试网@&T(sWi2iW,O

b.      测试人员需求;

)a:zc+V]1{0

c.      测试环境需求;51Testing软件测试网 CZv%V+tgD%_FU

d.      其他。

f6Q'M3wa0

4. 测试策略

;_"S ~vqCL0

a.      采取测试方法51Testing软件测试网Hp[Q*LvQ TL3f

b.      搭建哪些测试环境;

!?"AF(jL*qX(L0

c.      采取哪些测试工具测试管理工具;51Testing软件测试网4zJ1l;MrV

d.      对测试人员进行培训等。51Testing软件测试网g$S%m!v;U(]Dvf,r,?

5. 测试日程51Testing软件测试网P_V Z"Pp:_xH

a.      测试需求分析;

"ej8f&pZ8q8|a0

b.      测试用例编写;51Testing软件测试网:fJDr7C1s%?u

c.      测试实施,根据项目计划,测试分成哪些测试阶段(如单元测试、集成测试、系统测试阶段,α、β测试阶段等),每个阶段的工作重点以及投入资源等。

'|8Q4Yj8M R}0

6. 其他。

.L[y YI/?Z!Q"^0

 

_`!d#y"tg N0

测试计划还要包括测试计划编写的日期、作者等信息,计划越详细越好了。

5`;nj"~_5U&D'o0

计划赶不上变化,一份计划做的再好,当实际实施的时候就会发现往往很难按照原有计划开展。如在软件开发过程中资源匮乏、人员流动等都会对测试造成一定的影响。所以,这些就要求测试负责人能够从宏观上来调控了。在变化面前能够做到应对自如、处乱不惊那是最好不过了。51Testing软件测试网7L-a uIeedN;N

 

Cb Te\x0

测试设计51Testing软件测试网SS:_*k:`m sx

 51Testing软件测试网7d"M%bH+e3k y/X,D

测试设计主要包括测试用例编写和测试场景设计两方面。51Testing软件测试网Z];K;[D,iM8^ R J'f{

 

6Dn+W FuM7F0

一份好的测试用例对测试有很好的指导作用,能够发现很多软件问题。关于测试用例编写,请参见前面写的《也谈测试用例》一文,里面有详细阐述。51Testing软件测试网4F+x,{6jezlx!E \

 

Xbc GF+ZX$G(Tt0

测试场景设计主要也就是测试环境问题了。51Testing软件测试网-V}L*j"F

 

*W$H!E+R~0

测试环境搭建51Testing软件测试网_:u!c-Sp!E8B

 

bIqs3O0

不同软件产品对测试环境有着不同的要求。如C/SB/S架构相关的软件产品,那么对不同操作系统,如Windows系列、unixlinux甚至苹果OS等,这些测试环境都是必须的。而对于一些嵌入式软件,如手机软件,如果我们想测试一下有关功能模块的耗电情况,手机待机时间等,那么我们可能就需要搭建相应的电流测试环境了。当然测试中对于如手机网络等环境都有所要求。51Testing软件测试网QleC*EHI4i9J

 51Testing软件测试网|} U/Q)Y2u@b0{d2F

测试环境很重要,符合要求的测试环境能够帮助我们准确的测出软件问题,并且做出正确的判断。

_9pw,C+^Q6p0

 

5ECe5E#p0

为了测试一款软件,我们可能根据不同的需求点要使用很多不同的测试环境。有些测试环境我们是可以搭建的,有些环境我们无法搭建或者搭建成本很高。不管如何,我们的目标是测试软件问题,保证软件质量。测试环境问题,还是根据具体产品以及开发者的实际情况而采取最经济的方式吧。51Testing软件测试网O [1}3{w

 

.T3z`NB E6B3[0

测试执行

[L;X0G5a/t"lo!N0

   51Testing软件测试网$? |'Ld l-[Utw

测试执行过程又可以分为以下阶段:

Z5yu&T1{6?P'U~0

 51Testing软件测试网)]Y~ v&g&I

单元测试→集成测试→系统测试→出厂测试,其中每个阶段还有回归测试等。

3xO+H+{lW0

 51Testing软件测试网H7y5CY"vep

从测试的角度而言,测试执行包括一个量和度的问题。也就是测试范围和测试程度的问题。比如一个版本需要测试哪些方面?每个方面要测试到什么程度?

5A;qNf E1D$AS&Y0

 51Testing软件测试网 uLA {1P-{ g

从管理的角度而言,在有限的时间内,在人员有限甚至短缺的情况下,要考虑如何分工,如何合理地利用资源来开展测试。当然还要考虑以下问题:

`%[9I"d(h0

1. 当测试人员测试的执行不到位、敷衍了事时该如何解决?

6J,g,fT[sU?U0

2. 测试效率问题,怎样提高测试效率?

xsK2Y _~0

3. 根据版本的不同特点是只做验证测试还是采取冒烟测试亦或是系统全面测试?

l9f(I"R2p0

4. 当测试过程中遇到一些偶然性随机问题该怎样处理?

o#_fe:Ib0

5. 当版本中出现很多新问题时该怎样对待?测试停止标准?51Testing软件测试网O^(c.Q3|G/j o

6. ……51Testing软件测试网0NPW8V-YUK

总之,测试执行过程中会遇到很多复杂的问题,还是那句话,具体问题具体解决!本文不做过多阐述。51Testing软件测试网 N*bE!@*x(M?

 51Testing软件测试网(A\9p#A e

测试记录

EG.rW:\z0K0

 51Testing软件测试网ra4N:w9m#}]

缺陷记录总的说来包括两方面:由谁提交和缺陷描述。

j+| }$F7r,j m\0

 51Testing软件测试网n8]%v(U0e(l.w

一般而言,缺陷都是谁测试谁提交,当然有些公司可能为了保证所提交缺陷的质量,还会在提交前进行缺陷评估,以确保所提交的缺陷的准确性。51Testing软件测试网%[JFXY9\9Q:K `

 51Testing软件测试网"G9^o]U

在缺陷的描述上,至少要包括以下一些方面内容:

-x^ yq5m k6mF_0

wK"{2G9L!Og]0

序号51Testing软件测试网'}+Ff+V)i!I1s

标题

.zd:bq9@}*xY da0

预置条件51Testing软件测试网:u~.`3uw%^6a

操作步骤

N9|e,}Q-F0

预期结果

e J%OQ:N p@n\0

实际结果51Testing软件测试网|N6i'r w)K

注释

(d adz^t-f8QM#{0

严重程度

sL\G'i[:[0

概率

la$X!Yi0

版本

t#O'x)^L-N0

测试者

/s;y f1q NPU~0

测试日期51Testing软件测试网+ZCor4k$p D{y#ei

3~~8I-v'e-~n0

 

Ea3f ^v a*MW0

以上是描述一个bug时通常所要描述的内容,当然在实际提交bug时可以根据实际情况进行补充,如附上图片、log文件等。

]R.IQ[s _5a0

 51Testing软件测试网V jq XnZ-R

另外,一个版本软件测试完毕,还要根据测试情况出份测试报告,这也是所要经过的一个环节。

6my+Boz0

 

mU6NWe Pp"M0

缺陷管理51Testing软件测试网-m&l5cm#elL9O#@

 

'?e0}:N TT0

缺陷管理方面,很多公司都采取缺陷管理工具来进行管理,常见缺陷管理工具有Test DirectorBugfree等。51Testing软件测试网7T6w3C;q!y2_ v {Z _t

 51Testing软件测试网*uG4[J(k]*u \L

下图是一个bug从提出到close所经过的一些流程,其他比如keep No action\keep spec等一些状态流程都未包含在内,在此仅做示范说明。51Testing软件测试网6?m"\hY9`

 51Testing软件测试网"|?e(pJre]

2?J7C} t5bX3I0

Qd;B0^7x`,[5O;h0

 

t;g S!UHH#K;CV0

注:软件缺陷和bug两者在含义上有着细微差别,本文统称缺陷。

"x.cS:~w\/z-Od9y(u0

 

ecf,p(h*t@-]F[0b0

软件评估51Testing软件测试网a!xd*B?gDs

 

4p6I4E Clk7a&w0

这里评估指软件经过一轮又一轮测试后,确认软件无重大问题或者问题很少的情况下,对准备发给客户的软件进行评估,以确定是否能够发行给客户或投放市场。51Testing软件测试网#d4t5B&u&j*hL

软件评估小组一般由项目负责人、营销人员、部门经理等组成,也可能是由客户指定的第三方人员组成。51Testing软件测试网$G,`+K,f&c8A}Z

 

L ]&O9l2Q3c!m E0

测试总结51Testing软件测试网W%N)S%n+zt8s W:u(G'v@

 

:kS8d5LP7EU0

每个版本有每个版本的测试总结,每个阶段有每个阶段的测试总结,当项目完成RTM后,一般要对整个项目做个回顾总结,看有哪些做的不足的地方,有哪些经验可以对今后的测试工作做借鉴使用,等等。测试总结无严格格式、字数限制。应该说,测试总结还是很总要的。

{ pAm:|0

 

Q6l w Ru U0S0

测试维护51Testing软件测试网1f F U8l$] ~;Wl@

 

uuL ]5tP)V.}5Xy0

  由于测试的不完全性,当软件正式release后,客户在使用过程中,难免遇到一些问题,有的甚至是严重性的问题,这就需要修改有关问题,修改后需要再次对软件进行测试、评估、发行。51Testing软件测试网"Q~q{RB%Nql#n

 

#F!L3lFb(X9O3^0

 51Testing软件测试网 @C6wW5f+E s&s&@

作者 宣言2007-03-25

MFNQ1Sd.^:h5~G0

TAG: 测试技术

引用 删除 wb0736   /   2016-10-15 12:02:01
-5
zou19890421的个人空间 引用 删除 zou19890421   /   2016-03-02 15:20:59
1
smileno1的个人空间 引用 删除 smileno1   /   2008-12-10 16:05:15
我想问一下,在你工作的过程中,RTM是最后生成的吗?如果是这样,RTM作为整个测试阶段最终的成果物,那他还具有什么样的意义
?谢谢,我平时遇到的与这里所写的有些不一样
 

评分:0

我来说两句

Open Toolbar