Nar*_*rek 34 qa software-quality
我是一名软件开发人员,今天我和QA团队就以下问题争吵过:
QA团队成员应该超过使用同一产品的开发人员数量多少?
我知道这不是关于如何编程的问题,但我认为这个问题与软件开发有很大关系.所以我希望这个问题不会被关闭.相反,我会从在SW开发公司工作的具有良好经验的专业程序员那里得到答案,这样我就可以做出很好的统计数据.
Ste*_*owe 37
答案非常主观,但这是我的经验.
在Microsoft,我们拥有一个强大的测试开发组织.这与传统的QA略有不同,因为我们聘请程序员在设计阶段就开始测试并让他们参与进程.他们的工作是测试,特别是自动化产品测试.根据我的经验,测试人员需要大约与测试和自动化功能一样长,因为开发人员可以对产品中的错误进行编码和修复.这意味着1:1的映射.这与经验法则非常类似,即编写单元测试只需编写代码即可.
这种混合将根据几个标准而有所不同:
Mic*_*ael 22
对于公司的大多数项目,我的比例为1:1.但这可能因以下几个因素而异:
根据我的经验,有两种主要的QA人员:那些只是遵循书面脚本并与应用程序交互以寻找边缘案例的人,以及那些能够自己编写自动化测试代码的人,并寻求新的和创新方式(模糊测试,Selenium,编写API客户端)来打破开发团队的代码.
如果您的QA团队主要由第一类人员组成,那么与开发人员的比例为1:1或更高可能是必须的.否则,他们将难以跟上开发团队引入的任何新功能,并且经常会抵制对产品所做的任何更改,因为它会进一步使他们的测试工作流程变得复杂.
另一方面,后一种类型(即可以编码的测试工程师)对任何高效的开发团队来说都是天赐之物.编码人员可以作为同伴与他们进行交流,测试人员可以通过编写更智能,更抽象的测试工具和实用程序,找到自动化和改进自己流程的有用方法.一个真正好的测试工程师大概可以支持2-3个开发人员的工作,特别是如果这些开发商已经写有用的单元测试和集成测试自己的测试仪可以作为一个起点使用.
我的工作地点目前约为8:1 dev:qa.这样做的原因是我们非常重视自动化测试.所有工作都需要接近完整的单元测试覆盖率.我们还与Fitnesse进行功能测试(所有用户故事必须进行fitnesse测试),checkins触发CI服务器的完整测试运行,开发人员经常检查,我们经常发布.
这是一个巨大的应用程序,有几千个类和无数的场景.优点是速度,灵活性和成本.无论开发人员(甚至是一个昂贵的人)花在编写测试上的额外时间都少于雇佣/管理更多QA人员的人力资源,或者发现生产中的错误(甚至QA员工毕竟是人类).
我们所做的小QA员工可以花时间用Selenium编写自己的自动化测试或参与新功能.他们花费相对较少的时间一遍又一遍地重复相同的功能.