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

浅谈软件测试流程

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

浅谈软件测试流程51Testing软件测试网{DkIr|0xGz

 51Testing软件测试网*P;MNGg8m7nB

宣言:xuanyan356@163.com

6^4G r8p$r R%mY0

 

wW+\ S)B0

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

0UH"km1KB0

【关键词】测试流程、需求分析、测试用例、测试计划、缺陷管理51Testing软件测试网c%b%ZIn;e?)Z

 

;x0Or mpBz0

一、概述51Testing软件测试网-|1K"UR`#Fw

 51Testing软件测试网#E.LKNm$t

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

-OyX)b hV }0`\b0x0

需求分析→测试计划→测试设计→测试环境搭建→测试执行→测试记录→缺陷管理→软件评估→RTM.51Testing软件测试网!CY6DF.B:yg0? KH

 

%M/N$HZ s4`&G0

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

!Hs&k1W iA5v @0

说明:

?J x6E6eE0

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

o,^(T#lb0

 51Testing软件测试网ZR-y4DQj

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

4Z] X rpu{0

 51Testing软件测试网_*|:^HJ

二、测试流程

;l+]q _h3[~0

 51Testing软件测试网)k`q!H{ b

51Testing软件测试网 v.wG}+G.A

51Testing软件测试网Gz x/v C

 51Testing软件测试网(Qwz1{Q

    51Testing软件测试网)DAlk!mkI1QFl

需求分析51Testing软件测试网-Q$L VZ MT b

 51Testing软件测试网k$DG;Rb/uRX

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

oBy2jvF ?R!q0

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

)e&c%pd@ E0

 

U$_4f3d^P~ sA0

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

uK/G-Yn!p)o#k/~:BI0

 

8B G}}Q9E0

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

9E,}@/nD? N0

 

Hx?p*ig|?0

既然谈了需求分析,那么我们根据什么来分析呢?总不能凭空设想吧。51Testing软件测试网xDlM} ]

 51Testing软件测试网5}Nn up.]

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

dF _S*C'@ l*Z0

 51Testing软件测试网C"s$}N@%G"[

测试计划51Testing软件测试网%tl"@s @&U.[

  

;dCPg7X J0

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

3B1A uPYfEz2X0

 51Testing软件测试网Pc+U(r!fIY,o3La

  测试计划的依据主要是项目开发计划和测试需求分析结果而制定。测试计划一般包括以下一些方面:51Testing软件测试网0Bd-@+t,zX,R0W

 51Testing软件测试网*r+j*OI6V I#fOY

1. 测试背景51Testing软件测试网4J2w3Z D9}

a.      软件项目介绍;51Testing软件测试网1S#Spn#h

b.      项目涉及人员(如软硬件项目负责人等)介绍以及相应联系方式等。51Testing软件测试网:d[EMUE ^

2. 测试依据51Testing软件测试网7z2H@lz7Bl1[+P

a.      软件需求文档;51Testing软件测试网O+RW}G#S!d

b.      软件规格书;

:]:x5Z.f1Y9t6v%j&Y0

c.      软件设计文档;51Testing软件测试网8K s-V Pnpf-NW6d

d.      其他,如参考产品等。51Testing软件测试网{)na*M"lP ZgW*|

3. 测试资源51Testing软件测试网MVlc Mg$_v

a.      测试设备需求;51Testing软件测试网F$~I+QY{`I

b.      测试人员需求;

%l-T2HH#dk#C;i0

c.      测试环境需求;

R+x:l8Y)v+~.P0

d.      其他。51Testing软件测试网"@;o Ej)V|

4. 测试策略

H%dx8|u\Z#n_w0

a.      采取测试方法51Testing软件测试网.wxY i7l7d6uET

b.      搭建哪些测试环境;51Testing软件测试网%z{ |7v(gJ

c.      采取哪些测试工具测试管理工具;

Eie H@n%j0

d.      对测试人员进行培训等。51Testing软件测试网!v W"K3{.RX

5. 测试日程51Testing软件测试网|M#_4\i2L

a.      测试需求分析;51Testing软件测试网3zGbM\A.\L4k

b.      测试用例编写;51Testing软件测试网"Y(SeE\!\ Q[g

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

R[Z]8~/w"a)O |$k K2p0

6. 其他。

0v+RP5|0@6~0

 

D|F Og/Y0

测试计划还要包括测试计划编写的日期、作者等信息,计划越详细越好了。51Testing软件测试网Bsq,h MPBZ w!_

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

 

(vAbw*o7f$D0

测试设计

y/v)L*Qo}0

 

c x&S0LU7^:y%go U'q0

测试设计主要包括测试用例编写和测试场景设计两方面。51Testing软件测试网i_8oL$g5@@2A f/`

 

\%A%K;`*V[w1O0

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

S!tX3} T"@(J*_0

 51Testing软件测试网1G$HpT|*x-v

测试场景设计主要也就是测试环境问题了。51Testing软件测试网8M5jC1v2H,[3o:I

 

9A:j\~Z8atE0

测试环境搭建

&Up NVx:c0

 51Testing软件测试网6Q$SGG ? D yEW

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

\'y&J-zxA0

 51Testing软件测试网;e9c)r]xU9xB

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

