• 软件测试 -- 入门 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博客

  • 相关阅读:
    2023年下半年NPDP考试今天开始报名!
    调节扬声器和麦克风的音量
    机器学习笔记之高斯混合模型(一)模型介绍
    【React 】折叠面板,点击展开时再请求数据
    Git企业开发级讲解(一)
    二、nacos注册中心配置与应用
    算法面经广联达、中兴、电信篇
    【信息安全原理】——传输层安全(学习笔记)
    virtualbox无界面打开linux虚拟机的bat脚本,以及idea(代替Xshell)连接linux虚拟机的方法
    计算机组成原理习题课第一章-2(唐朔飞)
  • 原文地址:https://blog.csdn.net/u012841352/article/details/126442855