构建软件质量保障体系

简介: 构建软件质量保障体系

在测试行业积累多年,很多测试人员都会形成自己的一套关于对于被测产品的质量保证体系,本文结合自己的经验和团队当下团队的能力和现状,构建团队的质量保障体系,也是在DevOps广州峰会上分享的部分内容。

 

 

如上图,整体的质量体系架构图相对简单,主要包含三个部分:愿景(高质量交付-快、好)、能力(中间三层不同的能力)和文化(检视、调整和改进)。

 

先聊聊最底下的文化。作为质量保障体系的一部分,文化或者质量意识往往决定了能力建设是真的落地,还是流于形式。它非常地重要,但又很容易被忽视。工具解决不了态度问题。笔者服务过多家不同业务形态和不同质量意识的团队,对于相同工具能力的落地,效果差距会非常大。

 

所以,作为质量体系的建设者,首先要学会识别大团队的质量观是什么,愿意为质量付出什么,毕竟质量是有成本的。



回到当前的团队,对于团队质量,给出的基础认知是:检视、调整、改进。


勇于检视当下所有的测试活动,定期回顾并作出适当的调整,改进被认可的问题点,为交付的产品做出信心保障。

 

 

构建一个体系,必然有自己的目标,结合团队当下的情况,我们选择的目标是:高质量交付(快、好)。在降本增效的大背景下,从多、快、好、省4个目标中,我们提取了快和好。虽然最好的选择时“我都要”,但那是不切实际的,如果以全要为目标,多半是没有意义的。

 

  • 多:这个不是测试团队所能决定的,取决于团队的生产力和交付效率。
  • 快:这个是我们想要的,在敏捷研发的体系下,快速反馈、快速验证、快速交付是必然的。
  • 好:质量不好,交付的越快,死的也越快,所以好是不能省的。
  • 省:为了实现更快、更好,那就必然有质量能力的培养成本和基础设施的建设成本,所以,省不了。

 

 

在了解团队质量意识,对齐团队目标后,中间三层的能力建设其实是很好落地的,现在的测试技术已经很成熟和多元了,关键是看团队如何取舍和落地的过程。

 

基础设施:从团队的角度看,统一平台是必然的选择,它有太多的好处:一站式服务、统一过程管理、统一数据链路、统一数据度量和展示。在当下的团队,我们通过Tone平台作为统一的入口,从需求到最终的交付,都落在这个平台上(业务能力见下图)。



这个能力不同团队会有不同的选择,从测试的角度看,没有太多的选择权,主要依赖团队现有的选择。

 

质量能力:当下业内的工程实践和工程能力基本上都集中在这里,测试人员个体,可选择和培养的能力也大多集中在这里,具体就不作展开,需要结合业务和团队能力进行有选择地落地 ,作为体系的构建者,需要做好现状和工程实践的平衡,不可一味求全,根据实际情况去落地。

 

流程规范:团队到达一定规模后,流程和规范成为必然的选择。流程是团队达成目标的最佳实践,它能保障团队在大方向上保持协调一致,尽可能降低由于团队人员能力、认知水平、意外情况带来的质量下降。所以流程和规范必须符合团队的当下情况,可以参考,但不能强加。

 

每个测试人员都应该形成自己的质量保障体系,以更好地应对业务的变化和岗位的要求,能够因“团”制宜,灵活处理,而非抱着一个“标准”强行套用。

 

共勉。

相关文章
|
运维 监控 数据可视化
软件质量保障体系建设
所谓的愿景,就是长期规划,我们要到哪里去的问题。一个组织或者团队,是一定要有愿景的。在软件质量保障领域,所谓的愿景概括来说就四个字:保质提效。
软件质量保障体系建设
|
3月前
|
敏捷开发 存储 测试技术
敏捷测试中的挑战和自动化风险
敏捷测试中的挑战和自动化风险
|
18天前
|
敏捷开发 安全 jenkins
自动化测试在敏捷开发中的应用:加速迭代,保障质量
【8月更文挑战第2天】自动化测试在敏捷开发中扮演着至关重要的角色。通过提升测试效率、提高测试覆盖率、及时反馈与修复等优势,自动化测试为敏捷开发团队提供了强大的支持。然而,在实施自动化测试的过程中也面临着一些挑战。通过选择合适的测试框架和工具、制定测试计划和策略、持续优化和维护等策略以及遵循最佳实践并克服挑战,我们可以充分发挥自动化测试在敏捷开发中的潜力,为软件质量的提升和快速迭代保驾护航。
|
2月前
|
jenkins 测试技术 持续交付
探索自动化测试的边界:持续集成与软件质量的协同进化
随着软件开发节奏的加快,自动化测试成为确保软件质量和快速交付的关键。本文深入分析了持续集成(CI)在自动化测试中的作用,探讨了如何通过优化CI流程来提升软件测试效率和质量。文章首先概述了自动化测试的基本概念和重要性,接着详细讨论了在CI环境下实施自动化测试的策略,包括工具选择、测试用例设计、以及反馈机制建立等。最后,通过案例分析,展示了一个成功的自动化测试实践,旨在为读者提供一套可行的方法论,以促进其软件项目的质量保证工作。
27 0
|
2月前
|
敏捷开发 测试技术 持续交付
敏捷开发中的软件测试策略:挑战与解决方案
随着敏捷开发方法在软件工程领域的普及,传统的软件测试流程面临着前所未有的挑战。本文将探讨敏捷开发环境下软件测试所遇到的主要问题,并提出相应的解决策略,以期为软件测试人员和项目管理者提供实用的指导和参考。
61 0
|
3月前
|
机器学习/深度学习 敏捷开发 人工智能
探索智能化时代下的软件测试策略
【5月更文挑战第7天】 在快速发展的信息技术浪潮中,软件测试作为保障软件质量的重要环节,面临着诸多新的挑战与机遇。本文将深入探讨智能化背景下软件测试的新趋势、策略及其实施细节,旨在为读者提供一个清晰的视角来理解当下及未来的软件测试发展路径。文章重点分析了持续集成、自动化测试、性能测试以及安全性测试等关键领域,并提出了相应的优化建议和实施方案。
49 4
|
3月前
|
测试技术 持续交付 Python
集成测试:协同质量保障
集成测试:协同质量保障
|
12月前
|
运维 监控 Devops
怎样利用DevOps文化提高软件开发的效率和质量
DevOps文化的兴起为软件开发带来了新的思维和方法,通过自动化、持续交付、协作等实践,提高了软件开发的效率和质量。在不断变化的技术环境下,利用DevOps的理念和实践,软件开发团队能够更加灵活、高效地应对挑战,将创新快速落地。同时,随着新概念的涌现,我们也看到了DevSecOps和AIOps等的前景,为软件开发领域带来更多的可能性。
234 1
怎样利用DevOps文化提高软件开发的效率和质量
|
消息中间件 存储 测试技术
【韧性架构】韧性性工程的重要性
【韧性架构】韧性性工程的重要性
|
存储 分布式计算 架构师
【企业架构】敏捷时代的企业架构:更少的监管,更多的指导
【企业架构】敏捷时代的企业架构:更少的监管,更多的指导