软件测试 -- 入门 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区别,来源:网络

CMMCMMI
初始级(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 软件测试与质量的主要内容,如果未能解决你的问题,请参考以下文章

软件测试 -- 入门 3 软件测试与质量

软件测试 -- 入门 3 软件测试与质量

4.UML2 软件建模入门与提高 --- 用例图

关于2022年国内软件质量调查问卷的一些感悟与收获

“开源软件供应链点亮计划 - 暑期 2020”公布结果 基于 ChubaoFS 开发的项目获得最佳质量奖

软件测试理论入门