Everything should be tracked!

浅谈软件测试流程

上一篇 / 下一篇  2008-11-13 17:01:39 / 个人分类:测试资料

浅谈软件测试流程51Testing软件测试网@JFd onK

 

e)?X\/C4_-]7b0

 

z*^v/dEj;o`V#R0

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

(a@@;c'` G0

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

HWx;kj ?Q-U0

 51Testing软件测试网 Z3` T]#b#aC

一、概述

l'U? r L y5qCL0

 51Testing软件测试网Q1^2V:IU`k(nx

一般而言,软件测试从项目确立时就开始了,前后要经过以下一些主要环节:51Testing软件测试网a!E`&|s2D

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

 

wP^aq%y*b2o0

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

说明:

#rAr@?jZ0

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

 51Testing软件测试网~D0]7n9T\9S;V

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

 

[_c(i0J.f%I"]0

二、测试流程

G!xodk+^0

 51Testing软件测试网xT]9o%o QVw&o(hJ

51Testing软件测试网%w8T"^"mC B

9oG~ X&}]0

 51Testing软件测试网*`nx|6Xv,A*?#T]

    

#U9|k'X#M(iQ1u _}0

需求分析51Testing软件测试网AX!G r*T-w hbaw

 

oLNf"t0

需求分析(Requirment Analyzing)应该说是软件测试的一个重要环节,测试开发人员对这一环节的理解程度如何将直接影响到接下来有关测试工作的开展。51Testing软件测试网"d|\$y8F5q.k&nI

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

:j0ig IP\G/c(e'hrv0

 51Testing软件测试网2r9} Ik(\+kw.h#]

一般而言,需求分析包括软件功能需求分析、测试环境需求分析、测试资源需求分析等。51Testing软件测试网y6H%S'y)y/P EN]

 

`s-fm(r M`:P*^}0

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

W d(]4D7MnX,v0

 51Testing软件测试网]&G [9NK!t%_Y

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

 51Testing软件测试网7Y{b4q;V$i3J,y6v#U`$re0@

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

 

!?2i hT6lU(i0

测试计划

ro%[$PE-f{T!l0

  

Z:of[\p0

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

&avFx/L0

 

G4i0{ I$u4H+{0

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

 51Testing软件测试网 Keyx @

1. 测试背景

L;KgA]"Z#v'K0

a.      软件项目介绍;

-h ^e;w G|0

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

2. 测试依据51Testing软件测试网|T,yF'r5uQ g&o%o

a.      软件需求文档;51Testing软件测试网'd3kj$O-L0OL

b.      软件规格书;

Dv?.PEx`0RDX;[0

c.      软件设计文档;

7]7L_6VB(^7K0

d.      其他,如参考产品等。

-\2FKE wg/~"~0

3. 测试资源

f mw nB0

a.      测试设备需求;51Testing软件测试网;zrB,^V

b.      测试人员需求;51Testing软件测试网-aV7PY+r l7L7M1I

c.      测试环境需求;

(Y6z+|vg1KR?0

d.      其他。

`.@}['B`.S0

4. 测试策略

}1} h,`a4V#s)Q3S4n0

a.      采取测试方法51Testing软件测试网mg0my"p;hn

b.      搭建哪些测试环境;

P&raJ'GH]0

c.      采取哪些测试工具测试管理工具;51Testing软件测试网3tr)[RGR*c `

d.      对测试人员进行培训等。

7pe-rA1LQ$c.R.y0

5. 测试日程51Testing软件测试网l%f&W5gH2n

a.      测试需求分析;51Testing软件测试网L1m9if*o/e[7f

b.      测试用例编写;

zTL Vp0

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

6@q&\%a}|2\,u!d0

6. 其他。

/k'Y D#T2K3n,{0

 

D-NPlJB vN}0

测试计划还要包括测试计划编写的日期、作者等信息,计划越详细越好了。51Testing软件测试网-G#N!@$o?n2e.A

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

 

-EUIP.}R+|X0

测试设计

p ~C4J6PP0

 51Testing软件测试网p/Xm*A3L|(a

测试设计主要包括测试用例编写和测试场景设计两方面。51Testing软件测试网iV7uw-q3B$a2s

 

%j#imJ_0

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

0v ].B,ua9f&[#Y0

 

}7uJ"c@ _5w%V1E0

测试场景设计主要也就是测试环境问题了。51Testing软件测试网`O;gW)V N0_1D

 51Testing软件测试网FN'A$Th'I0U

测试环境搭建51Testing软件测试网pK9e:zM'skbP

 51Testing软件测试网 t[:X/x ` j

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

qw7H#z.S0

 

1~|xHbuuR2E+t0

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

5y(Pw/R Od9a"VRGZ0

 51Testing软件测试网_}T vGz4c"_s

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

 51Testing软件测试网.~W(a5_Z3y6l9_*C

测试执行51Testing软件测试网 l DD I)U(U6US

   51Testing软件测试网eC q X2f5sc

测试执行过程又可以分为以下阶段:51Testing软件测试网)SX,p sW&f

 51Testing软件测试网c r(u2nZ8{W|

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

'qy0ho]?#C7W0

 

,S8f'bU6vnfS0

从测试的角度而言,测试执行包括一个量和度的问题。也就是测试范围和测试程度的问题。比如一个版本需要测试哪些方面?每个方面要测试到什么程度?51Testing软件测试网:n#i KgiN`0L

 

8k\.k D~(K0

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

3tOQHC&l2Z!V0

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

~X FX(n-Ei%j%z'}p0

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

Nu kRt0

3. 根据版本的不同特点是只做验证测试还是采取冒烟测试亦或是系统全面测试?51Testing软件测试网@9p)l6a'D

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

'd/BE%l6yi&Ck|.|0

5. 当版本中出现很多新问题时该怎样对待?测试停止标准?51Testing软件测试网 ? R7`#J l"d:D F8R{qy I

6. ……

D K`-a0Gs8h0

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

j!wo @$z%|.l ?0

 

q j(B%H*q3B%p8K0

测试记录51Testing软件测试网E2i-XID#sg

 51Testing软件测试网6sD u_FM,MT

缺陷记录总的说来包括两方面:由谁提交和缺陷描述。51Testing软件测试网(|2uY`$c-h Al

 

+FAJ @%Q%CZb3r0

一般而言,缺陷都是谁测试谁提交,当然有些公司可能为了保证所提交缺陷的质量,还会在提交前进行缺陷评估,以确保所提交的缺陷的准确性。

)W ]v%h~'hHS R-x0

 

?P V"K(Q-m5g!M(^n jE@0

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

H/z"gZB2d051Testing软件测试网/U)i6Nyq/j`4o2k

序号51Testing软件测试网,N.og8Yu)v

标题

j7cD#h$G,@eGuBM0

预置条件51Testing软件测试网IkC$~ W5_Io;i

操作步骤51Testing软件测试网2i;lLk| C

预期结果51Testing软件测试网liA;? bW

实际结果51Testing软件测试网#R \+OfI1C8B

注释

M2Zs W[d2c;@o/kF0

严重程度51Testing软件测试网p*^-U3f4Ck$t

概率

R Q.J'R&a6z0

版本

T_3m{a:s0

测试者51Testing软件测试网0|4E _l%U;C(X8K

测试日期51Testing软件测试网r#@4S blz!x

MIww+O]8hB"N2y%S0

 51Testing软件测试网qF+R4O*s;ju

以上是描述一个bug时通常所要描述的内容,当然在实际提交bug时可以根据实际情况进行补充,如附上图片、log文件等。51Testing软件测试网*v.H'q.q~ij

 51Testing软件测试网8\8G*z9J&G3A1]T

另外,一个版本软件测试完毕,还要根据测试情况出份测试报告,这也是所要经过的一个环节。51Testing软件测试网 Gwa(X8W~QR5|7T,B

 51Testing软件测试网B$gp$E+M/u4M

缺陷管理51Testing软件测试网wq6PHO

 51Testing软件测试网Rl5f?%~4d'c5h+j

缺陷管理方面,很多公司都采取缺陷管理工具来进行管理,常见缺陷管理工具有Test DirectorBugfree等。51Testing软件测试网 f7a#j(}$`r8|] v|?#}J7r

 

0L5YtFD"_Qn0

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

-PE&Sn7[F0

 

k5S2W#Z f;Wl3l mAm0

51Testing软件测试网D%X6N:Qh7M T `s

Z V6]k:{n0

 

7R5B R \"B+b|\^c3Y0

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

J~e|'_I"^ y0

 51Testing软件测试网_3QsZ)M/dw

软件评估

ca/Vri;axt @0

 51Testing软件测试网2od S!rPs,XMxA

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

AH.|:th0

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

p{il&M j!R0

 51Testing软件测试网 op"QC8{:y7dj)`m

测试总结

N%I)}d6GJi\(j0

 

#W1xI1n.y3O z0

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

d#Ak \'F)Xt!]v+Yn0

 51Testing软件测试网$u)q B0g]5r0E

测试维护51Testing软件测试网?l~)[0@

 51Testing软件测试网|$z%Wy Q?;qySyE M

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

------------51Testing软件测试网'qO$H!z;I,|l]

转载自宣言博客:http://www.cnblogs.com/itest/archive/2007/05/25/759215.html51Testing软件测试网/UK8M{ XRZ7D~7SN


TAG: 测试资料 测试流程

 

评分:0

我来说两句

日历

« 2024-05-19  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 52432
  • 日志数: 60
  • 建立时间: 2008-08-22
  • 更新时间: 2008-12-12

RSS订阅

Open Toolbar