想知道如何在测试软件上省钱吗? 你并不孤单。 只有一个很小的问题:如果不对软件进行测试,则可能出现最不利的情况-从成本高昂,极其无利可图到您在稍后阶段完成应用程序的定型,再到声誉丧失和客户/竞争对手向竞争对手的转移。
准备招募50名最有经验的测试人员来确保产品质量? 太好了! 怎么了 您需要了解:如果在不合理的情况下为测试分配了过多的资源,则会增加预算,并且软件会过于昂贵。 您的用户和客户对此感到满意吗? 您再次处于危险之中。
是的,我们暗示真相介于两者之间。 在本文中,我们将讨论基本原理,然后您可以在测试成本和产品质量之间找到平衡。
原则编号1。 尽早开始测试
最常见的错误之一是在产品即将发布时,在后期阶段开始对其进行测试。 测试团队(QA)与开发流程建立联系的时间越早,错过生产错误的可能性就越小。 另外,在开发的早期阶段发现的错误将更便宜。 有时。 我们的经验表明,在后期阶段进行修复的价格可能比在原型阶段修复相同错误的价格高30倍。
实践中的一个案例:我们在测试服务器应用程序上等待了很长时间,该服务器应用程序收集并处理了大量用户数据。 开发人员只是简单地拒绝提供它,理由是他们有很多问题,并且可以在最后进行测试。 最后,他们使用新版本工作了四个月。
当我们开始使用真实的用户数据量测试应用程序时,事实证明,所选的数据库体系结构无法应对这种负载。 这个由五人组成的开发团队必须重新计划一切,重写应用程序的设计和体系结构,而我们必须从头进行测试。 发布比计划晚了六周。
底线:节省150个工时并推迟发布
的愿望导致员工损失1100个工时,并使测试成本增加一倍。
原理编号2。 保存,但不分析
假设您听取了我们的论点并决定实施第一个原则。 在产品开发的哪个阶段,最好派出一支队伍并聘请测试团队? 答:在应用程序体系结构的规划阶段,或者至少在分析和需求准备阶段。
如果没有进行良好的分析,您将冒推出没人需要的完美产品的风险。 当您不考虑目标受众的特征时,就会发生这种情况。
我们记得为亚洲用户量身定制的关于正在运行的应用的恐怖故事。 如果客户可以在智能手机上安装该应用程序,中亚肯定会喜欢它并从中获利。 但是他们不能,但是你知道为什么吗? 在需求收集阶段,由于在三星的iPhone和智能手机(至少在亚洲)上测试了该应用程序,因此犯了一个错误。 毕竟,亚洲用户显然更喜欢华为和OPPO。
在我们的示例中,开发人员无法再次保存。 您不仅需要花费300个工时来完成产品的测试和测试,而且声誉成本几乎使该项目屈服。
底线:您可以邀请外部专家或限制自己,主要是要记住,在支持阶段进行消费者测试要贵数十倍。 所谓昂贵,是指金钱损失不如声誉成本。 不要节省分析费用。 只是不在她身上!
原理编号3。 确定目标和期望
当然,您希望一切正常工作。 但这还不够。 您需要了解效果如何以及为何如此之多。
你知道如何认识一个好的测试经理吗? 他立即开始“折磨”您,以了解您需要哪种优质的产品。 我们称其为期望的集合。 您的软件质量由某些模块组成。 经验丰富的测试经理会想知道哪种特殊的砖块成为质量的基础。
当一位顾客来到我们这里并说:“我希望它能正常工作”时,我们开始问他:创造产品的主要目标是什么? 用户最需要哪些功能? 他们如何使用它们?

