鼓励管理层废弃手动测试并以正确的方式做事

时间:2010-02-02 23:26:55

标签: testing tdd

我正在开展一个在规模上非常复杂的项目(这是制作一个网络应用程序)。第一个问题是没有人对能够真正解决项目周围问题的任何产品感兴趣(缺乏时间,没有根据不断变化的要求调整时间尺度)。请记住,这些产品并不昂贵(对于生产数百万的公司来说是500美元),而不是需要大量配置的产品(尽管项目需要这样的产品,例如构建自动化工具,以节省时间)。

无论如何,这意味着测试都是手动完成的,因为文档是可交付的 - 这意味着网站的实际技术设计,实现和测试受到影响(我们是开发人员还是文档编写者?我们在这里尝试做什么?是想到的问题)。该网站非常庞大和复杂(不是Facebook的规模或类似的东西),但按照指示进行手动测试(尽管我的警告)告诉我这不是高质量的测试,因此不是高品质的产品走出它。

我可以向相关人员建议哪些好处,以鼓励自动化测试(他们知道我可以实施)?我知道可以通过cmd使用适用于Windows的第三方应用程序更改分辨率,因此这可能都是自动构建的一部分。相反,我可能必须手动浏览所有这些浏览器,屏幕分辨率和窗口大小的排列。此外,记录测试的位置在哪里?当窗户最小化时它们会破裂吗?这个问题的一大问题是,我正在进行监控测试的工作,而PC并没有完成所有工作,这是我的工作(让电脑完成所有工作)。由于缺乏资源,这会堵塞开发框 - 是的,用于开发,然后由我进行测试。当盒子空闲时,可以更好地自动化夜间运行。

由于

5 个答案:

答案 0 :(得分:2)

谈论金钱通常是获得管理层关注的最佳方式,所以这里有一些建议:

  • 估计您进行当前手动测试需要多长时间。
  • 获取客户发现的关键错误列表 - 理想情况下可以了解影响成本(修复发布后的错误总是比以前贵得多),但通常只需要描述一两个错误就足够了糟糕的错误。您的手动测试没有发现这些客户错误,因此这是证明您的手动测试不充分的好方法。
  • 提出一个试点项目,在该项目中,您可以自动测试产品的某个区域,在该区域中发现了生产中的错误。估算试点项目的成本 - 进行限制性试点具有更容易确定范围和估算的优点。然后比较重复运行自动化的持续成本与手动测试每个版本的成本;在几次发布之后,您应该在自动化工具和测试开发的成本上实现收支平衡。小心选择自动化区域 - 尽量避免复杂UI之类的区域,这些区域可能会在版本之间发生显着变化,因此需要花费大量时间来更新自动化测试。

答案 1 :(得分:1)

祝你好运。我为这一切而尖叫,我为一家十亿多的公司工作。我们仍然进行手动测试(包括回归测试)。最终开始实施自动化测试,因为一些开发人员走了出去,演示了一些您正在描述的软件,并开始配置框架。

您最好的选择是提出一个实际的美元和美分记录与产品合作和没有产品的工作之间的比较,以明确地向负责花钱和管理投资回报率的流程的管理人员证明只有在那里,但是那些需要进行测试和/或改变现有流程的人实际上会发现他们的工作更容易。

走基层。与您的团队交谈,让他们加入。与您的业务分析师交谈,让他们参与进来。与您拥有的任何QA人员交谈,并让他们加入。当村民用干草叉和火把攻击城堡时,你可以打赌,钱包会打开,你将进行自动化测试。

答案 2 :(得分:0)

我会尽可能地尽可能地自动化。我认为你不一定要求允许做这样的事情。也许你的管理层没有想到这些事情,在你向他们展示一个很好的榜样之前,他们往往不会看到好处。

答案 3 :(得分:0)

仅仅是资本支出难吗?我已经看到现有员工的时间已经花费的地方,因此与新购买相比基本上没有价值。

至于说服经理,手动回归测试的成本与自动化的成本。如果您正在进行大量的手动测试,这应该是一个轻松的胜利。如果您没有经常运行测试,请尝试使用bug。然而,在许多公司中,bug的成本并不归因于开发部门,质量和bug的成本可能不是一个强烈的动机(换句话说,质量只是骄傲和自负,实际上并不是它的成本)。

说服开发人员......如果他们还没有参与......电子休克疗法?如果他们不在那里,那将是一场艰苦的战斗。

答案 4 :(得分:0)

我一直试图在我目前的项目上进行类似...我可以说还有另一个因素 - 时间。自动化工具和自动化测试开发有一个学习曲线。使用自动化工具测试的第一个版本不会像手动测试那样快,因为除了进行测试之外,测试人员还在学习工具。第二个版本将会快得多,之后的每个版本都会更快 - 但第一个版本将是一个时间表命中,如果不是成本命中。

财务案例并不太难 - 随着时间的推移,该项目节省了大量资金,因为重复测试的资源大大减少了。

但很难找到一种策略,让您可以在使用测试工具的第一个版本上以最少的时间表拖动工具。测试总是在计划结束时被压扁,因此对于计划压力最敏感的事情。您可以采取哪些措施来向管理层展示如何减少或消除学习曲线以及自动化测试设置和安装时间,这可能会增加您使用该工具的机会。