风动还是旗动?仁者心动。 文字只不过是指月的手指,而不是月亮本身,能透过指月的手指看到月亮本身才是文字的目的所在。

Mercury“最佳功能测试实践" (转)

上一篇 / 下一篇  2007-03-27 11:16:58 / 个人分类:测试管理

51Testing软件测试网'z;f+Fl0zf?

Mercury“最佳功能测试实践"
n0f3cDD;QE6c-EHb0
"^P#HU6L(kw%G01 概诉51Testing软件测试网B.Iv{K
   本测试过程作为功能测试的最佳实践,用于实施不同机构的功能测试工作。它可以作为测试计划工作的基础,应用于每个软件开发的项目。在这个测试过程中描述的活动既可以用于新开发的组件,亦可以用于改进现有的回归测试。51Testing软件测试网1v&Fn,dX0?)x
      
U)k_W2G X)KDb3C02 测试管理51Testing软件测试网LdTW%P/yc9Y*p;[
为了能顺利地获得测试的结果,将测试作为独立管理的过程是非常必要的。测试管理可以分为下面四个领域。
\xy?h*h`01)测试计划
:k%UtM-A v!@$E02)测试执行51Testing软件测试网K/{+u!^5F_o9u
3)测试控制
W2t,U$y@J04)测试过程改进
v/uy n`,o7B0用于支持测试管理各个领域的工具可以采用TestDirector。

\ Z+h U Q8`7c?051Testing软件测试网;X lJ3t+}!K a#F!\z

1.1测试策略和计划51Testing软件测试网a{*rv6~;pJk
   在制定测试策略时,要基于被测软件的质量目标。质量目标就是测试的需求。它们决定了测试的阶段和质量的目标。要想最优化测试的活动并制定一个切实可行的测试计划,需要将被测软件分解成为一个一个的业务功能。在进行业务功能分解时,要以黑盒的方法来看待被测软件的功能,即独立于软件的实现方法。若想计算测试的效果并且保证测试的活动适合于特定业务的需要,则需要引入风险评估的手段。51Testing软件测试网;uB7jY4}(`3fzu
1.1.1   需求
Aqu1SRO3K#R xE e_0    测试的必要条件是要确定预期结果或者需求。为了能更好的了解需求,将需求进行分类是非常有帮助的。以我们的观点,可以将需求分为功能性需求和质量需求(非功能性需求)。功能性需求描述了在业务上期望如何使用新的软件系统,且该系统中应该包括哪些功能。质量需求包括的是软件系统的通用特性,且独立于功能。51Testing软件测试网_yJ0^*p
1.1.1.1      功能性需求
QtNh3J g0    功能性需求以业务设计图的方式记录于文档中。为了在TestDirector中将需求作为测试的基础,需要将需求导入到TestDirector中。相应的业务设计图作为需求的附件存在,并作为将来测试活动的依据。51Testing软件测试网IaG+D"F
1.1.1.2             质量需求
}$QFBe8MB5[^0    质量需求由两部分构成,一部分是为整个产品或者项目定义的质量目标,另一部分是每个业务功能的质量需求,这些业务功能的质量需求取决于风险评估的结果。51Testing软件测试网Q&Y3F'}5?2R$EEG
1.1.1.2.1       质量目标
,xxcL,_ABj;e7A"o01)适应性
F5AozQP&Y-a0组件被修改以适应新需求的难易程度。51Testing软件测试网9}c/\$e8V [K ^ K
2)完整性51Testing软件测试网l6T\$z ?n^
组件实现所有需要的能力的程度。
.fM&vW/f }$H03)正确性
PyWje of |M0a)        组件在规格分析、设计和实现过程中无错误的程度
^XEN;W.l7]9Z0b)        组件满足需求或者用户需要与期望的程度
?cd*Z$P4u O+~.m0c)        基于给定输入产生相应输出的能力,并且这个过程符合或者满足需求51Testing软件测试网$\)lm D;W)B_Nx+z j
4)有效性51Testing软件测试网,IN2KtG!gN^
当组件完成指定任务时,能最少使用所需资源的程度。51Testing软件测试网J:g5j3|)K
5)可维护性51Testing软件测试网c6ZOsn&N4y9Of1z
组件被修改以纠正错误,提高性能或其他属性,或者适应被改变了的环境的难易程度51Testing软件测试网4`E+X-tc5C
6)模块性51Testing软件测试网E/[g RHR9C6ER
软件系统由离散的组件组成的程度,即改变一个组件时能将对其他组件的影响降至最低。
WqDspLb3A07)可移植性51Testing软件测试网 |v1eT-[y
软件系统或组件能被转移到其他硬件平台或者软件平台上的难易程度。
X\9h8J$Sa5?6nz08)可靠性51Testing软件测试网8av I;J,vx(v?
组件在一定的时间内、一定的条件下执行所需完成功能的能力。51Testing软件测试网 s!Y1_A$~v7w)hZ
9)可用性51Testing软件测试网lb+bQ&Nf4M|bYY
用户对软件组件的理解和操作的难易程度。51Testing软件测试网0iO9Ap](Q3n e

51Testing软件测试网 U m@6P3J)S$\:@#c5Ehh

1.1.1.2.2       业务功能的质量需求51Testing软件测试网 i8pM-L:C)H0{e
    业务功能的质量需求是依据业务的风险进行定义的。业务风险和技术复杂度的信息存储在测试的需求中。这两个参数决定了测试的程序和测试的工作量。另外,针对业务功能分配测试员,并且将测试活动的当前状态落实到纸面上。只有这样做才能在针对业务功能的整个测试过程中监控测试的状态。51Testing软件测试网Q:Y{Y5X
1.1.2   测试阶段的定义
\#E$g%g A0    依据已经定义的质量目标,我们需要将测试阶段进行合理的划分。
mqbk V0通常情况有以下几个阶段:51Testing软件测试网 jY1EN#g gn'hlg
1)开发员自测试阶段(不在我们的考虑范围之内)51Testing软件测试网.TC5g0N A.T9h!b6fS%[
2)业务功能测试(单元测试
^.puRv&u2U2@$u03)业务流程测试(应用级的集成测试)51Testing软件测试网 }3{ Bp X
4)业务集成测试(端到端的集成测试)51Testing软件测试网;X2@z5fC$S(t
5)性能测试
N;n-v T3M%h` ~06)系统集成测试51Testing软件测试网5cHK&@|Ug
下面的表中描述了每个测试阶段需要达到的质量目标:51Testing软件测试网9m*^:Z?1_(L~5h
 
o2F4B!x:pa0   业务功能测试和业务流程测试是在软件项目开发过程中完成的。而业务集成测试和系统集成测试则组合成回归测试,用于软件系统上线前或者发布为产品前来检验软件的质量。51Testing软件测试网4NyTHHu

51Testing软件测试网g K0ekz2o rWO&x

1.1.3   质量门51Testing软件测试网,{.W:fl-JD$lUb
    测试是在不同的阶段中完成的。划分不同阶段的原因就是将不同的质量目标分配到不同的阶段中,从而能将测试的执行尽可能的提前。所以,在相邻的测试阶段中设置一个质量门就成为保障成功的关键要素。
.^_k%E9{*}%S0下面的图中展示了每两个相邻阶段的质量门是如何设定的:51Testing软件测试网$[6x9D;E(UB_!?1^
 
uFKvjl.A0 51Testing软件测试网0Z qt F{b IAK s
下面是对质量门的一种详细定义:
.d+Di6Tr-Y01)在业务功能测试之后
.h&s$YU7x0A gnz$tKA#H0u 业务功能测试的测试用例执行了80%以上51Testing软件测试网Y;ZMFe-H
u 业务功能测试的测试用例(A级风险)执行了100%51Testing软件测试网T']tq#o5Zo
u 少于5个服务器端错误
iF1AD1`t0u 少于30个中级错误
pu!t7|P'C"a:BU&v!bf0u 无致命性缺陷51Testing软件测试网/[njo`Z@G2A
2)在业务流程测试之后51Testing软件测试网:TW`0nc{
u 业务功能测试通过51Testing软件测试网zH qsYF1Nw U
u 业务流程执行了100%
["iX$g-\0u 无业务流程完全失效,所有的错误都可以被修复51Testing软件测试网bx5s(PkTif
u 无致命性缺陷
OD H#Bzf0y(S03)在业务集成测试之后51Testing软件测试网pnG E5yuM k
u 业务流程测试通过
O#re:f&E0u 业务集成流程执行了100%
0Zw]'NN3cn0u 无致命性缺陷51Testing软件测试网u h v6b(_D1gh;Q'D;@

51Testing软件测试网 Sv.X4n Sk

1.1.4   功能分解51Testing软件测试网b/o_7s.G m]%U!r
        在计划测试活动之前,功能分解应该作为第一个要完成的活动。进行功能分解时,应该邀请业务方面和需求分析方面的代表共同参加。通常情况下,要遵从下面的原则:51Testing软件测试网cX!f{!d x-I
1) 每个用户情形都是一个业务功能51Testing软件测试网%aano Jk F
2) 如果一组用户情形非常相似,那它们应该组合在一起形成一个业务功能
+}K1V9z%\03) 如果一个用户情形非常大或者非常复杂,则应该将其分解为两个或者更多的业务功能51Testing软件测试网 M9v-b:OEq,Hs.U
    进行功能分解的思路体现在“将测试的单元确定为包含少量功能点的单位”,这样,每个测试单元的测试用例的数量就会被限制在一定的范围之内。我们可以将分解的目标设定为每个业务功能只有最多30-40个测试用例。51Testing软件测试网 mijr6j Eqd
1.1.5   风险评估51Testing软件测试网 ywm8oq
    既然质量保证的基本思路是降低缺陷破坏业务的风险,同时为了确保质量保证的资源得到充分的利用,我们需要对每个业务功能进行风险的评估。还要考虑到的是,我们也要对技术影响进行分析。这样我们能对完成每个业务功能的测试活动所需的工作量进行估算。
Uc-z_1` _01.1.5.1  业务风险分析
e8pn&H3oF&a?0    业务风险评估需要针对被测软件的所有业务功能。评估的标准应该在整个业务的范围内是唯一的,才能在企业范围内使不同的评估结果具有可比性。
+Jctd&T4J"f`g0

QiH/v@b051Testing软件测试网 IiQ.^-Vov*]j


%M8}l TB4B01.1    测试准备51Testing软件测试网:v+Hs}*QIZ`F{
    测试的准备是一个独立的、分离的阶段,测试员在这个阶段中基于需求文档准备测试(业务设计图)。测试的准备要依据标准的方法,并应基于本阶段的工作生成标准化的文档。51Testing软件测试网]5\h2~ |1?^
1.1.1   业务功能测试51Testing软件测试网m1kR/a0a)@ w(x
    基于风险评估,针对每个业务功能的不同风险级别都应有一个对应的测试过程和方法组合:51Testing软件测试网D2o-t F)g0iq
1)A级风险
PH$T2\^{;s C9k'G0利用等价类和组合进行系统性的测试完全自动化51Testing软件测试网|my%RY8|&sS
2)  B级风险51Testing软件测试网(\@iE'K`8d@
利用等价类进行系统性的测试完全自动化
r5p d$vNuI0@F03)  C级风险51Testing软件测试网AeL9hT
随意性测试手工执行,在TestDirector中提供文档化的执行过程
]Z3m e:@-] f:O&GG'm `|0       对于每个测试过程和方法组合,要提供一个标准的文档进行方法论级的阐述和规定,每个测试人员依据这些标准的测试过程和方法组合进行测试。
wcM x [/L0    在TestDirector中要将测试用例的准备结果作为业务功能的附件。51Testing软件测试网"M QUZ l"T4zV
1.1.2   业务流程测试51Testing软件测试网"e9F'} u3fi W%X;D#B
    业务流程测试是将所有的业务功能组合在一起,使用同一组数据进行工作。
*H-zU bxo K|0    测试员的任务就是要确定每个业务功能的组合是否能连贯的执行。51Testing软件测试网*oXq#` Zj1G7J
    判断的结果使用矩阵来表示,例如下图:
[x"N}1M%`0注:yes(+);no(-)
RrI0Mp}:kak,?0业务流程矩阵

8X`:bFB(X ];Uz-w0

l4vucdci,Q0

4Tw(Eu1d'R0

O \yTk]ah0从上面的表中我们能获得三个业务流程测试案例:
7y.I5ul#A7RE;`/G4L01)        1,2,2,3,2,4,1,151Testing软件测试网_:Zj mr w@ON
2)        1,5,451Testing软件测试网:} m*w(`d|
3)        1,2,3,451Testing软件测试网3mB/q%I"T

Oz^9yyRY01.1.3   业务集成测试
wn8EF.n3G:o5V|#j]0使用现有的回归测试案例进行业务集成测试。
Re'l QCy&w z [ O0在第一个阶段,测试案例仅被自动化,而不考虑测试的覆盖率。
A?\w(uu,}0在第二阶段,测试案例将被改进,以提高测试的覆盖率。
~P L8Xm0对于所有的新项目,回归测试应该在业务功能测试阶段和业务流程测试阶段的测试结果的基础上进行建设。
7d T [;R \I0依据业务流程矩阵创建测试案例集,这个测试案例集应该能覆盖被测系统的所有外部接口。
?5? vY s_n5A0假定我们的被测系统是Mercury的机票预定系统,它的架构图如下:51Testing软件测试网ZEE3Sd;h2za6xrte

$T-f0Z_e Zu0 51Testing软件测试网-LO^N{O}uAH
 51Testing软件测试网ERM`e t+d |
业务流程矩阵的设计如下图:51Testing软件测试网Z#^s3i$x/bE_T'q V

B%P(M"^Zju051Testing软件测试网 xb t0^ZP-o#_(p `1[
 51Testing软件测试网U9l)Z+g P#W-f

9sd5O i1Vf`0

TAG: 测试管理

unholyalliance的个人空间 引用 删除 unholyalliance   /   2010-02-06 15:37:06
3
引用 删除 樱qq   /   2009-09-17 10:37:50
楼主指导下,上面的“业务流程矩阵”表是如何生成那3个测试案例的啊,
大师兄--绝迹江湖 引用 删除 songfun   /   2007-03-28 09:46:10
有个问题,测试管理不管测试设计的环节吗?
 

评分:0

我来说两句

日历

« 2024-03-05  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 25355
  • 日志数: 36
  • 建立时间: 2006-12-19
  • 更新时间: 2007-07-09

RSS订阅

Open Toolbar