以测试为核心的软件开发过程

上一篇 / 下一篇  2012-04-26 10:56:03 / 个人分类:杂谈

摘要:软件项目规模越来越大,开发团队人员越来越多,人员增加带来管理成本上升,于是引入ISO9000、CMM,但最后发现它们实施难度相当大。于是我们介绍一套行之有效的测试控制方法,它能够有效对软件项目开发进行控制。

V,~R jD0jz.k0  关键词:软件测试软件开发;软件项目管理51Testing软件测试网j4a.DWW5dD

51Testing软件测试网+z'Si u!CP'H'~ K

  1、引言51Testing软件测试网 [ sn$\A1{

[#GD({-m0  TC(测试控制方法)是指以测试为核心控制软件项目开发过程的方法,它包括完整的规范TC 系统及其相关管理理论TC 理论。主要完成软件开发中开发流程的管控、软件测试、开发绩效评价、持续改进管控质量等功能。

9z!y @c;{p.g0

by$Ehu-d/v6n0  ● 我们先来看一看软件项目开发中经常遇到的问题。

4~FM$Zu0

2@ p*Dw v-\%@]1u dA0G/}0  ● 各模块一拖再拖,整个项目无休止延期,开发进度无法得到控制;51Testing软件测试网,z:D&t ZH ~w

w x/q1[!kV$faJ0  ● 改正了旧问题,又冒出更多新问题,问题层出不穷;

)N7aU,ZmW;a7?E051Testing软件测试网6})TIk.Q)oy

  ● 模块难度、工期质量考核无法量化,更无法与个人收入挂钩;

%a"scb/~#Ufi0

'[$_ O+F/U3T0  ● 技术攻关、需求、分析与设计阶段任务难以进行验收;51Testing软件测试网nMn&hu

*E:i'WU~0  ● 项目负责人需要时刻关注各开发人员的开发过程,没有时间进行项目整体规划;51Testing软件测试网X9\ eu,_

