软件测试与软件质量2

软件缺陷

人类历史上的第一个BUG

万“虫”之母,史上留名
• 1947年9月9日下午3点45分,Grace Murray Hopper 在她的记录本上记下了史上第一个计算机Bug—— 在Harvard Mark II计算机里找到的一只飞蛾,她把 飞蛾贴在日记本上,并写道”First actual case of bug being found”。
• 这个发现奠定了Bug这个词在计算机世界的地位, 变成无数苦逼程序员的噩梦。 从那以后,Bug这 个词在计算机世界表示计算机程序中的错误或者 疏漏,它们会使程序计算出莫名其妙的结果,甚 至引起程序的崩溃。
在这里插入图片描述

缺陷的识别

什么是缺陷
• 不符合设计要求
• 不满足用户确定需求

注意 两个观点
• 有些问题看似错误但不是缺陷
• 有些问题看似正确但却是缺陷

产生缺陷的原因

1、人员之间的沟通交流不够,交流 上有误解或者根本不进行交流
2、文档不完善
3、需求不断的变化
4、参与人员的过度自信
5、程序设计本身有错误
6、软件复杂性
7、工期短,任务重,时间压力大
8、软件开发工具或系统软硬件自身含 有缺陷

判断发现的问题是否是缺陷的方法

在这里插入图片描述

再现与优化缺陷

再现(又叫重现)与优 化缺陷的必要性
为什么要再现与优化缺 陷(需要特别注意,优 化缺陷并不是指优化缺 陷本身,而是优化缺陷 的再现步骤)
关于软件中“随机”出 现的缺陷

怎样有效记录缺陷

• 保证重现缺陷
• 分析故障——使用最少步骤复现故障
• 包含所有重现缺陷的必要步骤
• 方便阅读
• 尽量简单——一个缺陷一个报告
• 注意自己的语气

• 值得注意的经验
•报告不能重现的缺陷。
•不能夸大缺陷。
•小缺陷(甚至建议)也要报告。
•及时报告缺陷。
•引用别人的报告时,最好不要修改,可以添加批注之类的补充评论。

缺陷报告的用途

缺陷报告的用途是什么?
• 记录缺陷
• 缺陷分类
• 缺陷跟踪

缺陷分类

从哪些角度给缺陷分类?

按问题引出不同

按功能(模块)

按缺陷的严重程度
• 影响进度的问题
• 死机
• 功能问题
• 界面问题
• 建议

按修复缺陷的优先级
• 应立即修复的问题
• 在产品发布之前必须修复的问题
• 如果时间允许应该修复的问题
• 可以在发布版本中存在的问题
备注:缺陷的严重程度和优先级各软件公司可根据实际情况自行确定。

按缺陷所处状态分类
• 待确认的
• 新提交的
• 已分配的
• 问题未解决的
• 待返测的
• 已关闭的

按处理意见分类
• 已解决的
• 不是问题
• 无法修复
• 延迟解决
• 重复bug
• 无法复现

缺陷报告的处理流程

在这里插入图片描述

关于处理缺陷

• 注意缺陷报告的处理成本
• 修改缺陷要量力而行
• 关注被推迟修改的缺陷
• 如果决定据理力争就一定要赢

软件质量

定义

经典的“软件质量”定义:软件质量特性的总和,软件满足规定或潜在用户需求的能力。 简单的说,软件质量就是客户的满意度。
软件质量的组成部分:
• 软件产品的质量,即满足使用要求的程度(软件质量特性)
• 软件开发过程的质量,即能否满足开发所带来的成本、时间和风险等要求(CMM、ISO9000)

软件质量与软件过程的关系

• 软件质量:软件产品的特性可以满足用户的功能、性能需求的能力。
• 软件过程:软件生命周期中的活动,一般包括软件需求分析、软件设计、软件编码、 软件测试、交付、安装和软件维护。
• 过程决定质量,软件过程决定软件质量,软件质量是在软件开发过程中逐渐建立起来 的。
• 软件过程的优劣决定了软件质量的高低,好的过程是高效高质量的前提。人员和过程 是决定软件质量的关键因素,高质量的人员和好的过程应该得到好的产品。

软件测试与软件过程的关系

在软件过程中注意把握测试的对象
软件测试在软件生存周期中的位置
• 软件测试在软件生存周期中占有非常重要的位置,是对软件规格说明、设计和编码 的最后终审。

软件测试与软件质量的关系

软件系统的开发包括一系列生产活动,其中由人带来的错误因素非常多。错误可能出 现在程序的最初阶段 ,其次目标可能是错误的或描述不完整,也可能在后期的设计和 开发阶段,因为人们不能完好无缺地工作和交流,软件开发过程中必须伴有质量保证 活动。
软件测试是软件质量保证的重要手段,是规约、设计和编码的最终检查

保证软件质量的安全网

只有坚持不懈的改进过程中的问题才是提高软件产品质量的根本出路,但是 注意过程并不意味着忽视技术。软件质量不是依靠软件测试来保证的,软件质 量需要靠不断的提高技术水平和改进软件开发过程来保证,正如牛奶的生产, 如果把所有对质量的期望都压在对最后一道工序的质检上,那将是一个什么样 的结果。

正确认识软件测试

软件的质量不是靠测出来的

软件测试真的比开发容易么?
• 测试人员发现缺陷是测试的初步,还要分析定位缺陷;而且测试人员需要发现潜在的 难以被发现的缺陷 • 测试人员需要开发测试工具和自动测试脚本
• 测试人员必须精通整个业务

软件测试需要开发与测试人员的共同努力
• 破坏性、建设性
• 考虑角度不同

软件质量特性

在这里插入图片描述

质量管理体系

ISO

International Organzation for Standardzation,国际标准化组织,其宗旨是在 世界范围内促进标准化工作的发展,以利于国际物资交流和互助,并扩大知识、科学、技 术和经济方面的合作。

ISO9000软件质量体系——是一系列标准的统称,其主体部分可以分为两组
• 一组是用于“需方对供方要求质量保证”的标准ISO9001-9003
• 一组是用于“供方建立质量保证体系”的标准ISO9004

CMM

Capability Maturity Model,能力成熟度模型,是美国卡耐基梅隆大学,软件 工程研究所(SEI)提出的一种用于评价软件承包商能力并帮助改善软件质量的模型。自 1987年开始实施认证,现已成为软件业权威的评估认证体系。CMM的精髓在于:过程决 定质量。

CMMI

是SEI于2000年发布的CMM新版本。
CMM的五个等级
• 初始级(等级1):软件过程的特点是无秩序的,偶尔甚至是混乱的。几乎没有什么过程是经 过定义的,成功依赖于个人的努力。
• 可重复级(等级2):已建立基本的项目管理过程去跟踪成本、进度和功能性。必要的过程纪 律已经就位,使具有类似应用的项目,能重复以前的成功。
• 已定义级(等级3):管理活动和工程活动两方面的软件过程均已文档化、标准化、并集成到 组织的标准软件过程。全部项目均采用供开发和维护软件的组织标准软件过程中的一个经批准 的剪裁本。
• 已管理级(等级4):已采集详细的有关软件过程和产品质量的度量。无论软件过程还是产品 均得到定量了解和控制。
• 优化级(等级5):利用来自过程和来自新思想、新技术先导性试验的定量反馈信息、使持续 过程改进成为可能。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值