'z fV%P4XTOxii0

 

F,?'w.goEY0

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

i3Em"o%io6A0

 

(t.k,EWc0

测试执行

8h#f l1gN0

   

I3u(M(DzZD,V,M?0

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

{D/B3EI$Lbb0

 51Testing软件测试网3f:mS(rD9D2]G

单元测试→集成测试→系统测试→出厂测试,其中每个阶段还有回归测试等。51Testing软件测试网$q)W:z1F Tc.X

 51Testing软件测试网.{;QzT0|8f"X0x

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

 

&Aot ^ pz0

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

U*r8{M GVcA{0

1. 当测试人员测试的执行不到位、敷衍了事时该如何解决?51Testing软件测试网1UMUSEa-s

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

1Q6O:{C%f0

3. 根据版本的不同特点是只做验证测试还是采取冒烟测试亦或是系统全面测试?51Testing软件测试网"b3Q/X"}o#G

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

S5]{'N/t Y7O0

5. 当版本中出现很多新问题时该怎样对待?测试停止标准?

~L*k(f-j9m/V(h0

6. ……

` @o:_R6v%| G"{{0

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

3w c,Pd@e~P/J0

 51Testing软件测试网4mj~ilj@7pv]x

测试记录

-?'A k5WS2k9Koq2T0

 51Testing软件测试网 U:X$O2FX:M

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

0FdpLJ N7N0

 51Testing软件测试网&Kx#L8Y"p R4qi

一般而言,缺陷都是谁测试谁提交,当然有些公司可能为了保证所提交缺陷的质量,还会在提交前进行缺陷评估,以确保所提交的缺陷的准确性。51Testing软件测试网bV l o!LF6q:^({

 51Testing软件测试网g3iP)g&_gm:uJ.G

在缺陷的描述上,至少要包括以下一些方面内容:51Testing软件测试网 CB'_ \X.TaU7f d

7a$_ v0OKg7p0

序号

9|3OM(K%^P0

标题51Testing软件测试网m0h.rf[TOg D$^

预置条件51Testing软件测试网m4es;@_

操作步骤51Testing软件测试网X,H8w"|Sy"l

预期结果51Testing软件测试网 BV]N7\R

实际结果

ao3] { cs*hm0

注释51Testing软件测试网t |&_D F~

严重程度

/_&Y-l;l@sl6W(t/? [0

概率51Testing软件测试网p.C ?_|$R

版本

6I5Y,Zq3I@A1J.bz0

测试者51Testing软件测试网~3O8^9J U

测试日期

(t2e`D%[ h/Nw M0

tuHE/As sC NN'g0

 

;h$R)?.lek0K0

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

?yP0}x-a!E0

 51Testing软件测试网G\ N?7]9O8K

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

g0rm6m|bv0

 51Testing软件测试网)_Pc0^5gF ?jC

缺陷管理

"NY1U4~7Y0

 51Testing软件测试网bAE f~3e.S n j/f

缺陷管理方面,很多公司都采取缺陷管理工具来进行管理,常见缺陷管理工具有Test DirectorBugfree等。51Testing软件测试网O+Pr.Z9}:p!@"B1_$d*T

 

6_ L;_6eS4J0

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

tI-Lhg!qZ[ _0

 51Testing软件测试网$yf/g}#c&M

51Testing软件测试网"z$t@(Bd

&{#U(f+U7h,J!? F G\c0

 51Testing软件测试网8s7]? YEgR"J

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

3Q&y$n`"lXZM7qG0

 51Testing软件测试网h+Xp~tUx N D

软件评估51Testing软件测试网 QkMA6u&?w GV | d'}:A

 51Testing软件测试网 l2G;Fh%` zh Hs

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

软件评估小组一般由项目负责人、营销人员、部门经理等组成,也可能是由客户指定的第三方人员组成。51Testing软件测试网:n KQgESJ'b

 

\M { `3XA5m0

测试总结51Testing软件测试网1B%D:C]-N*N~

 

(f"T1d8S:da9|0

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

 51Testing软件测试网nE4AR)go2e5[

测试维护

Vy4H*Cp#n'T0

 51Testing软件测试网JqA(PF\

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

R0b\%s @8C0

 51Testing软件测试网/W!o;P8c-F8k2V#jm

 

:t4N6{},Q.E4F0

作者 宣言2007-03-2551Testing软件测试网7X|#I!n [E


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