收集期望后,将设置SMART目标,将其分解,构建任务和KPI表。 结果,我们明确定义:
所有这些对于确保客户所需要的质量都是必要的,而又不会对客户产生影响。
但是,有时会发生事件。 对于保险服务在线商店的项目,我们进行了分析并提出了建议。 由于功能的复杂性和模块的大小,除了产品的全部功能和回归测试外,我们建议使回归自动化。 尽管事实上花费了很多时间来进行回归,但客户还是拒绝自动化它,而是因为有强大的“护手”团队而激发了它,并且自动化将花费大量时间并且变得无利可图。 我们所有的进一步论点和计算都被忽略了。 我们无法证明自己的立场,并且三个月以来我们手动测试了回归,这实际上对客户无利可图。
然后,该项目被缩减,分析了两个月,并返回了使用我们五个月前提出的自动化计划的提案。
底线:您不仅需要能够理解项目的目标和客户的意愿,而且还必须向他证明您站在他这一边,并且知道如何获得收益。 否则,它将像我们一样:合并预算以进行手动回归测试,尽管自动化可以节省时间和金钱。 说到自动化...
原则四 自动化
...但是明智地。 并计算出ROI之后。
为了自动化以节省您的钱,产品必须稳定。 但是,如果更改非常动态,则并不意味着自动化将无法为您提供帮助。 使用工具和专用程序已经是自动化。 例如,您可以帮助自动执行消耗测试人员时间的常规操作。 假设编写了一个收集必要配置的实用程序。
案例研究:客户希望每天释放一次,而不是每周两次。 此外,完整的手动回归测试需要两到三天。 并且由于该产品80%的功能已经建立并且稳定,因此决定将其自动化。 为此,我们开发了四个自动化方案并对其有效性进行了比较分析。 通常,我们为此使用八个指标:
- TC数量 -脚本中的案例数。
- 自动化(人*天) -脚本自动化的资源消耗(不包括每个测试用例的测试数据)。
- 1 TC自动化(man * hrs) -自动化一个测试用例的成本。
- 手动测试(人*天) -整个脚本的手动测试成本。
- 结果调查(man * hrs) -检查自动测试结果的成本。
- 执行时间 -项目工作期间所需的测试运行次数。 该数字反映了预期的运行次数,并考虑了功能的稳定性,所需的测试运行计划(信息的规律性)等。
- 自动化效率(%) -以节省时间的百分比形式测试自动化效率。 考虑到计算错误,可以认为指标超过150%的自动化是有效的。
- 节省的时间(人*天) -在整个项目中节省的人日数。
这是我们的项目示例的外观:
最终选择经历了两个自动化方案。 他们的使用使我们可以将运行自动测试的回归从两天减少到几个小时,再加上两个小时的其余手动检查,结果证明自动化是无利可图的。
底线:自动化可以减少数十次测试的人工成本,并且可以一无所获。 如果没有分析和计算ROI的能力,您将始终冒着永远被自动化幻灭的风险。
原则五 学习使用初学者
不想自动化? 有经验的测试人员会预算吗? 是否想以少量但合理的薪水聘请已毕业的高中毕业生? 这不是一个坏主意,但有一些细微差别。 即使您有一个简单的产品,一些新来者也不足以满足您的需求。
一个孩子可以在游戏中找到一个错误并通过诱饵测试的方法破坏应用程序,但是他会找到所有错误吗? 当然不是 我们非常喜欢新来者,但他们通常并不拥有研究测试方法。 但是他们可以在测试中“走”。 因此,对于一双眼睛发亮的初学者公司,您需要一个“老头”,他会以您的初学者能够理解的水平开出支票。
例如,我们甚至在一些复杂的项目中,在导师的指导下吸引新移民。 最初,项目初学者的集成和适应过程花费了一个月的时间,这当然增加了测试的时间和成本。 为了解决此问题,我们开发了“入门软件包”,其中包含测试文档以及有关安装和配置必要组件的所有说明。 此步骤可以将最初的完全适应时间减少到两周,而在“包装”中添加一组视觉案例和培训视频后,则可以长达一周。
下面介绍了一组测试保险产品的案例的片段。
“新手软件包”可能包含非常简单但有用的内容,例如
数据生成器 。
它可以给出处理案件的具体步骤。 顺便说一句,根据我们的经验,最好是给初学者准确的测试用例(带有详细的步骤和前提条件),而不是清单。

