在软件测试领域,有2个常见的角色,质量保证(QA)和软件测试开发工程师,都致力于保障软件质量,但其职能有所不同。
质量保证(QA):QA工程师主要通过手工测试和自动化测试的手段来保障软件质量。他们负责监督软件开发生命周期中对质量标准的遵守,例如ISO 9000或CMMI。通过进行全面的测试,保持严格的质量控制措施,QA专家可以帮助我们交付可靠且对用户友好、满足期望的软件产品。
软件测试开发工程师(SDET):测试开发工程师,又称为软件测试工程师(SET),擅长自动化测试、框架开发,以及提升可测性、健壮性、性能。他们参与整个系统,并在所有开发阶段发挥作用,利用类似开发人员的思维来指导技术实施和用户场景。
虽然这些角色都与软件测试相关,但他们在一些关键因素的影响下,有一些细微差别:
公司背景:具体的公司或组织可能会在这些角色的定义和执行上有所变化。
测试团队的差异:测试负责人也可以根据自己的看法和喜好来定义角色的范围和职责。
团队主管的背景:团队主管之前的经验和对公司测试和质量管理的看法,可以影响这些角色的结构和整合方式。
团队交流:测试团队内部的交流方式,以及测试人员对过去工作中同事和角色的看法,共同塑造了每个职位的独特特点。
实质上,虽然软件测试的核心目标保持一致,但这些角色在每个组织中会结合一些内外部因素而进行调整和演变。
下表总结了一些QA和SDET的技能和素质:
角度 | QA | SDET |
---|---|---|
主要关注点 | 产品质量保障 | 自动化测试和可测性 |
开发中的参与度 | 有限 | 在所有阶段都积极参与 |
技术专长 | 中等 | 强,类开发思维 |
给开发团队的建议 | 有限 | 对技术实施和用户场景,可提供积极建议 |