写点什么

质量保证的推荐实践

  • 2013-10-16
  • 本文字数:2130 字

    阅读完需:约 7 分钟

质量保证是软件开发过程中必不可少的组成部分,资深工程师 Aya推荐了几种实践方法,认为可以有效地提高质量保证的效果。

Aya 认为在整个软件生命周期自始至终都要考虑软件质量:

对于将软件 QA 浓缩到所有开发任务完成后的测试阶段的方法,它们的问题在于:会给团队带来巨大成本并将整个项目置于高风险之中。在测试阶段,开发人员竭尽全力确保他们的代码具有极少的缺陷。然后测试人员努力揭示软件中每个可能的缺陷,而经理和客户希望他们拥有适合向市场发布的软件。

问题在于:为什么许多软件公司会坚持促使开发团队满足严格的最后期限,完成尽可能多的功能,却毫不关心代码质量有多差,因而忽视了注入代码内的大量缺陷,犯下架构错误,以及忽略文档?

仓促的开发可能会为团队节省片刻的时间,但是,如果有一些重大开发问题没有从一开始就考虑到,最终可能导致需要投入更多的时间。结果是浪费了大量团队资源来修复和重新设计代码,而不是将这些资源投入到更有用的事情上。软件团队人员内心里对整个始末一目了然,但面对着唠叨的客户、严格的销售团队,以及一些自我感觉编写了无缺陷的软件的开发人员,软件团队确实很难将 QA 撇在一边而只顾着完成代码。

对于如何提高质量保证的效果,Aya 推荐了几种实践方法,包括需求审核、代码审核和演练、基于会议的测试、基于风险的测试等。

Aya 认为,浪费资源来交付错误的功能确实很可怕。在开始每个新开发阶段之前审核软件需求,这样做能够最大限度地减少缺陷并满足客户的需求。在实现之前审核需求,这样做有助于考虑潜在的变化,克服在项目的整个寿命中可能发生的误解。团队必须与客户一起反复检查所有应实现的业务领域细节。需求审核也可以使用原型和领域模型来完成。当开发团队在开始实际实现之前完成这个小任务时,他们的项目或开发迭代会获得良好的开局。通过确保在实现之前所有利益相关者都达成共识,并且每位团队成员都意见一致,客户和管理人员可确信开发人员将在开发周期结束时交付正确的成果。

而“代码审核和演练”听起来像很简单,但代码审核是软件开发中最有效的实践之一。它对减少缺陷数量以及增强代码和软件设计的质量具有直接影响。这消除了在未来的版本中执行重大的代码重构和清理的需求。

依据项目需求和实现细节,团队可能认同简单的编码和设计原则。团队成员应共同遵守这些原则,而且只要开发一项新功能,一个或多个团队成员(除了作者)应审核新代码,并搜索所有编码或设计错误。

这种做法可在许多方面为团队带来帮助,包括提高代码质量和设计,最大限度地减少缺陷,并预防它们。另外,它还使得整个团队能够深入了解彼此的工作,轻松移交工作,并提高团队对不同软件组件和功能的认知。团队协作验证和证明代码的质量和设计的实现方法。它们从同事那里获得直接反馈。这么做可谓一举两得:代码质量增加了,团队的认知和项目责任也增加了。

第三个实践是“基于会议的测试”,表示将测试负载分解为会议,每个会议有一个任务(一种希望从测试会议获得的明确规定的结果)。每个会议有一个既定的时间范围(从 20 到 40 分钟),测试人员在执行测试会议期间不应中断。

这就像将测试人员放在一个测试房间一段时间,让测试人员专注于查找特定软件特性或功能的缺陷。在会议期间,测试由一组测试案例引导执行,测试人员也可以执行探索性测试。因此,基于会议的测试是正式测试方法与测试创新的一种组合,因为它提供了测试人员房间来进行探索和获得直觉思维,留出了时间和自由空间来发现不常见的缺陷,或者通过折腾软件来进一步了解它。

会议期间,测试人员应将软件的行为记录在案,获取快照,以及写下软件在特定输入和设置下的行为。会议结束时,将与团队领导或技术经理讨论会议脚本。从他们的讨论中,他们找出所认为的正常行为和不正常行为,然后基于讨论创建缺陷报告。

另一种则是“基于风险的测试”,因为在开发流程中进行了一些更改,开发团队通常拥有同一个软件的许多常用版本。一种重要的 QA 实践是在每个主要版本之后彻底测试软件。另一方面,在每个版本中都对整个软件运行全面的回归测试既耗时又很难实现。但是,仅测试更改的功能或笨拙地删减测试案例套件是不安全的。一段代码可能解决了一个缺陷,但也可能破坏了代码中的其他内容。

