产品TSE与SE的关系
SE(简称系统工程师),在产品开发团队中相当于技术负责人,大家并不陌生。通常SE的职责是:通过全面领导和参与需求分析和系统分析、设计工作,实施规范的系统工程活动,将市场需求和其他需求转换成产品和设计需求,并依此组织设计、制定出产品规格、系统结构和实现方案。保证需求全面、准确,规格完整、有效,系统高效、简洁。并通过监控、协调产品开发过程,保证开发满足预先规定的需求和规格,最终确保产品满足客户需求并更快更好交付给客户。
那什么是TSE呢?根据共创力咨询的长期测试的实践,TSE(Test System Engineer)简称测试系统工程师,作为系统工程(SE)团队的一员,很多公司目前还没有这样的角色,导致测试部分往往处理弱势,第一,不能进行端到端产品开发流程的验证,第二,不能对产品最终的测试质量负责。那么,TSE整个组织架构中是什么样的职责呢?以华为公司为例,华为公司在2010开始推行TSE的角色,并与其它成员相互配合,组成一个完整的系统分析和设计团队,下图可以看到,TSE是系统工程的一部分,主要负责测试领域的把关: (这是一个虚拟的组织,TSE的部门依然是测试部)
由上图可见,TSE是SE团队的虚拟成员,在产品开发过程,TSE与SE是有交互的,虽然对技术质量保证的角度不一样,但大家的目标只有一个,那就是交付客户满意的产品。TSE的职责如下:
①需求澄清。每个需求在开发前组织开发负责人和测试人员面对面进行需求澄清,确保需求理解达成一致,疑问和分歧点形成的遗留问题和用户确认。
②测试用例设计。需求澄清完成后,TSE设计测试用例,用例设计完毕后组织开发、测试、SE进行用例检视和评审,根据检视和评审结果对用例进行整改,确保用例和原始需求保持一致。
③测试策略制定。每个阶段开始前制定合理的测试策略,主要内容包括老功能抽检、新功能验证,可靠性、稳定性、数据一致性、大容量、升级、UCD体验、资料测试等专项测试。
④测试策略执行监控。和测试经理配合确保测试策略制定的内容均衡的分布到测试周期的每个阶段;定期检查测试执行进展,确保策略能够落地,及时发现测试用例存在的问题并进行整改。
⑤逆向分析。每个测试阶段结束时,TSE必须逆向分析该阶段发现的问题单,识别功能质量薄弱点,和开发、SE等讨论给出针对质量薄弱点的加强措施,并转换为用例,跟踪测试经理将加强措施落地到测试过程中。
⑥重要局点保障。针对局点的特点挑选合适的用例,确保能够满足客户的要求;同时分析特殊场景当前的满足度,增加和修改用例。
TR1~TR3阶段设计与测试的协作
在TR1~TR3阶段,TSE与SE需要组建设计+测试的开发组织,SE需要对自动测试策略与总体测试策略进行评审,TSE需要对设计方案进行评审:

TSE主要站在验证的角度保证测试方案的完整性;SE主要站在设计的角度保证总体设计的完整性。
TR3~TR5阶段设计与测试的协作
TR3~TR5阶段:开发验证阶段,需要做好设计方案串讲/反串讲、测试设计方案、用例、评估报告的评审工作,确保交付件质量。
1、在方案设计阶段,通过SE对方案的串讲和反串讲,TSE审视方案的合理性并给出建设性建议,确保技术方案的可行性并完善,上下游对技术方案成一致。
2、在测试设计阶段,设计人员介入测试,评审测试的设计质量。
3、在测试执行阶段,测试代表客户进行验收,测试发现方案问题反向推动设计方案改进,快速稳定产品质量。
4、在测试评估阶段,测试站在客户视角思考需如何评估更为合理,明确质量评估模型和评估标准,给出商用评估结论;设计参与审视评估结论与特性预期目标的一致性,针对产品遗留问题和风险联合裁决。

如上图所示,这个阶段TSE与SE的协作主要是双方对方案设计的正确性进行验证, 尽快反馈,以使产品质量达到最佳效果。
TR5~TR6阶段设计与测试的协作
TR5~TR6阶段:Beta验证阶段,测试和设计共同对选定开展Beta测试的关键场景,评估Beta上网后在功能、性能上的表现和风险,并及时进行纠偏,输出Beta试验局报告。这个阶段主要TSE和SE一起配合用户的验收测试:

对于测试发现的风险SE进行规避,并尽快解决客户端的各种问题,相互协作,争取在发布前所有的问题都得到解决。
为什么设计与测试需要相互协作?
通过开发与测试的协同,可以有效解决这三类问题:开发人员缺乏完整的开发者测试设计,仅关注代码覆盖率,导致明显的测试遗漏;开发者测试避重就轻,造成项目转测试后来覆盖部分潜在风险或问题较多;开发人员交付的需求未考虑异常场景,转测试后存在各类异常问题,造成返工修改工作量大。
浙公网安备 33010602011771号