注意:我已经在 SO 和 p.SE 上问过这个问题,但它已经关闭了。我不是想玩这个系统,只是想找个家:)
我正在寻求一些“群体智慧”估计或指向权威参考的指针,以了解将工作分配给测试的最佳实践。
虽然有各种各样的不同类型的测试,但给出了以下列表:
- 手动探索性测试(通过用户界面或 API 进行随机临时测试)
- 手动端到端测试(预定义的用户界面驱动测试)
- 自动化端到端测试
- 手动集成测试
- 自动化集成测试
- 自动化单元测试
并给出以下技术和应用:
- 某种 LAMP 堆栈
- 面向消费者的电子商务网站
- 基于 REST 的业务逻辑中间层,供网站和面向内部的后台应用程序使用
- 后台应用程序(库存/订单管理、仓库物流、BI)
并给出以下组织:
- 定义面向用户的网站的产品管理
- 前端大家都是PHP coder,有的还擅长javascript/css
- 中间层是java
- 后台应用程序目前是 PHP 并正在迁移到 java
- 后台应用程序由内部消费者(采购、财务、仓库等)定义。
让我们考虑一下执行测试活动(开发人员创建单元和集成测试、测试工程师创建和执行测试计划、测试工程师创建工具和线束并运行它们)的总小时数。
问题:
有没有人指点关于这种资源分配的权威研究?
例如,在我的公司,我猜这是我们目前的组合:
60% Manual exploratory testing
10% Manual end-to-end testing
10% Automated end-to-end testing
5% Manual integration testing
5% Automated integration testing
5% Automated unit testing
至于我对更好做法的建议,我更希望看到类似的东西:
5% Manual exploratory testing
5% Manual end-to-end testing
10% Automated end-to-end testing
5% Manual integration testing
20% Automated integration testing
55% Automated unit testing
如果能帮助我找到一些可以站立的肩膀来帮助指导我的团队,我将不胜感激。
后记:我对整个“主观”事物感到困惑,并试图根据 SQ 的六个准则来制作这个问题(请注意,这个问题对程序员来说是封闭的,所以这不是答案)。无论如何,鉴于这六项指导方针,我认为这让他们感到满意。只是为了回顾:
- 激发解释“为什么”和“如何”的答案 - 诚然这里有点弱,但我很清楚地问“如何”
- 需要长而不是简短的答案——同样,有人可以用一串五个数字来回答,但我希望能看到一些关于他们为何选择这种特定组合的见解
- 有建设性、公平、公正的语气——我希望提供我目前和希望的情况的估计不会破坏这个特征
- 鼓励经验而不是意见——我认为这很清楚地询问人们在做什么以及什么对他们有用
- 坚持观点有事实支持——我希望人们能说出他们的测试组合的真相(分析确定他们的组合成功的原因将是一个奖励,请参阅#1,2 和 4)
- 不仅仅是盲目的社交乐趣——我希望在这里学到一些东西