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

浅谈软件测试流程

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

浅谈软件测试流程

(d9O]fKYEQ0

 51Testing软件测试网 n i9SEuVU2~'WE a

宣言:xuanyan356@163.com51Testing软件测试网(wDIk+j$]K5B;u)k2y

 51Testing软件测试网(f I\T$J8u@ hZ

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

4l h3VwIj r4fi0

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

ebM9ic`w0

 51Testing软件测试网KK/P+dhx ME jR"|

一、概述

v!C-[T g r\T C0

 

R-O KKb"?pm0

一般而言,软件测试从项目确立时就开始了,前后要经过以下一些主要环节:

A*pv;h d&MVh0

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

K`j?DU eP8|0

 

)\.M~K4X(ve0

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

B\*L W-nB"|0

说明:

z z*w2fV'dZCB:F0

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

 

*e7_9B7h&{[Z0

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

f7|"ee.@/Ew0

 51Testing软件测试网wt5k(~F,f2_3ux

二、测试流程

:l#H8R P v-n0

 

(w M"c)Ff+U,i0

51Testing软件测试网}8X)P0Vhc#J

t"d-J!}oJ0

 51Testing软件测试网R`[%D0rm9M pL

    51Testing软件测试网od G/uU I [ \!B$n

需求分析

7rAK y9}Y?oh6o/O0

 

!c ^Yt g B6gb6VT0

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

mC*E(z^0

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

5x4H%g1^LD2G8D0

 

EDR$N'A@(k0

一般而言,需求分析包括软件功能需求分析、测试环境需求分析、测试资源需求分析等。

(r S k:Fri:T$H0d)M0

 

0k;j*gG'Eo0

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

A}&M H ce0

 

8Ui+X0g'bI4b0

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

eu6E~h"{| F#w ]0

 

%}D*dkF;{ Xi2J0

总得说来,做测试需求分析的依据有软件需求文档、软件规格书以及开发人员的设计文档等,相信管理一些规范的公司在软件开发过程中都有这些文档。51Testing软件测试网RuL4Om(t.}uv z q3F

 

LETO \%t0

测试计划51Testing软件测试网 v&a JD U-U5_[\%[

  51Testing软件测试网k+To9P,E

测试计划(Test Plan)一般由测试负责人来编写。

5{W(?f*S0U[0

 

v],[5rH/ed0

  测试计划的依据主要是项目开发计划和测试需求分析结果而制定。测试计划一般包括以下一些方面:51Testing软件测试网Rb"T i O

 

jyY+J:Z1u ]*V0

1. 测试背景

"q9l\ULT`j0e^0

a.      软件项目介绍;51Testing软件测试网 f[b5ws,u q4O

b.      项目涉及人员(如软硬件项目负责人等)介绍以及相应联系方式等。

r&iI8cg(qR-_S0

2. 测试依据

;F*KW&Q+y"a,\;d0

a.      软件需求文档;51Testing软件测试网*sMb.fPO-o

b.      软件规格书;

h Yr[6H!l]0

c.      软件设计文档;

})IT-A/\ f)Z p[0

d.      其他,如参考产品等。51Testing软件测试网8a4ZN'y9jJ H?*m9FI

3. 测试资源51Testing软件测试网,a!`'O;I![2~ i F,|

a.      测试设备需求;51Testing软件测试网4Q R~` K;~

b.      测试人员需求;

t7W8a*T?)pl{+H3M0

c.      测试环境需求;51Testing软件测试网 I ggro ?8R-n

d.      其他。

(]@]$IV3L xqBC-m0

4. 测试策略51Testing软件测试网T/q E(j8\3{4d

a.      采取测试方法51Testing软件测试网a @cL~%iWY$w6`

b.      搭建哪些测试环境;

g%NL#D7Z.n:Z/Q0

c.      采取哪些测试工具测试管理工具;51Testing软件测试网8y+X)v,g W v8A

d.      对测试人员进行培训等。51Testing软件测试网-lo[Q P$[f4E

5. 测试日程

gzE]Y\\KS0

a.      测试需求分析;

4ahs;r]:b#aQ.`0

b.      测试用例编写;

/n EZ b&K&j0

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

6. 其他。

!Dbhc+u)xK0

 

0b7t2p9D y+j?/i+Bi0

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

,fT JL!r j0

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

9? t%N1X:W7G,n-S0

 51Testing软件测试网:Z NZk"[qF7s

测试设计51Testing软件测试网)U#tg4W? F~4]

 51Testing软件测试网+a8xa:y_{

测试设计主要包括测试用例编写和测试场景设计两方面。51Testing软件测试网G,H\ n&v1P{'U

 

cZ]1D8R5b3p!jO/x0

一份好的测试用例对测试有很好的指导作用,能够发现很多软件问题。关于测试用例编写,请参见前面写的《也谈测试用例》一文,里面有详细阐述。

pJfYWckP0

 51Testing软件测试网Y j:a in3R~d!Q

测试场景设计主要也就是测试环境问题了。51Testing软件测试网/A'ik;p N'q_S^$U

 

.dt6UF N0i j&n0

测试环境搭建

y~G ecM0

 51Testing软件测试网.yc|#QF3PD7H8L

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

(}5M yz]%{6j'd0

 

:i#h\&I%Fz1^B0

测试环境很重要,符合要求的测试环境能够帮助我们准确的测出软件问题,并且做出正确的判断。51Testing软件测试网L/M+c\{.cB8z'F

 

*M yD(s*OIf1m4|0

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

k4z{8[t/i0

 

;W9K,l-I;bD1_dY+f0

测试执行51Testing软件测试网_&YI m YnD

   

!OR"YE?*mu0

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

8A3xb ^3?ndXm.a0

 51Testing软件测试网0_(}e7d#X;PO_

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

.@'~^$FI Mxo0

 51Testing软件测试网,l kk/@%` @

从测试的角度而言,测试执行包括一个量和度的问题。也就是测试范围和测试程度的问题。比如一个版本需要测试哪些方面?每个方面要测试到什么程度?51Testing软件测试网f C @3osAAP^

 51Testing软件测试网C ~*wiy0`9_ }y#A1z

从管理的角度而言,在有限的时间内,在人员有限甚至短缺的情况下,要考虑如何分工,如何合理地利用资源来开展测试。当然还要考虑以下问题:51Testing软件测试网 ^a Dk%{U8C"C$@X

1. 当测试人员测试的执行不到位、敷衍了事时该如何解决?51Testing软件测试网_#^[7R,O {L:}

2. 测试效率问题,怎样提高测试效率?51Testing软件测试网-O3_dbNUw1Z

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

0l/jk a(sa F0

4. 当测试过程中遇到一些偶然性随机问题该怎样处理?51Testing软件测试网q&h*N7j U*H!^

5. 当版本中出现很多新问题时该怎样对待?测试停止标准?51Testing软件测试网+M#z+C1b4G"~,j[Pq

6. ……

U#G'P`bb5mf0

总之,测试执行过程中会遇到很多复杂的问题,还是那句话,具体问题具体解决!本文不做过多阐述。

{P1g M)g&X0

 51Testing软件测试网 V1ipTC3y

测试记录51Testing软件测试网G$V&xAd"P

 51Testing软件测试网7~.t2YU(a q#]tUi

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

|W|:YP'b4tJiS!QmI:U0

 51Testing软件测试网|j~{2v c

一般而言,缺陷都是谁测试谁提交,当然有些公司可能为了保证所提交缺陷的质量,还会在提交前进行缺陷评估,以确保所提交的缺陷的准确性。51Testing软件测试网z Il*dP1N|\

 

S)VaQ^8U'n8_0

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

,z o.I |zz*rd051Testing软件测试网 cf!sK,{_I}Gd

序号

3@D'n[g2Oo0

标题

;`i1Y6H&AA#i0

预置条件

F@p [l2`4F0

操作步骤

uUpdy4w7g+[r0

预期结果51Testing软件测试网ts[Ota!e

实际结果51Testing软件测试网Z }-S c:q,sPqv

注释51Testing软件测试网cIH1E|_0l

严重程度

2y0M*~SSD0

概率51Testing软件测试网aR4b;AI|

版本

d1e%`}B1{;f].mOJ0

测试者

\^qfW%~Fe }0

测试日期51Testing软件测试网)D n,Nal

A3^9tF#vC.I0

 51Testing软件测试网G W2C+EX Z!Y

以上是描述一个bug时通常所要描述的内容,当然在实际提交bug时可以根据实际情况进行补充,如附上图片、log文件等。51Testing软件测试网+s:|ZoC G](n]

 

H c2itE[ { mw0

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

u%P%~Q2s!^0

 

6vQ7X)Ug1Y X2N0

缺陷管理51Testing软件测试网:aLS3j r vK'Fvqi

 

P%IZ?'NV0

缺陷管理方面,很多公司都采取缺陷管理工具来进行管理,常见缺陷管理工具有Test DirectorBugfree等。

t+n@ z6{0

 51Testing软件测试网|0?Lm8^:o{.qD

下图是一个bug从提出到close所经过的一些流程,其他比如keep No action\keep spec等一些状态流程都未包含在内,在此仅做示范说明。

`w*Pvi#IT0

 51Testing软件测试网Do,C[ r'o:p&u/i

Jq$JUz0

51Testing软件测试网2Y3m\Sx-A'GD

 

[1t*}2L;{?(E"f0

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

J%oU{L+b2sb'z4|3^0

 

*F u;~2W'z8B$Wt0

软件评估

!e0p0r2b'~%Y0

 51Testing软件测试网J#}S7uv?R

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

k8i6jER'^*~4v0

软件评估小组一般由项目负责人、营销人员、部门经理等组成,也可能是由客户指定的第三方人员组成。

Vy ylFBY_0

 51Testing软件测试网U/G r'{\,YG$N3KE

测试总结

)\pQ5Tb0

 51Testing软件测试网hqH d6A'J

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

{7~ NMSH*l^}0

 

3})N(@O i.Hy0

测试维护

[},kc#}3L0

 

\wdG)@Gq0

  由于测试的不完全性,当软件正式release后,客户在使用过程中,难免遇到一些问题,有的甚至是严重性的问题,这就需要修改有关问题,修改后需要再次对软件进行测试、评估、发行。51Testing软件测试网 ] j|ewA;X2hWms _

 51Testing软件测试网'j6Xa3yM_.z

 51Testing软件测试网8N2D |%j5{%P y$|0IK$f

作者 宣言2007-03-25

-zP2Z2r0B)gV0

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