什么是软件测试评估?
测试评估是一项管理活动,它近似于任务需要多长时间才能完成。测试工作量估算是测试管理中的一项重要工作。
为什么要测试评估?
在讨论潜在的测试活动时,可以期待客户提出的两个问题是
对于小项目来说,这些问题相对容易回答。但是对于像测试银行网站这样的大项目,必须认真思考才能回答这些问题。
在本教程中,将了解-
- 什么是软件测试评估?
- 为什么要测试评估?
- 要估计什么?
- 如何估算?
- 步骤1) 将整个项目任务划分为子任务
- 步骤2) 将每个任务分配给团队成员
- 步骤3) 任务的工作量估计
- 方法1) 功能点法
- 方法2) 三点估计
- 步骤4) 验证评估
- 测试评估最佳实践
- 其他技术
要估计什么?
- 资源:执行任何项目任务都需要资源。它们可以是人员、设备、设施、资金或完成项目活动所需的任何其他能够定义的东西。
- 时间:时间是项目中最宝贵的资源。每个项目都有交付的最后期限。
- 人际技能:人际技能是指团队成员的知识和经验。例如,成员测试技能较低的团队比测试技能较高的团队需要更多时间来完成项目。
- 成本:成本是项目预算。一般说来,这意味着完成这个项目需要多少钱。
如何估算?
软件测试评估技术一览表
- 工作明细结构(WBS)
- 软件测试评估技术
- Wideband Delphi技术
- 功能点/测试点分析
- 用例点方法
- 百分比分布
- Ad-hoc方法
以下是计算估算值的4个步骤过程 。将学习如何结合这些技术来找到银行案例研究的估计值。
步骤1) 将整个项目任务划分为子任务
任务是交给某人的一项工作。为此,可以使用工作明细结构技术。 在这项技术中,一个复杂的项目被分成几个模块。它的意思是把整个项目任务分成最小的任务。
使用工作明细结构将银行项目分解为5个较小的任务-
在此之后,可以将每个任务分解为子任务。本练习的目的是创建尽可能详细的任务。
任务 | 子任务 |
---|---|
分析软件需求规范 | 调查软需求规格与开发人员和其他利益相关者面谈,以了解网站的更多信息 |
创建测试规范 | 设计测试场景 创建测试用例 检查和修改测试用例 |
执行测试用例 | 构建测试环境 执行测试用例 检查测试执行结果 |
报告缺陷 | 创建缺陷报告 报告缺陷 |
步骤2) 将每个任务分配给团队成员
在此步骤中,每个任务都分配给项目团队中的相应成员。可以按如下方式分配任务
任务 | 角色 |
---|---|
分析软件需求规范 | 所有成员 |
创建测试规范 | 测试人员/测试分析师 |
构建测试环境 | 测试管理员 |
执行测试用例 | 测试员、测试管理员 |
报告缺陷 | 测试人员 |
步骤3) 任务的工作量估计
有两种技术可以用来估计任务的工作量
- 功能点法
- 三点估计法
方法1) 功能点法
在此方法中,测试管理器估计任务的大小、持续时间和成本
步骤A) 估计任务的大小
在第一步中,已经使用WBS方法将整个项目任务分解为小任务。让我们练习一个特定的任务“创建测试规范”
此任务的大小取决于被测系统的功能大小。功能越多,系统就越复杂。
在开始实际估算任务工作量之前,将功能点分为复杂、中等、简单三组,如下所示:
基于软件功能的复杂性,测试管理器必须给每个功能点以足够的权重。例如
类型 | 权重 |
---|---|
复杂的 | 5 |
中等的 | 3 |
简单的 | 1 |
让我们举一个简单的示例练习来更清楚地了解:
看看这里的银行网站的软件规范,软件工程师已经详细描述了软件模块,能通过给每个模块赋予权重来确定网站功能的复杂程度吗?
功能点越复杂,测试它的工作量就越大。网站分为12个功能点,每个功能点的复杂度可以确定如下-
编号 | 模块 | 适用角色 | 描述 | 权重 |
---|---|---|---|---|
1. | 余额查询 | 经理 客户 |
客户:一个客户可以有多个银行账户。他只能查看他的帐户余额
经理:经理可以查看他管理的所有客户的余额。 |
3 |
2. | 资金调拨 | 经理 客户 |
客户:客户可以将资金从他自己的账户转移到任何目的地账户。
经理:经理可以将资金从任何来源银行账户转移到目标账户 |
5 |
3. | 微型账单 | 经理 客户 |
微型对帐单将显示帐户的最后5笔交易
客户:客户只能查看其“自己”帐户的微型对账单 经理:经理可以查看任何客户的对账单 |
3 |
4. | 自定义报表 | 经理 客户 |
自定义对账单允许过滤并根据日期、交易额显示帐户中的交易
客户:客户只能查看其“自己”账户的自定义对账单 经理:经理可以查看任何客户的自定义报表 |
5 |
5. | 更改密码 | 经理 客户 |
客户:客户只能更改其账户的密码。
经理:经理只能更改自己账户的密码。他不能更改客户的密码 |
1 |
6. | 新客户 | 经理 |
经理:经理可以添加新客户。
经理:经理可以编辑客户的地址、电子邮件、电话等详细信息。 |
3 |
7. | 新帐户 | 经理 |
目前系统提供两种类型的账户 节省开支 当前 一个客户可以有多个储蓄账户(一个在他的名下,另一个在联名等)。 他可以为他拥有的不同公司拥有多个活期账户。 或者他可以有多个活期和储蓄账户。
经理:经理可以为现有客户添加新帐户。 |
5 |
8. | 编辑帐户 | 经理 | 经理:经理可以为现有帐户添加编辑帐户详细信息 | 1 |
9. | 删除帐户 | 经理 | 经理:经理可以为客户增加、删除帐户。 | 1 |
10. | 删除客户 | 经理 |
只有当客户没有活动的活期账户或保存账户时,才能将其删除
经理:经理可以删除客户。 |
1 |
11. | 存款 | 经理 | 经理:经理可以把钱存入任何账户。通常在现金存入银行分行时进行。 | 3 |
12. | 提款 | 经理 | 经理:经理可以从任何账户提款。通常在银行支行提取现金时进行。 | 3 |
步骤B) 估计任务的工期
在对功能点的复杂性进行分类之后,必须估计测试它们的持续时间。持续时间意味着完成任务需要多少时间。
- 总工作量:全面测试网站所有功能的工作量
- 总功能点:网站的总模块,功能点
- 每个功能点定义的估计:完成一个功能点的平均工作量。此值取决于将负责此任务的成员的工作效率。
假设项目团队估计每个功能点定义的时间为5小时/点。可以估算测试银行网站所有功能的总工作量如下:
类型 | 比重 | 功能点数 | 总计 |
---|---|---|---|
复合的 | 5 | 3 | 15 |
中等的 | 3 | 5 | 15 |
简单的 | 1 | 4 | 4 |
总功能消耗 | 34 | ||
按定义的预估 | 5 | ||
估计总工作量(人小时) | 170 |
因此,完成银行项目的“创建测试规范”任务的总工作量约为170个工时。一旦了解了所需的工作量,就可以分配资源来确定任务将需要多长时间(工期),然后就可以估计人工和非人工成本。
上面的例子也说明了该成员在团队中的重要性。如果有有才华和经验的成员,可以在很短的时间内完成分配的任务,项目就会在最后期限或更早完成。
步骤C) 估算任务的成本
这一步帮助回答客户的最后一个问题“成本多少”。假设们团队的平均工资是每小时5美元。现在可以在WBS中计算其他活动的预算,并得出项目的总体预算。
作为一个项目经理,必须决定如何使公司的投资获得最大回报。对项目成本的估计越准确,就越能更好地管理项目预算。
方法2) 三点估计
三点评估是可用于评估任务的技术之一。三点估算的简单性使其成为想要估算的项目经理的非常有用的工具。
在三点估计中,根据先前的经验或最佳猜测,最初会为每个任务生成三个值,如下所示
在评估任务时,Test Manager需要提供三个值,如上所述。确定的三个值估计在最佳状态下会发生什么,最有可能发生什么,或者我们认为最坏的情况会是什么。
让我们看看如何在以下示例中使用上述三个值
对于“创建测试规范”这项任务,能估计测试工作量吗?记住,必须按照功能点法覆盖银行网站的所有模块
可以估计如下
- 完成这项任务的最佳情况是120个工时(大约15天)。在这种情况下,有一个有才华的团队,他们可以在最短的时间内完成任务。
- 最有可能完成这项任务的情况是170个工时(大约21天)。这是正常情况,有足够的资源和能力来完成任务
- 完成这项任务的最坏情况是200个工时(大约25天)。需要执行更多工作,因为团队成员没有经验。
现在,为每个参数赋值,如下所示
完成这项任务的工作量可以用双三角分布公式计算如下-
在上述公式中,参数E称为加权平均。它是对“创建测试规范”任务的估计。
但是老板可能会问:哪一个评估最有可能发生,或者最正确的?
在上面的估计中,只确定一个可能的值,而不是一个确定的值,我们必须知道估计正确的概率。可以使用另一个公式:
在上面的公式中,SD平均标准差,这个值可以给关于估计是正确的概率的信息。 现在可以结束“创建测试规范”任务的评估了。
要完成银行网站的“创建测试规范”任务,需要166.6±13.33工时(153.33至179.99工时)
步骤4) 验证评估
一旦为WBS中提到的所有任务创建了汇总估计,需要将其转发给管理委员会,管理委员会将对其进行审查和批准。 管理委员会的成员可以包括首席执行官、项目经理和其他利益相关者。
管理委员会将审查并与讨论评估计划。可以合乎逻辑、合理地向他们解释估算,以便他们批准估算计划。
测试评估最佳实践
本主题介绍有关如何估计测试的准确性。
- 增加一些缓冲时间:项目可能会发生许多不可预知的事情,比如一个有才华的团队成员突然辞职,测试需要比预估更长的时间来完成…在估计中具有缓冲器使得能够应对可能发生的任何延迟。
- 评估中的客户资源规划:如果团队中的一些成员休假很长时间,应该怎么做?这可能会延误项目,而资源规划在估算中起着关键的作用。在这里,必须考虑团队成员的树叶,通常是长的树叶。
- 借鉴过去的经验:过去项目的经验在准备时间估计时起着至关重要的作用。例如,如果用来做一个像测试网站这样的项目,可以从这些经验中吸取教训,尽量避免过去项目中面临的所有困难或问题。
- 坚持评估:评估就是评估,因为它可能会出错。在项目的早期阶段,应该经常重新检查测试评估,并在需要时进行修改。修复后我们不应该延长估价,除非需求有重大变化,或者们必须与客户协商重新估价的事宜。
其他技术
Wideband Delphi技术、用例点方法、百分比分布、Ad-hoc方法是软件工程中的其他估计技术。