软件测试 -- 入门 3 软件测试与质量
Posted Rolei_zl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试 -- 入门 3 软件测试与质量相关的知识,希望对你有一定的参考价值。
What is reasonable is real; that which is real is reasonable. 凡是合乎理性的东西都是现实的,凡是现实的东西都是合乎理性的。存在即合理。-- 黑格尔
1. 软件测试存在的意义
- 提升质量
消除或减少由于软件问题带给用户/客户的操作不便、甚至是利益损失 - V & V
通过多种手段验证软件交付成果达到并满足客户预期要求 - BUG跟踪
发现软件存在的不同问题,并跟踪问题直至问题全部修复
2. 软件为什么做测试
- 软件问题的存在
软件总是存在这样或那样的问题,软件测试需要尽可能多的、尽可能早的发现软件存在的问题 - 软件规模的扩大
软件规模不断扩大,可能存在的问题也越来越多,单纯的调试不再适合软件的大规模开发需要 - 业务及环境的复杂
实际业务流程更加复杂、应用环境不断更新、开发面临更多挑战,产生问题的机率越来越多 - 满足用户/客户需要
软件存在的目标是提升用户/客户价值,但软件问题的存在总是带给用/客户诸多不便、不满意
3. 软件过程质量模型
- ISO标准:关于质量管理和质量评价的一系列国际标准,是适用性更广范的国际性标准。
- CMM模型:Capability Maturity Model,软件能力成熟度模型。专门针对软件组织、软件过程实践阶段的标准定义,对软件定义、实施、度量、控制和改善多个阶段进行描述。
- CMMI模型:Capability Maturity Model Integration,软件能力成熟度模型集成,是CMM的替代版本。
-- CMM,CMM区别,来源:网络
CMM | CMMI | ||
初始级(initial) | 工作无序,计划执行符合度不高;管理无章法,缺乏健全的管理制度。开发成效不稳定,项目成功主要依靠项目负责人的经验和能力。 | 执行级 | 软件组织对项目的目标与要做的努力很清晰,项目的目标可以实现。由于任务的完成具有很大的偶然性,软件组织无法保证在实施同类项目时仍然能够完成任务。项目实施成功主要取决于实施人员的经验和能力。 |
可重复级(Repeatable) | 管理制度化,建立了基本的管理规程和制度,工作有章可循;初步实现标准化,开发工作能较好地按标准实施;变更依法进行,做到基线化,稳定可跟踪;新项目的计划和管理基于过去的实践经验,具有重复以前成功项目的环境和条件。 | 管理级 | 软件组织在项目实施上能够遵守既定的计划与流程,资源有准备,权责到人;对项目相关的实施人员进行了相应的培训,对整个流程进行监测与控制,并对项目与流程进行审查。 |
已定义级(Defined) | 开发过程,包括技术工作和管理工作,已实现标准化、文档化;建立了完善的培训制度和专家评审制度,全部技术活动和管理活动均可控制;对项目进行中的过程、岗位和职责均有共同的理解 。 | 定义级 | 软件组织能够根据自身的特殊情况及自己的标准流程,将管理体系与流程予以制度化。 |
已管理级(Managed) | 产品和过程已建立定量的质量目标;开发活动中的生产率和质量可量度;建立过程数据库;实现项目产品和过程的控制,预测过程和产品质量趋势,如预测偏差,实现及时纠正。 | 量化级 | 软件组织的项目管理实现了数字化。通过数字化技术来实现流程的稳定性,实现管理的精度,降低项目实施在质量上的波动。 |
优化级(Optimizing) | 采用新技术、新方法,集中精力改进过程;拥有防止出现缺陷、识别薄弱环节以及加以改进的手段。取得过程有效性的统计数据,并进行分析,从而得出最佳实践。 | 优化级 | 软件组织能够充分利用信息资料,对软件组织在项目实施的过程中可能出现的次品予以预防。能够主动地改善流程,运用新技术,实现流程的优化。 |
- TMM模型:Test Maturity Model Integration,测试成熟度模型集成
- CMMI关注整个软件开发生命周期的全过程,基于整个开发组织的成熟度评估,包含测试相关的过程评估;
- TMMi关注测试过程,针对测试组织或组织的测试阶段进行的成熟度评估。
4. 软件测试与软件质量
- 为了满足交付质量,围绕软件质量,软件开发过程在范围、时间、成本3个方面进行平衡。
- 软件质量可以从 3 个过程(开发过程、维护过程、移植过程)相关的 6 个特性进行评价。
参考:软件质量模型的6大特性和27个子特性_Rolei_zl的博客-CSDN博客_软件质量模型六大特性
- 软件生命周期关注软件质量,软件开发过程的每个操作均需要考虑产出物的可测性。
- 软件质量通过软件开发者、过程参与者、使用者评价反馈得到,更多的是以测试进行评价。
- 软件质量不是测出来的,通过软件测试活动可以提升软件质量,软件测试是保证软件质量的重要手段,是保证软件质量的手段之一。
- 软件质量需要靠软件开发环节的各阶段、所有参与者共同实现的。
参考:质量小议12 -- 以测代评_Rolei_zl的博客-CSDN博客
以上是关于软件测试 -- 入门 3 软件测试与质量的主要内容,如果未能解决你的问题,请参考以下文章