软件质量控制

1、质量控制

  软件质量控制对开发过程中的软件产品的质量特性进行连续的收集和反馈,通过质量管理和配置管理等机制,使软件开发过程向着既定的质量目标发展。质量控制是质量管理的的路标和动力,质量管理是质量控制的执行机制。

  问题1:软件质量控制应该注意哪些方面?

  建议:

  (1)在整个软件生命周期中都该进行质量控制;

  (2)不同阶段活动不同,应采用不同的技术;

  (3)综合使用“预防性”和“检测性”技术。

  问题2:软件质量控制技术有哪些类型?

  建议:

  (1)预防性技术:通过为过程、产品和资源设立标准等途径,来避免在产品开发过程中产生缺陷;

  (2)检查性技术:用于发现和纠正缺陷,甚至分析产生缺陷的原因。

  问题3:软件质量控制一般有哪些方法?

  建议:

  (1)目标问题度量法:通过确定软件质量目标并连续监视这些目标是否达到来控制软件质量;

  (2)风险管理法:设别和控制软件开发过程中对软件质量危害最大的因素;

  (3)PDCA质量控制法:PDCA是一个基于统计方法的迭代过程,已被作为国际标准。

  问题4:软件质量控制的准则有哪些?

  建议:

  (1)制定明确的改进质量目标,满足客户需要;

  (2)持续改进过程以提高质量和生产率,降低成本;

  (3)消除恐惧,让员工更有效地工作;

  (4)消除领域障碍,建立团队精神;

  (5)不以口号要求零缺陷、高效率;

  (6)进行培训,为所有人建立学习和自我提高机制。

  2、质量目标

  为了达到质量控制,测试团队不但需要明确软件的功能,还要明确软件应达到什么样的质量标准,即制定软件的质量目标。为了达到这些目标,在开发过程的各个阶段进行检查和评价。在质量评价时,需要有对质量进行度量的准则和方法,但更重要的是,需要在软件生存期中如何使用这些准则和方法的质量保证步骤及提高该项作业生产率的工具。

  问题1:制定合理的质量目标需要从哪些方面考虑?

  (1)适应性:必须制定能适应各种用户要求、软件类型和规模的质量标准,并能够度量;

  (2)易学性:不需要特殊技术,软件技术人员人人都容易掌握;

  (3)可靠性:对同一个软件的评价,评价的人或场合可能不同,但评价结果必须一致;

  (4)针对性:不是在检查时才改进质量,而必须从设计阶段起就确立质量目标,在各个阶段实施落实;

  (5)客观性:要从各种不同角度加以评价,并将评价结果定量地表示,使得人人都能理解;

  (6)经济性:考虑如何才能把质量度量和保证所需要的费用控制在适当的范围内。

  问题2:测试团队,需要重点关注哪些质量指标?

  建议:

  (1)测试设计覆盖率

  (2)测试执行覆盖率

  (3)各阶段缺陷密度

  问题3:测试过程中,需要关注哪些测试缺陷密度?

  建议:

  (1)测试计划评审缺陷发现密度

  (2)测试策略/方案评审缺陷发现密度

  (3)测试用例评审缺陷发现密度

  (4)系统测试缺陷发现密度

  (5)集成测试缺陷发现密度

  (6)验收测试缺陷密度

  3、同行评审

  在软件开发过程中邀请同行对工作产品进行审查,以图尽早查找出工作产品缺陷,进行质量控制的一种质量活动。需要前期准备、计划,安排好时间进度表,而且越早开展对项目越有价值。

  问题1:常见的评审有哪些形式?

  建议:

  (1)审查:由公正的、接受过正式评审技术培训的组织者引导进行的同行检查;

  (2)走查:又称走读,由产品的设计者或开发人员引导开发组成员和其它相关组成员浏览软件工作产品;

  (3)分发:又称轮查,产品的设计者或开发人员将要评审的工作产品共享或分发,评审人员以修订标记或批注的方式将意见直接添加到工作产品或其复件上。

  问题2:评审过程中常见的问题?

  建议:

  (1)项目进度紧张,开发人员没有时间进行评审;

  (2)评审力度不够,评审发现的有效问题太少;

  (3)评审会议中过多争论占用大量时间;

  (4)评审专家与作者,或者多位评审专家之间的评审意见不一致;

  (5)评审发现问题修改后,评审人员跟踪不充分。

 问题3:项目进度紧张,专家没有时间进行评审怎么办?

  建议:

  (1)将评审活动的时间、需要的评审专家写入项目计划;

  (2)通过“正式渠道”协调评审专家资源,并得到承诺;

  (3)评审开始前提前1-2天通知评审专家。

  问题4:如何可以提高测试评审的效果,达到预期的效果?

  建议:

  (1)评审前可以使用Checklist、代码检视工具等进行自检活动;

  (2)考虑知识结构、观点角度等方面,选择合理评审专家;

  (3)必要时安排介绍会议,向相关专家介绍被评审对象;

  (4)充分安排好足够预审时间。

  4、漏测预防

  漏测是指软件产品的缺陷在某一阶段未被发现而遗漏到了后续阶段、经效果评估后,将有效的预防措施纳入到流程或相关预防平台中,制定改进措施和跟进实施。

  问题1:哪些环节容易发生漏测?

  建议:

  (1)需求分析,如需求分析遗漏、需求分析特性理解错误、需求变更未及时跟踪;

  (2)策略漏测,如组网考虑不全面、继承特性考虑不全、性能稳定性考虑不全面;

  (3)设计漏测,如用例描述不规范准确、用例观察点遗漏、功能交互遗漏、异常考虑不全面等;

  (4)执行漏测,如用例执行构造数据不全面、没有严格按步骤执行用例、测试技能或经验不足等。

  问题2:漏测分析需要做哪些工作?

  建议:

  (1)选择问题,选择有代表性的漏测问题;

  (2)分析根因,进行漏测问题的根因分析;

 (3)改进实施,制定改进措施并跟进实施;

  (4)补充测试设计,共性问题要跟踪多版本闭环;

  (5)成果固化,经效果评估后,将有效的预防措施纳入到流程或相关预防平台中。

  问题3:有哪些方法,可以进行漏测预防?

  建议:

  (1)测试策略和测试方案充分考虑各业务逻辑之间的交互和影响;

  (2)测试用例设计时,充分考虑功能点与其他模块之间的交互和影响;

  (3)充分考虑修改问题单、需求变更是否引入新的问题;

  (4)参考优秀实践和经验案例;

  (5)每次缺陷分析完要有总结,把容易漏测的形成测试经验checklist,并组织学习。

  5、发散测试

  发散测试,顾名思义就是不以某个标准或者框框作为约束的一种测试,发散测试准确来说应该叫具备发散思维的探索性测试。为了提高测试执行覆盖率,在严格按照用例测试执行后,通常需要进行发散测试,这里包括自由测试和交叉测试。

  问题1:发散测试,需要关注哪些方面?

  建议:

  (1)重点模块和核心流程,需要安排多人进行交叉测试;

  (2)根据2/8原则,对发现缺陷高的模块,需要重点安排人力交叉测试;

  (3)了解用户场景,按照用户常常使用的实际场景进行发散测试;

  (4)识别异常场景,模拟可能发生的各种异常场景进行发散测试;

  (5)遵循规范原则,根据规范组织测试,如协议规范、设计规范和接口规范等。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-10-31 06:39:24

