|
我想了一个预估自动化开发任务量的公式,大家一起看一下,在影响因素或者权值,初始值 或者公式本身有什么需要改进的。
在完成一个Auto Test Case的时候,影响我们所用时间的因素有:
a. Frame的大小: 通过界面中的对象多少而定
b. Frame是否为新开发的,这将直接影响到我们代码及对象库的重用
c.操作步骤归类,基本可以归纳为:增加,修改,查询,删除及一些过渡的步骤,并且可以将步骤简单的归纳为:
Function OperationName()
判断界面是否切换正确或者是否存在
Click new / update / select / delete
input data
Click Submit / Save
Check new / update / select / delete succ or not
End Function
d.操作时是否有分支,
如删除一个ASIT,会提示是否需要应用在Old App中,和是否应用到其他的ASIT Group中,这样就有四个分支
e.某项操作是否需要循环
如:search CAP,需要输入不同类型的数据,但是开发代码不必重复开发,只需在DataTable中构建数据
febug Time
与代码量成正比
g:Case 设计与TestLink上传
与代码量成正比
鉴于以上原因,我简单的构造了一个函数,计算一个Test Point开发所需要的时间
Frame Type Description 权值 Operate Type Description ManDay
Old FrameA 0~5 Object 0.1 Add 一个功能四分之一天 0.25
Old FrameB 5~20Object 0.7 Edit 一个功能四分之一天 0.25
Old FrameC more than 20 1 Search 一个功能四分之一天 0.25
New FrameA 0~10 Object 1 Delete 一个功能四分之一天 0.25
New FrameB 10~20Object 2 Operation Step 一个功能四分之一天 0.25
New FrameC more than 20 3
Type Description 系数
Switch 一个分支,五分钟 0.010416667
Loop 一个分支,五分钟 0.010416667
Debug 总量的0.1 0.1
Case Doc 总量的0.1 0.1
ManDay = (OperateTypeManDay + (LoopNum -1) * 系数 + SwitchNum * 系数)* FrameType权值 * (1 + Debug系数 + CaseDoc系数) (LoopNum不为0,如果为0,则直接不写该项)
Exp1: 在一个新的,Object为15个的Frame,开发删除功能,且删除功能有四个分支(是否需要应用在Old App中,是否应用到其他的ASIT Group),没有Loop
ManDay = (0.25 + 4*0.010416667) * 2 *(1 + 0.1 + 0.1) = 0.7
Exp2: 在一个旧的,Object为10个的Frame,开发查询功能,没有分支,Loop为20
ManDay = (0.25 + (20-1 )*0.010416667 ) * 0.7 = 0.37625 |
|