你好 我叫Misha,我是资深质量检查人员,拥有6年以上的商业经验。 现在我在Provectus工作,但是当我参加各种游戏的Alpha和Beta测试时,我还是一名学生时就开始了我的测试者之路。 在某个时候,我想:“为什么不开始专业地做呢?” 然后我们走。 在这段时间里,我设法参与了多个项目:从初创企业到企业,从小型教育性游戏到具有强大业务逻辑的大型应用程序。
但是我经常被引入小型团队,在这个团队中,有5个开发人员为1-2个测试人员提供服务,并且通常,项目中充满了热情。 实际上,我想与您分享如何学习了解您的位置以及如何开始发展质量保证流程。
首先,您应该了解您正在进行的项目。
通过参与项目积累了经验,我将有条件地将它们分为3种类型:
在我参与时,它们每个都处于发展阶段。 我开始观察这些情况并开始发展自己的愿景-如何促进对它们的测试过程。 一段时间后,我偶然发现了“成熟度模型”,她在我的基础上一一列出。 这使我更加相信这是应该去的地方。
什么是成熟度模型
在这里,我非常巧妙地插入了
维基百科的引文:
能力成熟度模型集成(CMMI)-一组模型(方法),用于改进不同规模和活动的组织中的流程。 CMMI包含一组实践形式的建议,根据模型的开发者的建议,这些建议的实施使您可以实现某些活动领域的全面实施所必需的目标。
简而言之,这是一组模型,它们显示了根据某些条件组织中组织良好的流程。 有了这样的评估,就可以清醒地评估是否值得向特定承包商下达一份或另一份订单。
实际上,由此开始了成熟度模型的开发。 在80年代,美国国防部意识到它无法准确评估软件开发承包商的工作质量。 而且由于这种政府结构也处于这种水平,因此这是不可接受的。 这笔钱是国有的,明确规定了最后期限,可靠的武器软件将使每个人都能更安心地入睡。 基于此,该部指示软件工程学院创建这样的评估系统,并在一年后创建了第一份问卷,并在四年后创建了该模型的第一版。
成熟度模型级别
这是5个级别,在其中评估企业的工作/可靠性/稳定性。

成熟度模型中的哪里进行测试
对于测试人员,有一个特殊的MM,称为TMMi。 它还包含5个级别,在此我将更详细地介绍每个级别的典型含义。
第一层是“初学者”在第一级,测试不是结构化且混乱的。 没有稳定的环境来支持测试过程。 团队不关注计划和标准。
主要目标是按时交付产品而不会出现严重问题,因为此处使用测试仅表明该应用程序没有严重故障。 通常,此类项目的成功仅取决于个人的英雄主义和技能,而不取决于既定的流程。
结果:
- 没有测试文件;
- 产品不稳定
- 在出现问题的情况下拒绝流程;
- 测试无非是调试帮助。
第二级-“可重复”在第二级,测试成为受控过程。 纪律和进步确保了在压力下保持这些做法。 测试仍然被视为开发之后的活动。 制定并实施测试计划,借助该计划,他们可以清楚地确定什么类型的测试是必需的,何时以及由谁进行的。
主要目标是确保产品符合指定要求。
结果:
- 测试的主要类型和类型(集成,模块化,回归,验收);
- 实施测试计划;
- 测试活动受到监视和控制;
- 该过程已记录在案,可以重复。
第三级-“定义”在第三级,测试不再被视为编程后的活动。 测试已完全集成到项目中。 测试计划是在较早阶段进行的,并已在总体计划中确定。 正在引入非功能测试(例如可用性)。
结果:
- 测试从需求阶段开始;
- 添加了一些活动,使您可以更有效地工作(内部培训,其他评论);
- 正在引入非功能测试。
第四级-“可衡量的”在第四级,测试是一个定义明确,建立良好且可衡量的过程。 测试被视为一种评估,包括软件开发生命周期的所有操作。 引入了测量测试质量的实践。 这些测量用于预测测试的性能和成本。
结果:
- 作为可衡量的过程进行测试;
- 测量值用于预测;
- 团队正在寻找使测试过程更有效率的方法。
第五级-“创新”在第五级,所有方法和流程均已建立。 团队并没有止步于此阶段,而是继续系统地改进流程,不断尝试在不影响项目质量的前提下减少测试周期和缩短产品上市时间。 测试侧重于预防。 添加了自动化以更有效地利用资源。
结果:
这种结构的知识如何帮助您
案例1.不公平的测试一旦我进入一个由客户,他的朋友或一只猫进行测试的小项目。 在评估了情况并查看了模型之后,我们可以了解到我们处于1级,并且在活动计划过程中应该专注于2级。 在对Jira进行排序之后,那里存在大量错误(大多数错误是重复的或不可复制的),我开始以清单的形式来编译测试文档并安排基本的测试过程。 例如重大更改期间的回归测试和完整性检查。
案例2。未经测试我认为,这种类型的项目可能会出现以下三种情况:
- 该项目才刚刚开始;
- 几乎没有功能的情况下,该项目无需测试人员;
- 全职团队通过质量代码审查和开发测试来弥补缺乏测试人员的麻烦。
一旦进入这些项目中的任何一个,您通常都会看到它处于秘密零级别这一事实的好处。 我们可以跳过第一级,立即在第二级目标的指导下,以良好的感觉,感觉和安排定性地完成所有工作。 通常,我们可以实施测试计划,并在此基础上执行所有必要的测试类型。 您可以立即与开发团队确定相同的工作流程,这是第一种情况下项目中所没有的。
案例3。实际上,最罕见的情况是:由于某些事件,一个人决定改变他的团队/部门/工作,并给出自己的想法。 在这种情况下,您已经建立了与开发人员交互的系统,并具有一定的测试文档基础。 进一步的开发路径可能包括改善已建立的过程,或进入第三级-在早期阶段引入测试或添加非功能性测试。
案例4。三合一当我来到Provectus的项目时,我遇到的情况是上述三个案例中只有一小部分。 与第一种情况一样,首先要做的是将Jira整理好。 与第二种情况一样,决定立即以高质量执行所有操作,以便立即受到第二级的引导。 因此,我立即开始开发测试文档并实施测试管理工具。 与第三种情况一样,我也尝试从过去的迭代中最大程度地发挥作用。
在很短的时间后,我可以肯定地说我们已经刻意进入第三级-甚至在业务需求阶段进行连接测试:)
结论
以我的经验,大多数乌克兰项目以及长时间未设计的项目都可以成功地投入到第3级的Go上线。 但是,如果您有一个长期的项目,则改进它的可能性是无穷的,并且可以安全地以最高水平的成就为指导。
总而言之,我想说的是,本文的目的不是太多地展示如何使用经典的MM或TMM本身,而是要借助它的帮助,您可以清楚地了解所涉项目的哪个阶段,以及采取哪些动作,哪些不值得。 此外,以其原理为基础,您可以创建自己的模型,该模型不仅可以应用于开发,而且可以应用于生活的各个领域。 最重要的是-它已经过测试并可以正常工作:)