假设您负责SQA &测试公司,该公司向其他开发软件的公司提供外包的测试服务。假设您提供了4种一般类型的测试:
让我们假设您使用的是固定价格模型:您的客户端附带一个具有预先定义的需求和范围的项目,以及固定的持续时间,这是不可能改变的。您估计为该项目提供测试将花费多少费用,然后您向您的客户提供一个固定的价格,希望确保您将获得高于您的成本的利润。
我的问题是如何做上面的估计。您将如何为客户估算对给定项目X进行测试的成本?为了做一个好的评估,你会看什么关于这个项目的信息?
为了使我的问题正式化一点,假设您必须定义4个函数:
您将如何定义这些函数?
发布于 2017-06-30 15:11:17
我非常不愿意这样做,至少如果我想要做任何重复的生意/不想破产。
在某种程度上,在估算内部项目的测试时间时,您正在尝试做的事情是一样的;我查看的内容包括代码复杂性、开发人员的一般经验、正在更改的领域的开发人员经验、测试人员的一般经验、测试对象的测试经验、与其他软件的交互、错误的影响、可能发现的问题类型、发现问题的容易程度、发现问题的容易程度等等。
有些东西我可以从设计文档中得到,但其中很多东西都需要历史知识。作为第三方的提供者,你将无法了解大部分的历史知识。即使你在同一家公司重复工作,你也不知道上一个项目如此成功的原因是否是因为他们有两个最好的开发人员,但其中一个已经退休,另一个只在下一个版本上工作了1/2次。或者他们已经转向了一个他们不熟悉的新框架。或者一种新的语言。
还有一个问题,就是在你的合同方面,你要承诺什么。发现了多少缺陷?在生产中发现的缺陷有多少?如果你认为某件事是个缺陷,而他们却没有呢?或者你发现了你说过的缺陷的数量,但是一个大的缺陷就溜走了?
基本上,你将承诺以固定的费用承担未知数额的风险,在某种程度上,给你的雇主一个理由给你一个可怕的代码,他们想让你测试质量。
发布于 2017-06-30 14:09:50
如果您或您的团队以前完成过这样的项目,您的评估可以基于以前的经验。如果这种类型的项目对您来说是新的,那么估计就不那么精确了,但是您可以尝试将功能分解为基本元素,然后就可以更容易地分别估计每个元素(例如,简单的授权表-您在这里需要多少种情况,花费多少时间)。
一旦你有了工作时间的估计,你将得到成本值乘以你的费率。当然,对于一个费率不同的球队来说,这会更加复杂。
因此,我将第一个函数定义为:
FunctionalCost(X) =比率* (T(el 1) + T(el 2) +.+ T(el N) +T(可选:风险等))
对性能、安全性和可用性不太确定。这些领域需要更多的假设。
发布于 2017-06-30 16:20:31
如果这是例行项目,您有以前的经验和使用。
潜入一个新的项目,你不知道在黑暗的角落里隐藏着什么。因此,这是相当大的风险。问题是,谁将承担这种风险的负担。如何处理不确定性有许多选择:
https://sqa.stackexchange.com/questions/28142
复制相似问题