初创公司和质量保证

时间:2009-09-20 02:15:05

标签: qa

初创公司应该在此过程的早期就拥有专门的质量保证。通常,质量保证很晚才加入。

我的两部分问题是:

  • 什么时候专用QA应该首先成为启动工作的一部分?为什么?
  • 首批QA成员应具备哪些技能(使用常用工具创建和执行测试脚本,编写单元测试,计划和执行复杂的负载和稳定性测试等)?

13 个答案:

答案 0 :(得分:29)

我将提供一个非常规的观点:

创业公司的第一批质量保证成员应该具备在没有充分指定项目时帮助开发团队(并帮助他们实现这一目标)的技能。

对我而言,质量保证不仅仅是测试。测试是质量控制(QC)。但是如果你不知道它应该做什么,你就无法为产品设计测试。这种情况在创业环境中非常普遍 - 编码人员在不决定项目建设的情况下疯狂地敲打项目。

质量保证流程在编码之前开始:

  1. 明确定义项目的要求以进行测试。
  2. 使用最佳实践,工具,方法等实施项目。
  3. 测试以验证您构建的内容是否与您要构建的内容相匹配(这是QC)。
  4. 这就是为什么我说第一个QA活动应该参与需求规范阶段。

答案 1 :(得分:15)

我坚信敏捷和精益软件开发。在神话般的Mary Poppendieck关于缺陷的一些引用之后,请在这里找到:

  • “检查发现缺陷是浪费。检查以防止缺陷是必不可少的。”
  • “测试的工作 发现缺陷,测试的工作是防止缺陷”
  • “质量流程可以在代码中建立质量。如果您在验证过程中经常发现缺陷,那么您的流程就会出现问题。”

最后一个:

  • “如果您有单独的测试和修复周期,那么测试太晚了。”

所以,为了回答你的问题,我的观点如下:

  • QA的工作是创建一个测试驱动的环境,使得几乎不可能出现缺陷。因此 QA在开发之前,它不遵循它。所以,,尽早开始QA。
  • 理想情况下,将测试人员嵌入产品开发团队。让他们在迭代期间进行测试。尝试在每次迭代时发布完全工作和测试的增量。
  • 为了实现这一目标,您需要非常熟练的人才。他们需要掌握大多数测试领域和相关工具:构建测试计划,编写(自动)验收测试,设置测试数据,最终执行负载测试等。BDD的知识是可执行规范的一大优点受到开发团队的高度赞赏。

答案 2 :(得分:4)

作为初创公司的唯一开发人员,请允许我提供我的意见:

  1. 当?一旦你负担得起它。我现在更喜欢专门的测试人员,而不是第二个开发人员。我在测试自己的应用程序时非常糟糕。我下意识地知道完成事情的确切方法,因此,我总是忽略真实用户如何使用应用程序的变化。
  2. 技能?越多越好,我会选择一个机构来完成手动运行应用程序的清单。任何帮助

答案 3 :(得分:4)

通常情况下,直到1.0之后才需要质量保证且产品有收入流。

它只需要“工作”。

答案 4 :(得分:3)

作为一名交易的质量保证工程师,我认为尽早提供专门的质量保证是件好事。在最初的开发周期中,QA将为功能规划带来不同的视角 - 这应该有多快?它有多高?一个安装可以同时支持多少用户?