软件质量控制的相关文章

软件开发质量控制研究

[摘要]本文指出了软件开发过程中质量控制的重要性,通过分析开发过程中存在的问题,提出了一些提高软件开发质量的方法的对策措施. [关键词]软件开发:软件工程:质量控制 软件质量是指开发出来的软件不仅可以满足客户明确提出来的要求还要满足某些没有明确提出来的要求,软件质量越高,客户需求满足度就越高.软件项目质量控 制不仅仅是控制软件设计的最终结果,它其实要求贯穿于软件设计项目的全过程,从软件开发初期的客户需求调查,到最终的软件交付评审,每个阶段都要进行仔细 的控制,才能提高软件开发的质量. 一.软件开

项目的质量控制与质量保证的区别与联系

项目的质量控制与质量保证存在以下几点区别与联系: 1.质量计划是质量控制和质量保证的共同依据. 2.达到质量要求是质量控制和质量保证的共同目的. 3.质量保证的输出是下一阶段质量控制的输入 4.一定时间内质量控制的结果也是质量保证的质量审计对象,质量保证的成果又可以指导下一阶段的质量工作,包括质量控制和质量改进 5.质量保证一般是每隔一定时间如阶段末进行的,主要通过系统的质量审计来保证项目的质量(或质量保证是按质量管理计划正确的去做) 6.质量控制是实时监控项目的具体结果,以判断他们是否符合项目