有了这样的设置,初学者将始终知道要进行哪个测试,该做什么以及在哪里寻找缺失的信息。
底线:使用初学者的工作而不会损失质量和测试速度是有利可图的。 从第二周开始,Junior便已为该项目带来了实实在在的收益,将适应的时间损失减少了4倍(从160到40小时)。
经验丰富的导师和新手集成业务流程将帮助您迅速组建一支出色的团队。 我们会定期这样做,而我们培训的优秀测试人员的数量已经超过了1000!
原则编号6。 您不需要一百名测试员,而是需要那些用脑袋工作的人
测试人员不应该太多,应该有足够的测试人员。 您不想投资于经验丰富的人,他们只会在工作中感到无聊或开始不必要的未成年人? 同样,您不希望四十名开发人员用他所有的修补程序填补一位不幸的测试专家,并且他没有足够的时间或精力来完成高质量的任务。 因此,价格与质量之间的平衡的第六条规则是寻求这种平衡。
直觉很重要,但是直觉还是要寻求战略家和分析师的帮助,他们将帮助您评估任务的范围,所需的人数及其资格。
实践中的一个常见案例。 不久前,我们与一位与团队接触的客户联系,该团队中有12位测试人员:TM,高级,中级和9位初级。 我们对测试过程进行了审核,并放弃了八千个不必要的任务(例如不受更新影响的回归功能,未成年人的安排等),并且找出了如何优化测试的方法。 事实证明,该项目需要三个自动化设备(由其自己提供)和另一个从初级中学到的middl。 其余的新来者必须被抛弃。
接下来,我们将关键功能的测试放在中间的“标识和确认”框中。 他们手工检查,进行研究测试。 其他所有块几乎都完全由自动化完成。
最后,这允许:-将发布前测试的费用从232,400卢布减少到35,200卢布。
-通过自动化将ROI测试提高5倍。
-减轻管理负担。
-将发布前的测试时间减少了23个工时。
-提高测试质量,仅将有经验的测试人员留在项目中。
原则编号7。 找出哪个对您更有利可图:员工还是外包
通常,但并非总是如此,外包更便宜,并且允许您以折扣价雇用经验丰富的员工。
我们实践中的另一个案例:如何通过雇用9名年薪13万的外包商而不是9名7万卢布的全职测试员,每年节省超过150万卢布。
为了避免毫无根据,我们将显示一个表格,说明这种好处的来源。
在我们的示例中,一个月薪7万卢布的全职测试员要比一个昂贵的外包专家(薪水几乎两倍)多花14877卢布。 如果我们考虑9个工作了一年的人的部门,那么收益将是1,606,716卢布。 这就是金钱。
但是,有时候,即使意识到收益,公司也不想将测试外包。 例如,我们经常遇到客户将所有东西转移给他的员工的愿望。 这是由于担心和无法与外部客户共享其最佳实践和文档。
这种立场是完全有道理的:尽管签订了所有保密协议,但始终存在偶然泄漏信息的风险,因此,任何诉讼都不会掩盖其成本。 为了避免出现这种情况,建议您放心使用,并向一家公司寻求服务。在过去十年中,该公司此前未曾与客户在其网站上进行过沟通。
简要说些什么
1.根据美国国家标准技术研究院的版本,开发结束时的测试成本可能比其初始阶段的成本高出15倍,而发布后则高出30倍。
不想多付? 尽早开始测试!2.对目标受众和产品要求的误解掩盖了许多出色的项目。
节省分析费用? 准备为猜谜游戏付费!3.不仅要分析CA,而且还要分析客户的意愿。 基于它们,您需要能够设置和分解SMART目标。
无法设定明确的目标? 您的目标是客户无法理解的吗? 承担完成和返工的费用!4.自动化有助于优化测试成本。 但并非到处都存在,也并非总是如此。
您认为用手进行测试更有利可图吗? 在几种情况下通过自动化计算投资回报率并比较数字!5.测试初学者很热情,但是他们缺乏经验。 一个好的指导者和一个“入门级软件包”可以将6月在该项目上的效率提高2-3倍。
以合理的费用为昨天的毕业生打分吗? 准备为他们从“猴子”变成男人的事情付出额外的代价!6.质量不等于数量。 一个好的专家要付出最好的代价,因为他能提供最好的结果。
不想保存,处理结果吗? 然后,您不应该审核测试团队并优化其组成。7.测试外包可让您在保证结果的前提下拥有经验丰富的项目团队。 但是外包绝非适合所有人。
想要一个具有民主价格标签的交钥匙解决方案? 计算来自国家和外包的收益,第二种选择也许会更有利可图。而不是结尾
质量是一个多方面的概念,因此,价格可能会根据公司对该术语的理解深度而有所不同。 有许多方法可以节省质量,但会牺牲质量,但是没有太多选择可以提高质量而不付出过多的代价。 遵守上述原则已帮助我们在市场和客户忠诚度以及对客户本身的忠诚度中赢得了可靠的声誉-从而节省了力量,资源和时间。
对自己尝试这些原则,它们非常简单,因此有效。 我们希望本文能帮助您节省测试而又不影响质量。 我们正在等待您在评论中提出的问题,想法,建议和评论。
妮娜·艾吉娃(Nina Ageeva)
质量实验室副主任。