基于风险的测试方法采用了折中方式。它的基本理念是按降序对软件功能和失败模式排序,从最重要或风险最高到值得拥有的功能和简单的风险(一个类似工具是 FMEA:失败模式和影响分析)。如果测试人员在严格的时间限制下测试某个新版本时手头有这个列表,他就可以集中精力确保新引入的更改不会破坏其他任何内容。然后就可以轻松地确保更改不会破坏软件中的任何最重要的功能,因而不会发生任何最严重的风险。

在 11 月 1 日开幕的 QCon 全球企业开发大会(上海站),参与者将有机会聆听测试专题“大测大悟”讲师的经验分享:

大测大悟这个专题主要分享通过测试与质量为企业贡献价值的方法与实践。测试的重要性和价值,已经毋庸置疑,然而,怎样才能借助于测试与质量为企业贡献价值呢?敏捷、精益,移动、云计算,方方面面的变化都给测试与质量工作带来了极大的挑战,又该如何直面这些挑战呢?我们计划从不同行业、不同领域邀请实践者和思考者,为大家分享成功案例、需要注意的经验教训以及可改善产出的新奇方法。

2013-10-16 08:522102
用户头像

发布了 501 篇内容, 共 272.5 次阅读, 收获喜欢 62 次。

关注

评论

发布
暂无评论
发现更多内容

来领奖啦!StarRocks 社区 2025 布道师计划正式开启

StarRocks

StarRocks 湖仓一体 镜舟科技

Windows Server 2008 R2 OVF (2025 年 4 月更新) - VMware 虚拟机模板

sysin

Windows Server

AI 语音公司 ElevenLabs 进军亚太市场设立东京子公司;EverTutor Live :语音交互 AI 教育平台丨日报

声网

温水煮青蛙5年被裁,耗时2个月终靠这套445页Java面试场景题逆袭

程序员高级码农

面试题 Java 面试 java ,面试 #程序员

鸿蒙版Flutter环境配置Windows 版本

坚果

鸿蒙 HarmonyOS 坚果派

Windows 10 version 22H2 中文版、英文版下载 (2025 年 4 月更新)

sysin

windows

Windows 11 23H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 4 月更新)

sysin

Windows11

SvelteKit 最新中文文档教程(20)—— 最佳实践之性能

冴羽

前端 前端开发 前端框架 Svelte SvelteKit

LLM情感分析实战 DeepSeek API

AI时代的一滴水

Python 机器学习 情感分析 DeepSeek v3

企业高分通过哈尔滨等保二级需要哪些安全设备?

黑龙江陆陆信息测评部

Windows 11 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 4 月更新)

sysin

Windows11

KingbaseES+SqlSugar为医疗用户排忧解难

金仓技术

KingbaseES 金仓数据库

Windows Server 2019 中文版、英文版下载 (2025 年 4 月更新)

sysin

Windows Server

Windows 10 on ARM, version 22H2 ARM64 中文版、英文版下载 (2025 年 4 月更新)

sysin

Windows Server

一图读懂金仓云数据库一体机

金仓技术

KingbaseES 金仓数据库

Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 4 月更新)

sysin

Windows7

从手动档到无人驾驶:金仓数据库自适应基数估计技术介绍

金仓技术

KingbaseES 金仓数据库

Windows Server 2016 中文版、英文版下载 (2025 年 4 月更新)

sysin

Windows Server

金仓数据库KingbaseES集群部署从未如此轻松!

金仓技术

KingbaseES 金仓数据库

解析金仓数据透明加密性能损耗

金仓技术

KingbaseES 金仓数据库

金仓数据库KingbaseES在线打补丁,运维更轻松

金仓技术

KingbaseES 金仓数据库

数据库膨胀?性能下降?别怕,金仓数据库KES魔法咒语来拯救!

金仓技术

KingbaseES 金仓数据库

重生之我在金仓开发数据库:KES性能飞跃的秘密

金仓技术

KingbaseES 金仓数据库

金仓数据库与SQL Server兼容性分析报告

金仓技术

KingbaseES 金仓数据库

Windows Server 2016 OVF (2025 年 4 月更新) - VMware 虚拟机模板

sysin

Windows Server

一张图读懂金仓数据库KFS

金仓技术

KingbaseES 金仓数据库

背靠万亿美元的 AI Agent 蓝海市场,Kairos 的天花板在哪里?

股市老人

镜舟科技助力某大型电网企业破解数据架构升级难题,打造国产化湖仓标杆

镜舟科技

开源 数据分析 分析型数据库 StarRocks 湖仓

AI 怎样颠覆软件开发未来?

代码制造者

AI编程

AI 和可观测性到底如何整合?

巴辉特

AI 监控 可观测性 Observability Monitoring

Windows Server 2019 OVF (2025 年 4 月更新) - VMware 虚拟机模板

sysin

Windows Server

质量保证的推荐实践_最佳实践_崔康_InfoQ精选文章