随着软件测试行业的发展,软件测试组织经历了三个发展阶段:混淆阶段、严格区分阶段和专 业协作阶段。
在混淆阶段(早期的测试过程)并没有专职的测试工程师,企业并没有招聘专职的测试工程师, 也没有专门的测试职能部门,测试工作更多的是由开发工程师自己完成。此时开发工程师是有质量 意识的,因为没有专职的测试工程师,开发工程师会尽量努力做好程序,这直接影响个人的年终考 核。当然在这种情况下,就无法谈测试流程如何了。 但是并不是说企业有专门的测试职能部门就表示测试已经不在混淆阶段了,一些企业测试部门 就只有一两名工程师,没有较完善的测试流程,测试手段也很简单,只是手工测试,测试全面性也 不够,也未对测试用例和测试缺陷进行有效的管理,这种测试也是处于混淆阶段。 (2)严格区分阶段。 应该说现在大部分企业的测试阶段都处于这个阶段,在严格区分阶段企业有独立的测试部门, 有专职的测试工程师,并且不单只有黑盒的测试工程师,还可能有专职的自动化测试工程师、性能测试工程师和白盒测试工程师,此时公司有严格的测试流程,企业所有产品的测试都必须按流程来 处理,并且在测试过程中使用了很多的测试工具和测试管理工具。
在测试过程中,测试部门会不断地思考,对测试流程进行相应的修改和完善,并对测试手段和 测试技术进行不断的完善。 虽然严格区分阶段比混淆阶段进步了,但可能存在以下两个方面的问题: 第一:在这个阶段的早期可能会出现这样的问题,虽然有了独立的测试部门,但发现产品的质 量不但没有改善反而有下降的趋势。这是因为当有专职的测试部门时,开发工程师质量意识下降, 他们潜意识认为不管产品开发得怎么样,后面还要进行测试,最坏的结果就是多了一些缺陷,但这 样可能直接导致产品质量下降。因为如果此时测试的成熟度不高,产品虽然经过了测试,但依然有 很多问题被遗漏,这样就可能出现质量下降的情况。 第二:可能出现沟通不畅通的情况,因为开发和测试完全是两个独立的部门,开发工程师和测 试工程师并没有把提高产品质量作为共同的目标,这样可能导致双方相互指责的情况出现,并且由 于开发和测试考核的指标不一样,可能出现一些争执。 (3)专业协作阶段。 专业协作阶段在严格区分阶段的基础上有了很大的改进,在这个阶段测试流程已经很完善了, 并且在整个项目团队中每个工程师都具备质量意识,开发与测试不再相互独立,而是共同面对产品 质量问题,协作改善产品质量。 在专业协作阶段项目团队成员随时进行沟通,并且沟通完全透明,在每个构建过程和每个阶段 的测试过程中,都会及时通过会议来沟通,出现问题时不再是争执,而是协作找到问题的原因与及 解决措施。