如何保证软件质量?浅析软件带来的业务风险

企业在软件质量保证上的投资是值得的,对于降低企业的业务风险也是必要的. 软件项目风险高.软件质量差一直是困扰我们企业的一个大问题.根据日前由美科利(Mercury)与Economist Intelligence Unit合作撰写.发布的报告,在中国有76%的企业IT项目没有达成预期的业务目标. 这份题为"管理IT业务风险,保护组织远离IT失败"的报告以全球性的调查为基础.调查了全球1000多位的IT经理而成.该报告在关于中国的研究报告部分说,中国的IT项目失败的原因主要是无法应对IT项

质量和风险管理

     质量和风险管理  摘要 本文的目的是比较软件质量和软件风险管理之间的关系.文章首先回顾了基本原理.技术,以及它们在质量软件开发过程中的应用.读者可以知道风险管理的基本概念,包括Boehmis的六步风险管理过程.文章讨论了质量软件技术是如何既是软件开发风险的贡献者又是缓和者. 质量入门介绍 根据国际标准组织(ISO)的定义,质量是依靠特定的或暗指的能力满足特定需要的产品或服务的全部功能和特征.这个定义说明了质量是产品的内在特征,描绘了产品的质量观点.第二个学术派的观点坚持如果要达到质量的

《个体软件过程》目录—导读

版权声明 个体软件过程 Introduction to the Personal Software Process, First Edition by Wattss. Humphrey Copyright 1997 by Addison Wesley Longman, Inc. All rights reserved. Published by arrangement with the original publisher, Addison Wesley Longman, a Pearson E

提高软件质量实践:Amazon篇

Amazon是一个很传奇的公司,它1995年的时候以一个网上书店起家,在短短的十几年里成为全球最大的在线购物公司.更为甚者,他在2005推出的AWS云计算服务更是被业界公认为云计算的鼻祖,也是现在全球最大最成功的云计算服务提供商. AD: 前几天回国转了一圈,做了两家企业质量管理培训,一次上海测试沙龙,和chinatest两次演讲.收获颇多,以后慢慢分享.回来后发现我的软件质量实践系列文章距离上一次发表已经有很长一段时间了.我想还是先把它写完,再写别的文章吧.那么今天我们看看互联网公司的另外一个

新的RBAC:基于资源的权限管理(Resource-Based Access Control)

本文讨论以角色概念进行的权限管理策略及主要以基于角色的机制进行权限管理是远远不够的.同时将讨论一种更好的权限管理方式. What is a Role? 什么是角色 当说到程序的权限管理时,人们往往想到角色这一概念.角色是代表一系列行为或责任的实体,用于限定你在软件系统中能做什么.不能做什么.用户帐号往往与角色相关联,因此,一个用户在软件系统中能"做"什么取决于与之关联的各个角色. 例如,一个用户以关联了"项目管理员"角色的帐号登录系统,那这个用户就可以做项目管理员能

RBAC新解 - 基于资源的权限管理

1.什么是角色 当说到程序的权限管理时,人们往往想到角色这一概念.角色是代表一系列可执行的操作或责任的实体,用于限定你在软件系统中能做什么.不能做什么.用户帐号往往与角色相关联,因此,一个用户在软件系统中能做什么取决于与之关联的各个角色. 例如,一个用户以关联了"项目管理员"角色的帐号登录系统,那这个用户就可以做项目管理员能做的所有事情――如列出项目中的应用.管理项目组成员.产生项目报表等. 从这个意义上来说,角色更多的是一种行为的概念:它表示用户能在系统中进行的操作. 2.基于角色的

如何加强网络安全 这7种建议你不可不知!

一个电灯泡,我们每天都会与之打交道.我们可以在房间里把电灯泡连接到互联网上,以防在我们离开或太懒时需要打开或关闭灯光.现在,随着我们每天使用和连接的灯泡.设备.应用和在线服务越来越多,我们更容易面临安全风险.这就是我们的数字生活如何演变的性质,它需要我们更多的积极参与,以保护自己和尽量减少泄露. 如果你今天在线.检查电子邮件.购买某人的礼物.在Facebook上发布消息.支付账单.看视频或监控婴儿睡觉,你需要练习这7个提示来保护你的网上安全.该建议由Varonis 系统的负责人Rob Sober