一位优秀的QA工程师不断寻找新的方法来破解事物。从一开始就关注这个问题总是比以后在这个过程中引入QA更好,让那些认为他们做得很好的开发者士气低落,直到新的QA人员堆积了数百个bug报告,然后需要进行分类(是这甚至是一个错误?如果QA从一开始就参与其中,他们就知道这是预期的行为!等等,然后实际修复。

而且,在这里说实话......如果我们在谈论创业公司,他们就不会编写测试计划或生成有用的自动化。一旦你拥有一个稳定的产品并确保整个用户界面不会改变,测试计划就很棒了,自动化对于捕获回归很有帮助,但在初始开发过程中, >任何回归,因为你尚未发送任何尚未退回的东西。

真的,一个优秀的QA工程师需要的重要技能是沟通,固执和快速加速的能力。如果QA发现了一个错误,但无法清楚简明地解释它是如何发生的,它们正在做什么,以及如何重现它,它们的用处会迅速减少。

答案 5 :(得分:1)

质量保证可能会有所帮助,但在您有资金确保产品完成之前,添加一个仅用于测试的机构是有风险的。如果添加新的开发人员有助于确保在资金用完之前完成产品,那么您可能需要更改优先级并获得新的开发人员。

开发人员可能需要质量保证,但如果是这种情况,则进行功能开发的人不应该对其进行测试。

例如,您可能希望让您的QA人员负责持续集成构建,因此他可能需要戴上几顶帽子,因为团队中的每个人也会戴上几顶帽子。找一个非常灵活的人,这样他们就可以帮助开发人员免费开发。

答案 6 :(得分:1)

据我所知,答案如下:

关于第一个问题,在需求分析期间应该参与质量保证。通过这种方式,QA可以与程序员一起与系统工程师讨论,以便彻底了解需求。在此过程中,QA将清楚地了解需求,因此在程序员进行编码时会对测试用例产生影响。

因此,程序员和QA将同时完成各自的工作。

关于第二个问题,质量保证应该对他必须工作的环境,测试方法以及自动化测试的基本知识有相当好的了解。如果它是一个启动项目,他将有时间研究自动化,从而自动化回归和健全性测试用例。因此,它将节省时间和精力以及管理层交付产品的资金。

答案 7 :(得分:1)

我经历过的大多数初创公司很少有全职的QA /测试人员。

如上所述,一个选择是让一个可以戴多个帽子的人。

另一种选择是在需要时以承包商或自由职业者的身份聘用他们。

如果适合您的商业模式,还有人群来源测试的想法可以考虑或找到可以远程工作的人。

答案 8 :(得分:1)

这里有一个好主意的记录。我同意最好尽快启动QA。关于一些策略,我同意Snehal Mohite并会添加Q3。

Q3)建立您的QA以实现灵活性并尽可能多地自动化手动操作。确保您拥有“交易工具”,以帮助小型团队更轻松地完成工作。例如,添加像Applitools Eyes这样的工具,以便在功能测试的同时启用Visual测试。这可以帮助您少花钱多办事。让您的团队开始使用正确的工具可以帮助您和您的客户建立坚实的基础。

答案 9 :(得分:0)

只要您的公司具有足够的规模和盈利能力,就可以进行专业化。

大多数小公司要求人们都是多面手并戴上一顶帽子。

这里没有神奇的答案,但小企业的关键是每个人都需要带来比收入更多的收入;倍数优于增量。无论IT需要多少独立测试人员,这都是事实。

我认为小公司可能必须具有创造性,并做一些事情,比如要求朋友测试礼品卡而不是金钱的alpha版本,或者与受信任的客户合作。

答案 10 :(得分:0)

有很多关于质量保证,测试人员等的可用资源,你的问题(一个非常好的问题)没有简单的答案。关于这个过程中涉及的时间,数量,地点和方式等,没有神奇的公式等等。

你应该弄清楚的第一件事就是你的实际需求。大多数人(不幸的是)将质量保证等同于测试。测试只是QA团队的一个方面。大多数人在成长为拥有“真正的”QA团队之前就先从专职测试人员开始。

质量保证更多地是关于预防性维护,而测试更多的是关于事实发现。

你是在追踪测试者还是其他什么?

关于测试员技能,头号技能是产品领域的专家。其他一切都是次要的。

答案 11 :(得分:0)

在您拥有质量保证之前,您拥有一个具有愿景和组织的产品经理,并且您已经开发了。在雇用您的第一个QA人员之前,产品经理应该戴上QA帽子并能够定义要求并通过初始测试框架来完成工作。然后,随着项目离开婴儿期,您可以聘请QA开始从项目经理处获取项目管理任务。重要的是聘请具有足够技能的QA和产品管理员,以便开发不需要进行质量保证或设计帽子。

答案 12 :(得分:0)

什么时候专用QA应该首先成为启动工作的一部分?为什么?

答:我自己也是质量保证人员,QA应该始终从初创公司开始参与质量保证问题。质量保证需要知道整个过程,产品中涉及的每个组件的行为。

质量保证的主要任务如下:

a)收集客户的要求。

b)完成要求并了解需求,因为它说“客户就是王”。

c)根据收集的信息设计测试计划,测试用例,工作量估算等。

d)最后测试和bug归档(注意:清楚地提交bug,提及重现的测试)。

上述要点清楚地解释了为什么需要从启动阶段开始参与质量保证。


Q2)首批QA成员应具备哪些技能(使用常用工具创建和执行测试脚本,编写单元测试,计划和执行复杂的负载和稳定性测试等)?

1)质量保证最重要的技能是“了解客户的要求”以及产品中涉及的整个产品行为和功能。

2)基于编写基本UI和功能相关测试用例的要求。

3)质量保证也应该能够区分测试范围和非测试范围内的内容。

4)根据截止日期,应该能够过滤出P1优先级测试用例并首先执行。