51Testing软件测试网&Q[+c,QT7g'tC+M

  ● 项目负责人经常感到失控,开发人员开发出的结果往往与预期效果差异很大;51Testing软件测试网.Z(a%k9e[,V

km6g$wl2C0  ● 项目负责人在模块严重拖期时,不知是应该换人重做,还是再让其开发几天;51Testing软件测试网iY+JREV3?g'sC

%[7c;jU\!Rx5q0  ● 项目经理对各开发团队的开发能力没有客观的认识;

H;xb/rnsd7{051Testing软件测试网;Y-?0c!`&^ |1BL:C

  ● 项目经理对各项目的进度情况不能有效把握,经常被告之以“马上就完了”这样含糊的承诺;51Testing软件测试网-mN*|$TJ7M%f*TPP

u:U%A3W#es0  ● 项目经理对自主开发的产品没有量化的质量评价;

7F]:p/QZ;g051Testing软件测试网Cc'C$sE:r7b X

  ● 所有这些问题都在TC 系统中迎刃而解。

`9YY7C&\#x,Qm`0

f RL&L%}$w'W0  2、TC 系统依赖全新的管理思路51Testing软件测试网w'xFC8h5o1Ray

51Testing软件测试网I%w n&{ j%Vq Eto

  ● 做出好软件51Testing软件测试网zN@$_ x9gC

51Testing软件测试网$L+p&g HDR:ZA

  好的软件是做出来的,不是改出来的。软件必须依靠具有一定水平的开发人员集中精力开发,不可能靠反复的修改来完成。软件修改次数越多,出错的可能性就越大。

V A8p"I%iy,k8o!F051Testing软件测试网WU'AiByA$kj

  ● 测试的任务51Testing软件测试网LP ? j5e2p F+u

51Testing软件测试网O [U@;_

  测试的主要任务是控制开发人员随意提交低质量的程序。例如:我们在测试中有个定义叫返回,意思是,当开发人员提交了问题过多的程序后,测试人员可以不用告知程序中的问题,直接返回程序要求开发人员重新修改。这样既控制了被提交程序的质量,也使测试人员把工作重点从寻找简单的低级错误,转移到寻找程序中复杂的逻辑错误。坚决反对“测试人员是帮助程序人员发现问题的”说法,而强调测试人员是站在一个更高的管理控制层面上。51Testing软件测试网+v&G&wm.BN _Z3Q

51Testing软件测试网Z9EUB `'Fw

  ● 绩效考核

!Do:?x&\Z051Testing软件测试网Z^:K h2Q_zb'VC}

   项目开发中的工期与质量采用分值进行量化绩效考核,不单注重质量或进度,将二者统一起来。绩效是指某人在完成一个工单时,质量和工期的综合评价。一个理 想程序员完成工单的绩效为1,比理想程序员完成效果好绩效大于1,完成效果差绩效小于1,一般程序员的绩效在0.7 左右。51Testing软件测试网'F@Z(L_k+C8u

51Testing软件测试网 n1Jj4f2R^

  采用量化绩效可以对项目人员绩效进行考核排队,并与个人收入挂钩。采用量化绩效还能将从事不同类型工作的项目人员进行排队,如:对开发人员和售后服务人员绩效进行排队。

_1~4FW w OU0

6Q"f_%d6ye:k5Z%n,yM0  ● 弱化人际关系

v9?1Ey"H+Ri051Testing软件测试网IY}]'vB N8M6nL

  项目管控过程中对事不对人,由软件系统确定处理流程,邮件方式传递信息,避免人情关、面子关,减少在人为交流中的冲突与不确定性。51Testing软件测试网4qK3]0o7|d

51Testing软件测试网U4Qt YcK t`7~

  ● 全面管控51Testing软件测试网t!jZ0e/u7w&yRp:P

%v.d!C C(p$o0  借鉴ISO9000质量管理体系的思想,遵循“怎么想就怎么写,怎么写就怎么做,怎么做就怎么记”。所有工作做到统一安排、有据可依、有史可查。

E!{:X&e1c{U051Testing软件测试网]$eQ@5\ V

  3、实现流程

$L i8~v"P051Testing软件测试网U,u-|`7O*WY"Bv

  TC 可以在整个项目的开发过程中进行管控。需求分析,技术攻关,分析与设计,构造实现,测试部署阶段,甚至在售后服务阶段都可以使用TC 系统进行控制。

WK f3t2y4l)F'R W0

7lOOi%o:d5c0  所有工作都以工单的形式派发并跟踪验收。各工单按以下流程进行控制:51Testing软件测试网 {1Q8R5L` [ Uoc"rD

51Testing软件测试网8}-dU)aB,tm

图一51Testing软件测试网e*t5cTHi,x)LA

  开发团队接到新项目,明确工作内容后,就可以使用TC 系统控制整个项目直至结束。制订工作计划;派发各阶段的工单,验收工单,封版;如此循环,直至所有工单都封版,表明项目开发完成。51Testing软件测试网5R$|$KK'uf1^;e)i

4、高层数据表现

UZ:Z5ia6|0

?C9Z)VG N3wm0  除一般的数据查询统计外,TC 还提供决策支持的指导性数据图表。51Testing软件测试网C;Z^5v"yG&x8@#m

51Testing软件测试网D2~+[1qG/t

  个人绩效曲线51Testing软件测试网 O$E g Ct\H

51Testing软件测试网 I+M9b`/R Z9N

图二

0lt*E rc7Tq"[ OvybN0

  该曲线Y 轴为开发绩效,X 轴为随时间推移开发人员王英武所完成的各工单序号。整个曲线描述王英武在开发过程中各工单的绩效变化,可以看出其开发绩效在稳步上升。项目绩效曲线本文中有关项目绩效的陈述都以用户培训管理系统为例。

"EPb!q Rf}(Be0

  ● 项目绩效曲线

)My{*L S0d{6Q0

  本文中有关项目绩效的陈述都以用户培训管理系统为例。51Testing软件测试网5p4bvQA7xa}/S

51Testing软件测试网e5qz%B8z2m!i(ML

图三51Testing软件测试网+|K,Vb%ddT\6W!U|j

  该曲线描述用户培训管理系统在开发过程中的绩效趋势,其中项目初期绩效较低,从中期开始趋于稳定,在结束时有一段低绩效区,项目问题有可能在此较为突出,建议质量控制人员查看该处详细工作记录。51Testing软件测试网I`5SMx(O/T/S3O:w?/V;M

  ● 公司开发绩效曲线51Testing软件测试网a"~;BtY+xk#i~

51Testing软件测试网%K8X*w n'S%i

图四51Testing软件测试网 ?UT9Zy Ls-L1L

  该曲线描述公司的整体开发能力,随着时间的推移公司整体开发能力有明显提高,同时在图三和图四的对比后发现,开发用户培训管理系统的团队开发能力低于公司整体开发能力。

Eaf*^:b(k0

  ● 工单完成情况比例图

ui|?y8fd0

'bC/nam0

图五

+D!b7QlS Az&^7c0

  该图描述用户培训管理系统目前开发到哪种程度,工单完成了48%,16% 正在进行,23%还未开始,说明项目开发到中期阶段。13%的工单在开发中中止,说明整个项目的计划安排稍欠合理,有较多的意外中断。

"cr^M|Wk0

● 项目绩效正态分布曲线

Dd5aOBY'S*{8q0

P~KU bKUdyB X-^0

图六51Testing软件测试网o.C!X[VN

  该曲线Y 轴为工单数目,X 轴为工单绩效。整个曲线描述用户培训管理系统在开发中各级绩效出现次数对比,其中绩效为0.2 以下和1.2 以上的很少,绩效为0.7 的工单最多,因此可以说明用户培训管理系统的开发绩效在0.7 左右浮动,平均开发绩效接近0.7。51Testing软件测试网8k T\Kou!c*`/][f9{

  ● 公司绩效正态分布曲线

m$fFI{ G0

x{9SKC[ GF4S0

图七51Testing软件测试网Vv3d Zq];n*NZq|)bD P

  该曲线描述整个公司在项目开发中各级绩效出现次数对比,其中绩效为0.2 以下和1.2 以上的很少,绩效为0.7 的工单最多,因此可以说明公司的开发绩效在0.7 左右浮动,平均开发绩效接近0.7。51Testing软件测试网 K*JOZIMr$B

  若单从平均值来看,图六和图七表现的开发能力是相当的,其实不尽然,图七的正态分布趋势要比图六更向0.7 紧缩,从图上看图七要瘦于图六,说明图七的开发能力更趋于稳定,而图六的开发能力更难以预料。因此由以上分析得知用户培训管理系统开发团队的平均质量与公 司整体开发质量相当,但远不如公司整体开发能力稳定。51Testing软件测试网F:f4L v x;[.D_N

  5、适用对象

&Iy7UjV1o3g_s0

  TC 适合大多数软件开发团队。由于她的特点是以测试为核心控制软件开发过程,因此她更适合于软件测试人员配备不是非常充裕的团队,由有限的软件测试人员就可以担当起测试与控制的任务。

CD*?P1K I,QN1[0

  对于开发一般企业级应用软件的开发团队来说,软件开发中一般低级错误是最多的,通过TC 系统能使一般低级错误得到控制,测试人员集中精力于业务逻辑关系测试。一般企业级应用软件的开发团队选择TC 系统将会比选择任何一家测试或项目管理软件更实用。

a$Y(p5@`0

  对于开发控制系统或算法集中的平台类软件的开发团队来说,虽然一般的低级错误可能较少,但TC 系统能将任务分配、任务的追踪、工期质量统计、测试记录的整理与归纳等工作自动完成,自然可以大大减少测试人员的事务性工作,帮助测试人员关注核心的算法与逻辑关系测试。51Testing软件测试网9CKRMB T

  6、结束语

5_9nPZ Df+`M0

  TC 能有效对软件项目进行控制, 记录各阶段工作详细内容,并能够对原始数据进行挖掘整理,为各类项目人员提供全面多方位的信息表现形式,协助公司和个人客观认识自身的开发能力,寻找影响开发能力的主要因素,为持续改进提供帮助。51Testing软件测试网 Vv J ^*V


TAG:

 

评分:0

我来说两句

Open Toolbar