3.1.4 在测试质量评估阶段
测试架构师的另一项重要工作就是进行质量评估。
尽管我们常说的质量评估都是指测试末期的产品质量评估,但此处我们讨论的是在全流程中进行质量评估,这也是本书的主要思想之一,如图 3-6 所示。
图 3-5 非必现缺陷处理流程
图 3-6 在测试全流程中进行质量评估
我们使用产品质量评估模型来进行质量评估:
·测试前,我们将产品质量评估模型中的内容作为测试目标,以达到测试目标为目的来进行各种测试活动。
·测试中,我们不断确认质量目标的完成情况(可使用缺陷预判技术),以此来更新或调整测试策略。
·测试完成后,我们可以使用产品质量评估模型来确认质量目标的达成情况,并将确认的结果作为产品是否可以交付的判断准则。
对这部分内容的详细描述请参见 6.3 节、6.4 节、第 7 章和第 8 章。
3.2 像测试架构师一样思考
有些公司可能并没有设置测试架构师这样的职位,许多读者可能也是第一次听说测试
架构师。事实上,是否有“测试架构师”这样的职位并不重要,重要的是在测试团队中有人能够像测试架构师那样,从被测对象的实际情况出发,系统思考,抓住本次测试的核心,通盘考虑测试策略。无论你测试经验如何,角色是什么,在拿到一个测试任务的时候,都应像测试架构师这样思考:
·本次测试的目标是什么?
·本次测试的范围是什么?
·本次测试的深度和广度是什么?
·本次测试的重点和难点是什么?
·如何安排测试(先测什么,再测什么)?
·如何评估测试结果?
只要我们认真去思考这些问题,就算只有思考过程,都胜过拿一份前人的方案、测试用例或者报告模板小修小改一番来匆匆完成测试。
也许对一个测试团队来说,最好的情况是人人都是测试架构师。
3.3 测试管理者可以替代测试架构师吗
在测试团队中,测试管理者的主要职责是通过制定 / 执行测试计划来保证测试交付。
测试策略解决的是“测什么”和“怎么测”的问题,然后由测试计划来解决由“谁”在“何时”花费多长时间来执行测试。在这个过程中还需要测试架构师通过各种过程评估方法(如缺陷分析)来调整测试策略,进而调整测试计划。简而言之,测试架构师的工作是保证测试的正确性,而测试管理者的工作是保证落地和交付。
可以由测试管理者来制定测试策略吗?当然可以。但我们也要认识到,制定测试策略和测试管理是两种不同的活动。即便没有专职的测试架构师,制定测试策略的活动也不应该减少。所以测试管理者可以兼职但并不能替代测试架构师,两个角色之间最合适的关系是合作。
3.4 系统架构师可以替代测试架构师吗
很多公司都设有系统架构师这个职位,大家对系统架构师也很熟悉。第 2 章我们给大家介绍测试架构师时,也是拿系统架构师进行对比的。事实上,测试架构师和系统架构师确实有很多相通的地方,他们都需要:
·对产品价值有深刻的理解。
·对用户的使用场景有深刻的理解。
·对产品的体系、架构、交互关系有深刻的理解。
但这并不代表系统架构师可以替代测试架构师。
·系统架构师服务的对象是产品开发,测试架构师服务的对象是测试。
·系统架构师理解产品的价值,是为了正确创造并实现出产品;而测试架构师理解产品的价值,是为了验证产品是否真的实现了应有的价值,其中是否存在错误。
·系统架构师理解用户场景,是为了分析出产品的特性和功能,为产品实现做准备;测试架构师理解用户场景,是为了验证产品是否满足用户在该场景中的使用需要,在该场景下产品是否存在质量缺陷。
·系统架构师建立产品的系统框架,是为了最终能够顺利实现产品;测试架构师理解产品的系统框架,是为了测试设计和测试执行能够更有效,验证产品实现是否和架
构的设计是一致的,是否存在问题。
·系统架构师和测试架构师最合适的关系是协作。
·系统架构师可以和测试架构师一起对产品价值进行讨论,对齐理解。
·系统架构师需要和测试架构师一起整理用户使用场景,测试架构师对用户的潜在需求的理解,对友商同类产品的使用经验以及曾经和用户沟通接触的经历都可以帮助系统架构师更好地确定用户使用场景,确定产品需求。
·系统架构师还需要和测试架构师就产品的系统设计进行交流,其实测试架构师对产品的实现理解得越深、越透,越能准确把握测试的重点,减少无效的测试设计,而
系统设计正是对产品实现理解的第一步。而测试架构师也可以根据产品的失效规律,为系统架构师在产品架构设计上提供参考,进行缺陷预防。
所以,系统架构师和测试架构师应该成为产品研发中的挚友。