软件测试基础回顾(二十二)-软件测试评估技术:逐步指南
什么是软件测试评估?
测试估算是一种管理活动近似于 多久任务会才能完成。估计测试工作量是测试管理中的主要和重要任务之一。
为什么要测试估算?
在讨论潜在的测试约定时,您可以从客户那里得到两个问题
对于小型项目,这些问题相对容易回答。但对于像Testing Guru99 Bank网站这样的大项目,你必须认真思考这些问题。
估计什么?
- 资源: 执行任何项目任务都需要资源。它们可以是人员,设备,设施,资金或任何其他能够完成项目活动所需的定义。
- 时代:时间是项目中最有价值的资源。每个项目都有一个交付截止日期。
- 人际技能:人类技能意味着团队成员的知识和经验。它们会影响您的估计。例如,一个团队的成员测试技能较低,他们将花费更多的时间来完成项目而不是具有高测试技能的团队。
- 成本:成本是项目预算。一般来说,这意味着多少 钱才能完成这个项目。
怎么估计?
软件测试评估技术列表
- 工作分解结构
- 三点软件测试评估技术
- 宽带德尔福技术
- 功能点/测试点分析
- 用法 - 案例点法
- 百分比分布
- 临时方法
以下是达到估算的4步骤流程
您将学习如何结合这些技术来查找Guru99 Bank案例研究的估算值。
步骤1)将整个项目任务划分为子任务
任务是给某人的一项工作。为此,您可以使用工作分解结构技术。
在这种技术中,复杂的项目被分成模块。模块分为子模块。每个子模块进一步划分为功能。这意味着将整个项目任务划分为最小的任务。
使用Work Break Down结构将Guru99 Bank项目划分为5个较小的任务 -
之后,您可以将每个任务分解为子任务。该活动的目的是创建任务,详细的可能。
| 任务 | 子任务 |
|---|---|
| 分析软件需求规范 | 调查软要求规格 |
| 与开发人员和其他利益相关者面谈,了解有关该网站的更多信息 | |
| 创建测试规范 | 设计测试场景 |
| 创建测试用例 | |
| 审查和修改测试用例 | |
| 执行测试用例 | 构建测试环境 |
| 执行测试用例 | |
| 查看测试执行结果 | |
| 报告缺陷 | |
| 创建缺陷报告 | |
| 报告缺陷 |
步骤2)将每个任务分配给团队成员
在此步骤中,每个任务都分配给项目团队中的相应成员。您可以按如下方式分配任务
| 任务 | 会员 |
|---|---|
| 分析软件需求规范 | 所有成员 |
| 创建测试规范 | 测试员/测试分析师 |
| 构建测试环境 | 测试管理员 |
| 执行测试用例 | 测试员,测试管理员 |
| 报告缺陷 | 测试仪 |
步骤3)任务的努力估计
您可以使用两种技术来估算任务的工作量
- 功能点法
- 三点估计
方法1)功能点方法
在此方法中,测试管理器估计任务的大小,持续时间和成本
步骤A)估算任务的大小
在第1步中,您已经使用WBS方法将整个项目任务分解为小任务。现在您估计这些任务的大小。让我们练习一个特定的任务“ 创建测试规范 ”
此任务的大小取决于被测系统的功能大小。功能大小反映了与用户相关的功能量。功能越多,系统越复杂。
在开始实际估算任务工作之前,功能点分为三组,如Complex,Medium Simple,如下所示:
基于软件功能的复杂性,测试管理器必须为每个功能点提供足够的权重。例如
| 组 | 权重 |
|---|---|
| 复杂 | 五 |
| 中 | 3 |
| 简单 | 1 |
让我们举一个简单的示例练习来更清楚:
在这里看看网站Guru99 Bank的软件规范,软件工程师已经详细描述了软件模块,你能否通过给出每个模块的权重来确定网站功能的复杂性?
功能点越复杂,更多的是测试它的努力。该网站分为12个功能点,您可以确定每个功能点的复杂程度如下 -
| 没有。 | 模块名称 | 适用 角色 | 描述 | 权重 |
|---|---|---|---|---|
| 1。 | 余额查询 | 经理 客户 |
客户:客户可以拥有多个银行帐户。他只能查看其账户余额 经理:经理可以查看受其监管的所有客户的余额 |
3 |
| 2。 | 资金转账 | 经理 客户 |
客户:客户可以将“自有”帐户的转帐资金转移到任何目标帐户。 经理:经理可以将资金从任何来源银行账户转移到目标账户 |
五 |
| 3。 | 迷你声明 | 经理 客户 |
Mini声明将显示一个帐户的最近5笔交易 客户:客户可以看到只有他自己的账户的迷你声明 经理:经理可以看到任何账户的迷你声明 |
3 |
| 4。 | 定制声明 | 经理 客户 |
自定义语句允许您根据日期,交易价值过滤和显示帐户中的交易 客户:客户可以看到仅定制的“自己”帐户的声明 经理:经理可以看到任意帐户的自定义 - 陈述 |
五 |
| 5。 | 更改密码 | 经理 客户 |
客户:客户只能更改其帐户的密码。 经理:经理只能更改其帐户的密码。他无法更改客户的密码 |
1 |
| 6。 | 新客户 | 经理 | 经理:经理可以添加新客户。 经理:经理可以编辑客户的地址,电子邮件,电话等详细信息。 |
3 |
| 7。 | 新账户 | 经理 | 目前系统提供2种类型的帐户
他可以为他拥有的不同公司拥有多个经常账户。 或者他可以拥有多个当前和保存帐户。 经理:经理可以为现有客户添加新帐户。 |
五 |
| 8。 | 编辑帐户 | 经理 | 经理:经理可以为现有帐户添加编辑帐户详细信息 | 1 |
| 9。 | 删除帐户 | 经理 | 经理:经理可以为客户添加删除帐户。 | 1 |
| 10。 | 删除客户 | 经理 | 只有当客户没有当前活动或保存帐户时才能删除客户 经理:经理可以删除客户。 |
1 |
| 11。 | 存款 | 经理 | 经理:经理可以将钱存入任何账户。通常在现金存入银行分行时完成。 | 3 |
| 12。 | 退出 | 经理 | 经理:经理可以从任何账户中提取资金。通常在银行分行取款时完成。 | 3 |
步骤B)估计任务的持续时间
在对功能点的复杂性进行分类后,您必须估计测试它们的持续时间。持续时间表示完成任务需要多长时间。
- 总的努力:完全测试网站所有功能的努力
- 总功能点:网站的总模块
- 每个功能点定义的估计:完成一个功能点的平均工作量。此值取决于将负责此任务的成员的生产率。
假设您的项目团队估计每个功能点定义为5小时/分。您可以估算测试网站Guru99 Bank的所有功能的总工作量如下:
| 权重 | 功能点数 | 总 | |
|---|---|---|---|
| 复杂 | 五 | 3 | 15 |
| 中 | 3 | 五 | 15 |
| 简单 | 1 | 4 | 4 |
| 功能总分 | 34 | ||
| 估算每点的定义 | 五 | ||
| 预计总工作量(人工小时数) | 170 | ||
因此,完成Guru99 Bank“创建测试规范”任务的总工作量约为170个工时
一旦了解了所需的工作量,就可以分配资源来确定任务需要多长时间(持续时间),然后就可以估算人工和非人工成本。
以上示例还显示了该团队成员的重要性。如果你有才华和经验丰富的成员,可以完成分配的任务在小的时候,和你的项目将在最后期限或之前完成。
步骤C)估算任务的成本
此步骤可帮助您回答客户的最后一个问题“ 费用是多少?”
假设你的团队平均薪水是每小时5美元。“创建测试规范”任务所需的时间为170小时。因此,该任务的成本是5 * 170 = 850美元。现在,您可以计算WBS中其他活动的预算,并得出项目的总体预算。
作为项目经理,您必须决定如何为公司的投资获得最大回报。您对项目成本的估算越准确,您就越能够管理项目的预算。
方法2)三点估计
三点估计是可用于估计任务的技术之一。三点估计的简单性使其成为想要估算的项目经理非常有用的工具。
在三点估计中,基于先前的经验或最佳猜测,最初针对每个任务产生三个值,如下所述
在估计任务时,测试管理器需要提供三个值,如上所述。确定的三个值,估算一下发生在一个最佳的状态,什么是最有可能的,或者我们认为这将是 最糟糕的情况场景。
让我们看看如何在以下示例中使用上述三个值
对于“ 创建测试规范 ” 任务,您能估计测试工作量吗?请记住,您必须在功能点方法中完成Guru99 Bank网站的所有模块
您可以估算如下
- 完成此任务的最佳案例是120个工时(大约15天)。在这种情况下,您拥有一支才华横溢的团队,他们可以在最短的时间内完成任务。
- 完成此任务的最可能的情况是170个工时(大约21天)。这是正常情况,您有足够的资源和能力来完成任务
- 完成此任务的最糟糕情况是200个工时(大约25天)。您需要执行更多工作,因为您的团队成员没有经验。
现在,将值分配给每个参数,如下所示
完成任务的工作可以使用双三角分布公式计算如下 -
在上面的公式中,参数E称为加权平均值。它是“创建测试规范”任务的估计。
但你的老板可能会问你
在上面的估计中,您只需确定可能而非某个值,我们必须知道估计正确的概率。您可以使用其他公式:
在上面的公式中,SD表示标准偏差,该值可以为您提供有关估计正确概率的信息。
现在,您可以结束对“创建测试规范”任务的估计
要完成Guru99银行网站的“创建测试规范”任务,您需要166.6±13.33工时(153.33到179.99工时)
步骤4)验证估计
为WBS中提到的所有任务创建汇总估算后,您需要将其转发给管理委员会,管理委员会将对其进行审核和批准。
管理委员会的成员可以包括CEO,项目经理和其他利益相关者。
管理委员会将与您一起审核并讨论您的估算计划。你或许可以解释他们的估计逻辑和合理的,使他们能够批准您估计的计划。
测试评估最佳实践
本主题介绍如何估计测试准确性的一般提示。
- 增加一些缓冲时间:你的项目可能会发生很多不可预测的事情,例如一个才华横溢的团队成员突然退出工作,测试需要的时间比估计完成的时间要多......等等。为什么你需要在你的估计中加入一些缓冲区。在估计中具有缓冲器使得能够应对可能发生的任何延迟。
- 评估中的帐户资源计划:如果团队中的某些成员留下长叶,您应该怎么做?它可能会推迟项目。估算中的资源规划起着关键作用。资源的可用性将有助于确保估算是切合实际的。在这里,你必须考虑你的团队成员的叶子,通常是长叶。
- 使用过去的经验作为参考: 过去项目的经验在准备时间估算时起着至关重要的作用。因为某些项目可能有些相似,您可以重复使用过去的估算。例如,如果您使用像测试网站这样的项目,您可以从该经验中学习,尽量避免过去项目中遇到的所有困难或问题。
- 坚持你的估计: 估计只是估计,因为它可能会出错。在项目的早期阶段,你应该经常重新检查测试估计并在需要时进行修改 。除非需求发生重大变化,否则我们不应在我们修复后延长估算,否则您必须与客户就重新估算进行协商
其他技术
宽带德尔菲技术,使用 - 案例点方法,百分比分布,Ad-hoc方法是其他估计技术
视频抄本
- 让我们做一个练习 - 飞行预订应用程序准备一个工作分解结构
- 各种测试任务,如:检查登录功能,检查新订单功能,检查传真功能和其他类似功能,并估算测试这些功能所需的工作量
- 例如,可以在2小时内测试登录功能。同样准备一份所有任务和相应工作的清单。暂停培训教程并完成练习。我希望你对所需的努力做出了有根据的猜测
- 这是测试评估的自下而上策略。该技术称为自下而上,因为基于工作分解层次结构最低级别的任务,您可以估计持续时间,依赖关系和资源。
- 在自下而上的战略中,估算不是由一个人,而是所有利益相关者,个人贡献者,专家和有经验的工作人员共同进行的。我们的想法是利用团队成员的协作智慧来达到准确的测试估算
- 现在,因为您在航班预订系统方面拥有丰富的经验。使用此经验来估算网站的完整功能测试所需的工作量。 - http://newtours.demoaut.com/
- 该网站在功能上与航班预订应用程序相同,只是基于网络。暂停教程并立即进行练习
- 我希望根据您的经验,您对测试网站所需的工作做出了很好的估计
- 这是基于经验的自上而下的估算方法。
- 另一种技术是根据项目的规模和复杂程度对项目进行分类,然后查看特定大小和复杂程度的项目过去需要多长时间。
- 另一种方法是确定类似项目过去的每个测试案例的平均工作量,然后使用当前项目的估计测试用例并达到总体工作量
- 更复杂的估算模型涉及复杂的数学模型。在实践中,大多数项目使用自上而下的方法进行估算。
- 测试估计可能会受到许多因素的影响,如时间压力,人员因素,测试团队的地理分布等

















浙公网安备 33010602011771号