软件测试成熟度模型(TMM)研究

软件测试成熟度模型(TMM)研究
软件测试成熟度模型(TMM)研究

基于模型的测试综述报告

基于模型的测试综述 2016年1月

摘要 面向对象软件开发应用越来越广泛,自动化测试也随之被程序员认可和接受,随之而来的就是基于UML的软件开发技术的大范围普及和基于模型的软件测试技术的普遍应用。基于模型的测试是软件编码阶段的主要测试方法之一,具有测试效率高、排除逻辑复杂故障测试效果好等特点。本文描述了基于模型的测试的模型以及建模标准,并介绍基于模型的测试的基本过程以及支持工具,同时通过七个维度对基于模型的测试方法进行描述。最后分析基于模型的测试的优缺点并列举了应用案例。 关键词:软件测试,基于模型的测试,软件模型,测试工具

目录 摘要................................................ I 1 引言 (2) 2 基于模型的测试、模型以及建模标准 (2) 2.1基于模型的测试 (2) 2.2基于模型的测试的模型 (3) 2.3建模标准 (4) 3 基于模型的测试的基本过程及支持工具 (5) 3.1基于模型的测试的基本过程 (5) 3.2支持工具 (6) 4 分类 (7) 4.1 模型主体 (7) 4.2 模型冗余程度 (7) 4.3 模型特征 (7) 4.4 模型表示法 (7) 4.5 测试用例选择标准 (8) 4.6 测试用例生成技术 (8) 4.7 联机、脱机测试用例生成 (9) 5 基于模型的测试的工具Spec Explorer (9) 5.1 Spec Explorer (9) 5.2 连接测试用例和待测系统 (9) 5.3 静态模型和实例模型 (11) 6 基于模型的测试的优缺点 (11) 参考文献 (13)

软件能力成熟度模型(CMM)

CMM是Capability Maturity Model for Software的简称,中文叫“软件能力成熟度模型”,是对组织软件过程能力的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化,使企业能够更好的实现商业目标。它侧重于软件过程开发的管理及软件工程能力的改进与评估,因此 CMM被用作评价软件承包商能力并帮助组织改善软件过程质量,是目前国际上最流行、最实用的一种软件生产过程标准,成为当今企业从事规模软件生产不可缺少的一项内容。 CMM是由美国卡内基-梅隆大学软件工程研究所(CMU SEI)研究制定,并在全世界推广实施的一种软件评估标准,主要用于软件开发过程和软件开发能力的评估和改进。CMM把软件开发过程的成熟度由低到高分为五级,等级越高,表明该企业软件开发失败风险越低,整体开发时间越短,并能减少开发成本,降低错误发生率,提高产品质量。 按照《使用软件工程》的标准,CMM将软件分为5个等级:(如图一所示) 图一 1.初始级(initial) 工作无序,项目进行过程中常放弃当初的规划 管理无章,缺乏健全的管理制度 开发项目的成效不稳定,产品的性能和质量依赖于个人能力和行为。 2.可重复级(Repeatable) 管理制度化,建立了基本的管理制度和规程,管理工作有章可循 初步实现标准化,开发工作较好的实施标准

稳定课跟踪,新项目的计划和管理基于过去的实践经验,具有重复以前成功项目的环境和条件 3.已定义级(Defined) 开发的过程,包括技术工作和管理工作,均已实现标准化,文档化。 建立了完善的培训制度和专家评审制度 全部技术活动和管理活动均可稳定实施 项目的质量,进度和费用均可控制。 对项目进行中的过程,岗位和指责均有共同的理解。 4.已管理级(Managed) 产品和过程已建立了定量的质量目标。 过程中活动的生产率和质量是可度量的。 已建立过程数据库。 已实现项目产品和过程的控制 可预测过程和产品质量趋势。 5.优化级(Optimizing) 可集中精力改进过程,采用新技术,新方法。 拥有防止出现缺陷,识别薄弱环节以及加以改进的手段 可取得过程有效性的统计数据,并可据此进行分析,从而得到更佳方法。 目前业界的通行标准:每千行源代码所包含的BUG数,CMM1级为11.95个,CMM2为5.52个,CMM3为2.39个,CMM4为 0.92个,而CMM5则只有0.32个。在可靠性提高的同时,CMM5软件开发周期是CMM1的36%,而生产成本是CMM1的19%,平均每个软件开发人员的生产率会提高四倍。

软件测试过程模型

软件测试过程模型 发布时间: 2010-7-27 11:02 作者: 未知来源: 51Testing软件测试网采编 字体: 小中大| 上一篇下一篇| 打印| 我要投稿| 每周一问,答贴有奖 目前主流的开发模型主要有:瀑布模型、原型模型、螺旋模型、增量模型、渐进模型、快速软件开发(RAD)以及Rational统一过程(RUP)等,这些模型对于软件开发过程具有很好的指导作用,但是,非常遗憾的是,在这些过程方法中,并没有充分强调测试的价值,也没有给测试以足够的重视,利用这些模型无法更好地指导测试实践。软件测试是与软件开发紧密相关的一系列有计划的系统性的活动,显然软件测试也需要测试模型去指导实践。下面对主要的模型做一些简单的介绍。 V模型 V模型是最具有代表意义的测试模型。在传统的开发模型中,比如瀑布模型,人们通常把测试过程作为在需求分析、概要设计、详细设计和编码全部完成后的一个阶段,尽管有时测试工作会占用整个项目周期的一半的时间,但是有人仍然认为测试只是一个收尾工作,而不是主要过程。V模型的推出就是对此种认识的改进。V模型是软件开发瀑布模型的变种,它反映了测试活动与分析与分析和设计的关系,从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系,如模型图中所示,图中的箭头代表了时间方向,左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即各测试过程的各个阶段。 V模型的软件测试策略既包括低层测试又包括了高层测试,低层测试是为了源代码的正确性,高层测试是为了使整个系统满足用户的需求。 V模型指出,单元和集成测试是验证程序设计,开发人员和测试组应检测程序的执行是否满足软件设计的要求;系统测试应当验证系统设计,检测系统功能、性能的质量特性是否达到系统设计的指标;由测试人员和用户进行软件的确认测试和验收测试,追溯软件需求说明书进行测试,以确定软件的实现是否满

软件能力成熟度模型

第一讲:软件能力成熟度模型 沈阳东软软件股份有限公司软件工程过程组 编者按:CMM(Capability Maturity Model,能力成熟度模型)是由美国卡内基-梅隆大学软件工程研究所推出的评估软件能力与成熟度的一套标准。该标准基于众多软件专家的实践经验,侧重于软件开发过程的管理及工程能力的提高与评估,是国际上流行的软件生产过程标准和软件企业成熟度等级认证标准。 目前,CMM认证已经成为世界公认的软件产品进入国际市场的通行证。国务院发布的鼓励软件产业发展的18号文件中也特别指出了对企业进行CMM认证的支持。今年3月,联想通过了CMM 2认证,6月,东软股份通过了CMM 3级评估,这些标志着CMM认证在我国已经取得初步进展。 为推动我国软件产业的发展,促进软件企业向正规化和国际化迈进,进一步引入和推广CMM认证,本报与沈阳东软软件股份有限公司合作,共同开办“CMM认证”系列讲座。从本期开始,本报将大约分7期在“技术讲座”栏目中针对我国软件企业的特点,结合CMM认证在东软股份的应用实战,阐述CMM认证的实施方法和策略。 早在20世纪60年代中期,人们就发现软件的生产出现了“问题”,主要表现在生产过程不规范,缺乏管理。后来,人们在软件工程方法学中引入了工程的概念、原理、技术和方法,这种思想在一定程度上

解决了软件生产过程中遇到的问题。但是直至80年代还是没有提出一套管理软件开发的通用原则,软件管理不善的问题依旧在大范围内存在。 为了保证软件产品的质量,80年代中期,美国联邦政府提出对软件承包商的软件开发能力进行评估的要求。在Mitre公司的帮助下,1987年9月,美国卡内基-梅隆大学软件工程研究所(CMU/SEI)发布了软件过程成熟度框架,并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度提问单。4年之后,SEI将软件过程成熟度框架进化为软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM)。1991年8月,SEI发布了最早的SW-CMM v1.0。经过两年的试用,1993年SEI正式发布了SW-CMM v1.1,这是目前使用最为广泛的版本。软件能力成熟度模型基于众多软件专家的实践经验,是组织进行软件过程改善和软件过程评估的一个有效的指导框架。 CMM的管理思想背景 SW-CMM不仅是一个模型,一个工具,它更代表了一种管理哲学在软件工业中的应用。SW-CMM的管理思想来源于已有60多年历史的产品质量管理。1930年,Walter Sheward 率先提出了一整套基于统计学原理的质量控制方法,这些方法后来经过W. Ewards Deming 和Joseph Juran的发展和实践得到了广泛的应用。Philip Crosby在《质量是免费的》一书中率先提出将质量管理形成成熟度框架的概念,“质量管理成熟度坐标图表” 描述了进行质管实践的5个阶段,表达了质

基于模型的分时段软件测试工具TPT

基于模型的分时段软件测试工具TPT TPT是针对嵌入式系统的基于模型的测试工具,特别是针对控制系统的软件功能测试。TPT支持所有的测试过程:包括测试建模、测试执行、测试评估以及测试报告的生成。 TPT软件由于首创地使用分时段测试(Time Partition Testing),使得控制系统的软件测试技术得以极大提升;同时由于TPT软件支持众多业内主流的工具平台和测试环境,能够更好地利用客户已有的投资,实现各种异构环境下的自动化测试;针对MATLAB/Simulink/Stateflow以及TargetLink,TPT提供了全方位的支持进行模型测试。 PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林,其创始人均在戴姆勒公司拥有十多年的嵌入式软件开发经验。TPT产品曾被评为2005年戴姆勒最佳创新软件,并在戴姆勒、大众、奥迪、保时捷、通用等汽车整车厂及多家零部件企业(如博世、大陆、海拉)中得到广泛应用,如戴姆勒的多个车型的混合动力车的动力总成、电池管理控制器的测试,博世的汽油机和柴油机控制系统测试等。(请登录PikeTec的TPT产品了解更多产品详情。) 北汇信息作为PikeTec的中国合作伙伴,将帮助中国客户借助TPT提升嵌入式控制系统的开发效率。 分时段测试方法 分时段测试(Time Partition Testing)是一种采用分时段对软件进行测试和验证的测试方法,主要被用于嵌入式系统中基于模型的模块测试、集成测试、系统测试和回归测试。 通常软件测试的一种分类是静态测试和动态测试。静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。例如QAC C/C++、Logiscope等软件都属于静态测试工具。

2017年4月 软件能力成熟度模型(CMM) 试卷

2017年4月高等教育自学考试福建省统一命题考试 软件能力成熟度模型(CMM) 试卷 (课程代码07021) 本试卷满分100分,考试时间l50分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。 3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。 4.合理安排答题空间,超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共l0小题,每小题2分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分。 1.处于CMM第3级的软件机构的过程能力可以概括为 A.有纪律的过程 B.标准化的过程 C.可预测的过程 D.持续改进的过程 2.根据计划的类型,属于正规计划的是 A.风险管理计划 B.技术管理计划 C.同行评审计划 D.质量保证计划3.定量过程管理的中心是 A.产品 B.市场 C.技术 D.过程 4.属于可重复级的关键过程域是 A.定量过程管理 B.软件综合管理 C.软件配置管理 D.技术更新管理5.下列选项中,属于项目管理监督实践的关键过程域是 A.关键设计评审 B.培训大纲 C.机构过程定义 D.同行评审 6.SEI所制定的软件改进方法称为IDEAL方法,这里的D是指 A.推进 B.建立 C.行动 D.诊断 7.SSOS项目的软件缺陷预防过程,第3阶段为 A.改正遗漏缺陷的缺陷检测活动 B.检查产品中别处的类似缺陷 C.确定缺陷的技术原因并改正 D.确定并改正缺陷的过程原因 8.CMM关注过程问题,而不是人员问题,CMM直接涉及人的因素仅仅体现在 A.技术 B.市场 C.培训 D.产品 9.CMM的共同特性中,与项目执行唯一相关的属性是 A.测量分析 B.执行活动 C.执行能力 D.验证实现 10.CMM估价方法的最后一步是 A.制作KPA剖面图 B.填写成熟度问卷 C.现场访问会谈 D.进行响应分析

软件测试流程方案

软件测试流程方案 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

软件测试流程实施方案1.流程的意义 从一个软件企业的长远发展来看,如果要提高产品的质量首先应当从流程抓起,规范软件产品的开发过程。这是一个软件企业从小作坊的生产方式向集成化规范化的大公司迈进的必经之路,也是从根本上解决质量问题,提高工作效率的一个关键手段。 软件产品的开发同其它产品(如汽车)的生产有着共同特性,即需要按一定的过程来进行生产。在工业界,流水线生产方式被证明是一种高效的,且能够比较稳定的保证产品质量的一种方式。通过这种方式,不同的人员被安排在流程的不同位置,最终为着一个目标共同努力,这样可以防止人员工作间的内耗,极大的提供工作效率。并且由于其过程来源于成功的实例,因此其最终的产品质量能够满足过程所设定的范围。软件工程在软件的发展过程中吸取了这个经验并把它应用到了软件开发中,这就形成了软件工程过程,简单的说就是开发流程。 不管我们做哪件事情,都有一个循序渐进的过程,从计划到策略到实现。软件流程就是按照这种思维来定义我们的开发过程,它根据不同的产品特点和以往的成功经验,定义了从需求到最终产品交付的一整套流程。流程告诉我们该怎么一步一步去实现产品,可能会有那些风险,如何去避免风险等等。由于流程来源于成功的经验,因此,按照流程进行开发可以使得我们少走弯路,并有效的提高产品质量,提高用户的满意度。 目前流行的流程方法有很多种,如瀑布模型、螺旋模型、RUP模型、IPD流程等,不同的过程模型适合于不同类型的项目。 2.测试工作流程图 测试工作总体流程图

07021_2012_7 _软件能力成熟度模型(CMM)

2012年7月高等教育自学考试福建省统一命题考试 软件能力成熟度模型(CMM) 试题 课程代码:07021 本试卷满分100分,考试时间150分钟。 考生答题注意事项: 1.本卷所有试卷必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。 3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。 4.合理安排答题空间,超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共l0小题,每小题2分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡” 的相应代码涂黑。未涂、错涂或多涂均无分。 1.软件内部过程改进大纲中关键性的一步是 A.软件能力评价B.软件过程评估 C.软件质量管理D.技术更新管理 2.软件过程生成计划中产品的内在能力是 A.软件过程效能B.软件过程能力 C.软件过程管理D.软件过程成熟度 3.下列属于已管理级的关键过程域是 A.定量过程管理B.机构过程定义 C.预防缺陷D.同行评审 4.软件质量管理的中心是 A.技术 B.市场 C.产品 D.过程 5.包含正规计划的关键过程域是 A.缺陷预防B.技术更新管理 C.组间协调D.过程更改管理 6.CMM关注过程问题,而不是人员问题,CMM直接涉及人的因素仅仅体现在 A.技术 B.市场 C.培训 D.产品 7.CMM的共同特性中,与项目执行唯一相关的属性是 A.执行约定 B.执行活动 C.执行能力 D.验证实现 8.SSOS项目的软件缺陷预防过程,第1阶段为 A.确定缺陷的技术原因并改正B.确定并改正缺陷的过程原因 C.改正遗漏缺陷的缺陷检测活动D.检查产品中别处的类似缺陷、 9.CMM估价方法的第l步是 A.填写成熟度问卷B.进行响应分析 C.现场访问会谈D.选择估值小组 10.软件过程的量化反馈出现在 A.第2级B.第3级C.第4级D.第5级

软件测试过程管理-考题

软件测试过程管理-考题-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

一、软件测试过程管理 1. 关于软件测试模型,描述正确的是(C) A. V模型测试的对象就是程序本身,测试与开发可以同一阶段进行 B. W模型测试的对象是程序,需求、设计等,可以支持迭代的开发模型 C. H模型软件测试过程活动完全独立,贯穿产品整个生命周期,与其他流程并发地进行。 D. X模型是事先计划再进行测试。 2. 制定测试计划的步骤:(D) A. 确定项目管理机制预计测试工作量测试计划评审 B. 确定测试范围确定测试策略确定测试标准、预计测试工作量 C. 确定测试构架确定项目管理机制预计测试工作量测试计划评审 D. 确定测试范围确定测试策略确定测试标准确定测试构架确定项目管理机制预计测试工作量测试计划评审 3、编写测试计划的目的是:(ABC)(多选) A、使测试工作顺利进行 B、使项目参与人员沟通更舒畅 C、使测试工作更加系统化 D、软件工程以及软件过程的需要 E、软件过程规范化的要求 F、控制软件质量 4、某公司采用的软件开发过程通过了CMM2认证,表明该公司(C)。 A. 开发项目成效不稳定,管理混乱 B. 对软件过程和产品质量建立了定量的质量目标 C. 建立了基本的项目级管理制度和规程,可对项目的成本、进度进行跟踪和控制 D. 可集中精力采用新技术新方法,优化软件过程 5. (B )可以作为软件测试结束的标志。 A.使用了特定的测试用例B.错误强度曲线下降到预定的水平C.查出了预定数目的错误D.按照测试计划中所规定的时间进行了测试 6.软件测试计划的内容应包括(D)。 A. 测试目的、背景 B. 被测软件的功能、输入和输出 C. 测试内容和评价标准 D. 以上全部 7.下面不属于软件测试过程中的输入类的是(B)。 A. 软件配置 B. 测试用例 C. 测试配置 D. 测试工具 8. 下列不属于测试需求分析阶段的输入的是(A)。 A. 软件测试的方法与规范 B. 软件需求规格说明 C. 软件测试计划 D.软件设计说明

(Model Base Design)基于模型的设计

什么叫基于模型的设计? 为什么要基于模型的设计? 基于模型的设计过程中,需要做什么事情? 再问几个小问题: 模型验证是否必要? 模型验证有哪些工作可以做? 模型验证是否一定需要被控对象模型? 代码生成效率如何? 底层驱动是否要建模? Embedded Coder(以前的RTW Embedded Coder)支持哪些芯片? MIL、SIL、PIL、HIL的目的和实现方式? 如何定点化? 如何做代码集成? 什么叫基于模型的设计? 这是一个很大的话题,因为本人能力所限,仅讨论使用Simulink模型开发嵌入式软件的设计过程。也就是说,我只能聊基于模型的嵌入式软件设计。 我的理解是,通过对算法建模进行软件设计的过程,都可以叫基于模型的设计。 当然,如果仅限于算法建模,把Simulink/Stateflow当做Visio使用,而不去进行其他环节的工作,这样的基于模型设计是不完整的,可能对你的开发效率不会有很大的提升。 如果想通过基于模型的设计提升软件开发团队的开发效率,提高软件品质,我觉得至少有如下几点可以考虑: 算法建模 算法模型的验证 文档自动化 代码生成 代码和模型的等效性验证。 传统的开发过程中,我们有一个环节,需求捕获,也即,从系统需求分解出软件需求。 在基于模型的设计过程中,我们同样可以通过分析系统需求,获得软件需求。 当然,根据系统需求的详细程度,我们可以考虑是否要写专门的软件需求。 在基于模型的软件设计中,我们主要关心的是系统的功能需求,或者说可以通过软件实现的功能需求。如果这部分需求在系统需求文档里已经有非常清楚的定义,那么我们可以以系统需求文档作为依据建立模型。 当然,如果系统需求不是足够清楚,那我们有必要编写专门的软件需求文档。 如果不考虑Simulink/Stateflow的应用上的问题,也就是说,如果我们都是熟练的Simulink/Stateflow用户,那么建模过程的主要工作是需求分析,通俗点讲,需求弄清楚了,建模也就是非常简单的事情了。 当然,建模的时候,要考虑未来的验证、实现以及后期维护的问题。 我个人的体会,这个阶段,不要着急建模,一定要先弄清需求,另外,建模的时候,模型架构非常重要。

软件测试模型

软件测试模型 软件测试模型 常见的软件测试模型包括V模型、W模型、H模型、X模型和前置模型。 V模型是最具有代表意义的测试模型。V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系。 ?从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。 ?左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升的部分,即各测试过程的各个阶段。 用户需求验收测试 需求分析和系统设计确认测试和系统测试 概要设计集成测试 详细设计单元测试 编码 1、V模型 在软件测试方面,V模型是最广为人知的模型,尽管很多富有实际经验的测试人员还是不太熟悉V模型,或者其它的模型。V模型已存在了很长时间,和瀑布开发模型有着一些共同的特性,由此也和瀑布模型一样地受到了批评和质疑。V模型中的过程从左到右,描述了基本的开发过程和测试行为。V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。局限性:把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现.

V模型问题: 1.测试是开发之后的一个阶段。 2.测试的对象就是程序本身。 3.实际应用中容易导致需求阶段的错误一直到最后系统测试阶段才被发现。 4.整个软件产品的过程质量保证完全依赖于开发人员的能力和对工作的责任心,而且 上一步的结果必须是充分和正确的,如果任何一个环节出了问题,则必将严重的影响整个工程的质量和预期进度 仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段 忽视了测试对需求分析,系统设计的验证,一直到后期的验收测试才被发现。 现代化的V模型依托计算机辅助控制系统设计(CACSD:Computer-Aided Control System Design),将计算机支持工具贯穿于控制系统开发测试的全过程。计算机不仅可以辅助控制系统设计,进行方案设计和离线仿真,还用于实时快速控制原型、产品代码生成和硬件在回路测试。这里“V”代表着“Verification”和“Validation”,这样就形成一套严谨完整的系统开发方法 第一阶段功能需求定义和控制方案设计 在传统方法中,这一过程的产物就是几千字甚至几万字的文字说明。在现代方法中为了避免文字说明的模糊性及理解性错误,详细说明将采用模型方式,可以用信号流图的方式(Simulink模型)进行定义。控制方案的设计也不再采用过去的那种先将对象模型简化成手工可以处理的形式,再根据经验进行手工设计的方式,而是用诸如MATLAB/SIMULINK等计算机辅助建模及分析软件建立对象尽可能准确的模型,并进行离线仿真,从而避免了传统设计过程中,对象过于简化带来的设计方案无法满足实际对象要求的尴尬局面。 第二阶段快速控制原型(RCP) 按现代设计方法,方案设计结束后,无须等待软件工程师的编程和随后的代码硬件集成,而是利用计算机辅助设计工具自动将控制方案框图转换为代码并自动下载到硬件开发平台,从而快速实现控制系统的原型。原型中包括实际系统中可能的各种I/O,软件及硬件中断等实时特性。之后,就可以利用计算机辅助试验测试管理工具软件进行各种测试,以检验(Validation)控制方案对实际对象的控制效果,并在线优化控制参数。此时即使模型需要大规模修改,重新形成测试原型也只需要几分钟的时间。这样在最终实现控制方案之前,就可基本确认最终方案和效果,避免过多的资源浪费和时间消耗。 第三阶段生成代码 传统的人工编程很容易引入缺陷,速度较慢;现代开发方法则不同,产品代码的大部分由机器自动生成。对大多数工程师而言,如果能够加快开发速度,损失代码的部分实时运行效率是可以接受的,而且机器自动编码,很容易避免人为的各种错误。 第四阶段硬件在回路仿真(HILS) 有了控制产品的初样,还必须对其进行全面综合的测试,以对照确认(Verification)产品与实际指标要求,特别是故障情况和极限条件下的测试。

软件成熟度国军标GJB5000A

GJB5000A-2008 军用软件研制能力 成熟度模型概述 谢新华 中科院计算所培训中心 2010 年8 月北京

目录 第一节GJB-5000A能力成熟度基本概念 (3) 1.1 软件过程的基本概念 (3) 1.2 能力成熟度模型的基本概念 (5) 1.3军用软件研制能力成熟度模型框架 (7) 1.4 理解成熟度等级 (10) 1.5 共用目标和共用实践 (11) 1.6 善于书写良好的文档 (13) 第二节过程域的基本框架 (16) 2.1 过程域部件 (16) 2.2 过程管理类过程域之间的关系 (18) 2.3 项目管理类过程域之间的关系 (19) 2.4 工程类过程域之间的关系 (21) 2.5 支持类过程域之间的关系 (25) 第三节已管理级成熟度的过程域 (27) 3.1项目策划(PP)过程域 (27) 3.2 项目监控(PMC)过程域 (33) 3.3测量与分析(MA)过程域 (39) 3.4配置管理(CM)过程域 (43) 3.5过程和产品质量保证(PPQA)过程域 (47) 3.6需求管理(ReqM)过程域 (52) 3.7供方协议管理(SAM)过程域 (55) 第四节过程改进计划 (62) 结语 (63)

第一节GJB-5000A能力成熟度基本概念 1.1 软件过程的基本概念 一个大型软件项目要成功,很大程度上依赖于正确而且合适的软件过程,首先的问题是什么是软件过程呢? 1,软件过程的定义与概念 1)过程的定义系统从一个状态(始态)变成另一个状态(终态),我们就说:发生了一个过程(Process)。 过程是一种手段,通过该手段可以把人、方法与规程、技术与工具进行集成,以产生一种所期望的结果。 换句话说,过程就是人们使用相应的方法、规程、技术、工具等将原始材料(输入)转化成用户需要的产品(输出)。过程与产品存在因果关系。即好的过程才能得到好的产品,而差的过程只会得到差的产品。 2)过程的特征任何过程都应该 具备8 个特征: ?任何一个过程都有输入和输出; ?输入是实施过程的基础、前提和条件; ?输出是完成过程的结果; ?输出可能是有形产品,也可能是无形产品,如软件或服务; ?过程本身是增值转换,不增值的过程没有意思; ?完成过程必须投入适当的资源和活动,是换取过程增值或结果有效的代价 ?过程存在可测量点; ?所有的工作和活动都是通过过程来完成的。若干目的上相互关联的过程系统,我们称之为过程域,广义的软件过程包括管理过程和生产 过程。主要的软件过程域如下: ?工程类的主要过程域:需求开发、系统设计、软件实现、软件测试、软件维护等等; ?管理类的主要过程域:项目规划、项目监控、需求管理、质量管理、配置管理等等。 上述过程域中的任何活动都会影响产品的质量、生产率和成本。 3)软件过程能力软件过程能力描述通过遵循软件过程能够实现预期结果的程度。一个组织的软件过程能力提 供一种预测该组织承担下一个软件项目时最可能的预期结果的方法。软件过程性能表示遵循软件过程所得到的实际结果。所以,软件过程性能关注已得到的结果,而软件过程能力则关注预期结果。由于一个特定项目的属性和执行该项目的环境所限,该项目的实际性能可能并不充分反映组织的整个过程能力,即项目的能力受限于它的环境。

软件测试过程和管理(二)

[模拟] 软件测试过程和管理(二) 选择题 第1题: 下列哪个不是测试环境的组成要素______。 A.软、硬件 B.技术文档 C.测试工具 D.网络环境 参考答案:B 第2题: 以下活动中,不属于测试计划的内容是______。 A.为测试各项活动制定一个实现可行的综合的计划 B.确定测试过程中每个测试阶段的测试完成标准 C.识别测试活动中各种风险,并给出风险应对措施 D.分析测试需求,并制定测试方案 参考答案:D 第3题: 下列有关测试过程抽象模型的描述中正确的是______。 A.V模型指出,软件测试要尽早准备,尽早执行,只要某个测试达到了准备就绪点,测试执行活动就可开展 B.W模型强调,测试伴随着整个软件开发周期同步进行,而且测试的对象不仅仅是程序,需求、设计也同样需要测试 C.H模型指出,单元测试和集成测试应检测程序的执行是否满足软件设计的要求 D.X模型提出针对完整的程序进行集成的编码和测试 参考答案:B 第4题: 下列哪个选项不属于测试计划要达到的目标______。 A.为测试各项活动制定一个现实可行的、综合的计划,包括每项测试活动的

对象、范围、方法、进度和预期结果 B.为项目实施建立一个组织模型,并定义测试项目中每个角色的责任和工作内容 C.为测试执行活动设计测试方案,编制测试用例 D.确定测试需要的时间和资源,以保证其可获得性和有效性 参考答案:C 第5题: 下列有关软件测试设计的说法中,正确的是______。 A.测试方案应考虑是否可行、是否有效和是否能够达到预期的测试目标 B.基于判定表的测试用例设计方法是白盒测试用例设计方法 C.测试方案设计中可以忽略软件系统的实际使用环境 D.测试开发不是测试用例设计的工作内容 参考答案:A 第6题: 下列有关测试项目结束与定稿测试报告的说法中,正确的是______。 A.测试执行完成,测试人员向测试负责人提交测试报告后,测试项目就可以结束了 B.对当前软件产品存在的缺陷进行逐个分析,认定剩余缺陷对产品质量无重大影响后,即可定稿测试报告 C.审查测试全过程,检查测试计划和内容无遗漏后,即可定稿测试报告 D.当所有测试计划内容完成,测试覆盖率达到要求及产品质量达到定义的标准,即可定稿测试报告 参考答案:D 第7题: 下列哪项工作与软件缺陷管理和追踪无关______。 A.对缺陷应该包含的信息条目、状态分类等进行完善设计 B.通过软件系统自动发送通知给相关开发和测试人员,使缺陷得到及时处理 C.对测试用例的执行结果进行记录和追踪 D.通过一些历史曲线和统计曲线来分析和预测未来的缺陷发展情况 参考答案:C

软件能力成熟度模型:CMM五个级别介绍(精)

软件能力成熟度模型:CMM 五个级别介绍 CMM 为企业的软件过程能力提供了一个阶梯式的进化框架, 阶梯共有五级。第一级只是一个起点,任何准备按 CMM 体系进化的企业都自然处于这个起点上,并通过它向第二级迈进。除第一级外,每一级都设定了一组目标, 如果达到了这组目标,则表明达到了这个成熟级别,可以向下一级别迈进。 从纯粹的个人行为发展到有计划有步骤的组织行为… 第一级:初始级 (Initial; 第二级:可重复级 (Repeatable; 第三级:已定义级 (Defined; 第四级:受管理级 (Managed; 第五级:优化级 (Optimizing。 初始级 初始级的软件过程是未加定义的随意过程, 项目的执行是随意甚至是混乱的。也许有些企业制定了一些软件工程规范, 但若这些规范未能覆盖基本的关键过程要求, 且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。 关注点: 工作方式处于救火状态,不断的应对突如其来的危机; 工作组:软件开发组、工程组; 提高: 需要建立项目过程管理,建立各种计划,开展 QA 活动。

可重复级 根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题而是管理问题。因此, 第二级的焦点集中在软件管理过程上。一个可管理的过程则是一个可重复的过程, 可重复的过程才能逐渐改进和成熟。可重复级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面; 其中项目管理过程又分为计划过程和跟踪与监控过程。 通过实施这些过程,从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。 关注点: 规则化 引入需求管理、项目管理、质量管理、配置管理、子合同管理等; 引入工作组:测试组、评估组、质量保证组、配置管理组、合同组、文档支持组、培训组; 提高: SEPG 、建立软件过程库和文档库 已定义级 在可重复级定义了管理的基本过程, 而没有定义执行的步骤标准。在第三级则要求制定企业范围的工程化标准, 并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程, 裁剪出与项目适宜的过程, 并且按照过程执行。过程的裁剪不是随意的,在使用前必须经过企业有关人员的批准。 关注点: 文档化,标准的一致的;

软件产品测试历年试题

2008年4月软件产品测试 一、填空题(每题1分,共15分) 1.分支覆盖准则要求每个分支至少执行________________次。 2.软件危机产生的原因有_______________________和软件开发的方法与技术两个方面。 3.白盒测试与黑盒测试都是_______________测试。 4.边界值分析法是____________________测试用例设计方法。 5.软件测试能做好的三件事是证明,监测和_________________。 6.软件测试的目的是________________________________________________________。 7.软件测试的过程模型有V,W和____________等三种。 8.确认测试又称为__________________。 9.等价类的边界即是___________________的值。 10.文档测试是不可缺少的,它有助于提高软件的_____________________。 11.回归测试的基本思想是使______________________中的每一个用例得到执行。 12.测试组的主要职责是_________________软件程序中的错误。 13.WinRunner是__________________测试的工具。 14.软件测试的工作量占总工作量的__________________。 15.负载测试是一种_____________测试。 二、单项选择题(每小题1分,共10分) 1.性能测试的基本目标是() A、发现错误 B、提高软件性能 C、纠正错误 D、改正程序结构 2.软件测试与改正错误可以在软件生命周期的() A、规划阶段 B、任何阶段 C、设计阶段 D、维护阶段 3.在发现缺陷并改正之后开展的软件测试是() A、回归测试 B、性能测试 C、增长测试 D、功能测试 4.完整性测试的主要目的是() A、界面是否完整 B、检查文档 C、发现错误 D、与竞争产品比较 5、白盒测试是()阶段的组成部分 A、规划 B、设计 C、维护 D、编码 6、在为数字输入设计测试用例时,总会用0作为一个用例,该用例是()用例 A、负载测试 B、等价类 C、错误猜测 D竞争条件 7.用户界面测试一般用()策略 A、白盒测试 B、黑盒测试 C、灰盒测试 D ABC都可 8.维护阶段的测试大部分是()的工作 A、功能测试与性能测试 B、功能测试与系统测试 C、集成测试与系统测试 D、性能测试与集成测试 9.文档是软件产品的一部分,有效文档的益处有() A、改善可用性 B、减少客户支持支出 C、提高可维护性 D、ABC都可 10.测试计划的制定应在()之后。 A、规划评审 B、需求确定 C、设计完成 D、编码完成 三、名词解释题(每小题3分,共15分) 1.黑盒测试

软件过程及能力成熟度评估

软件过程及能力成熟度评估 1 软件过程及能力成熟度评估 软件过程及能力成熟度评估”(简称SPCA是软件过程能力评估和软件能力成熟度评估的统称,是信息产业部会同国家认证认可监督委员会在研究了国际软件评估体制,尤其是美国卡内基-梅隆大学SEI所建立的能力成熟度模型能力成熟度模型CMMI,并考虑国内软件产业实际情况所建立的软件评估体系。 SPCA依据的评估标准是SJ/T11234和SJ/T11235这两个标准是在深入研究了CMM、CMMI、ISO/IECTR15504 ISO9OO0 TL 9000以及其他有关的资料和文件以及国外企业实施CMM的实际情况后,结合国内企业的实际情况,以CMMI 作为主要参考文件最终形成的,这两个行业标准由信息产业部于2001 年5月1 日发布实施。 SPCA评估遵循《软件过程及能力成熟度评估指南》,该指南是国家认监委和信息产业部2002年8月共同发布的利用SJ/T11234或SJ/T11235实施评估的操作指南。评估过程由经过培训的专业队伍以评估参考模型作为确定过程的强项和弱项的基础而对一个或多个过程进行检查。从不同用途考虑,评估分为内部过程改进评估和顾客选择评价两种。 目前,国家认证认可监督管理委员会(CNCA和信息产业部已经联合发布《软件过程及能力成熟度评估监督管理办法》,CNCA授权的中国认证机构国家认可委员会(CNAB和中国国家认证人员培训认可委员会(CNAT,已制定和试点实施软件过程及能力成熟度评估”认可规则,并成立SPCA工作组,以推动中国软件过程及能力成熟度评估的实施。 2实施SPCA勺作用和意义软件过程及能力成熟度评估可以规范软件开发过程及其管理、规范市场竞争、帮助企业进行内部软件过程改进、降低软件开发风险、增加软件企业的市场竞争力。 我国政府一直重视软件产业的规范和发展,强调提高我国软件开发和软件产品质量的重要性。国务院于2000年6月颁发的“18号文件”《鼓励软件产业和 集成电路产业发展的若干政策》第五章第十七条明确提出鼓励软件出口型企业通过

CMMI软件能力成熟度模型集成认证指南

南京福瑞泽信息科技有限公司CMMI软件能力成熟度模型集成认证指南 一、 简介 CMMI全称是Capability Maturity Model Integration, 即软件能力成熟度模型集成(也有称为:软件能力成熟度集成模型),于2002年正式发布,是由美国国防部与卡内基-梅隆大学和美国国防工业协会共同开发和研制的,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。 CMMI模型已经成为业界主要的过程管理模型,CMMI模型有两种表示方式,连续表示模型和分级表示模型。其中分级表示模型依次划分为五个等级(初始级、可重复级、已定义级、已管理级、优化级),标志着软件企业能力成熟度的五个层次。级别越高,表示软件组织的成熟能力也越高,CMMI5是目前世界软件界对能力成熟度要求最高、申请难度最大、级别最高的评估,通过CMMI5级评估标志着本公司的质量管理和过程改进已跻身于全球软件业的顶尖水平。 软件企业申请认证CMMI不同的级别标准要求,要审时度势自身情况。一方面了解公司现有质量体系、实施过程、实施效果的运行情况;另一方面要根据企业规模、公司实力、管理需求等综合要素,不可好大喜功,一味选择CMMI更高级别的认证。在申请的CMMI认证时,有的企业从CMMI2开始、有的企业从CMMI3开始、有的CMMI3通过后跳过CMMI4而直接申请CMMI5、有的就从CMMI2、CMMI3、CMMI4、CMMI5逐步申请认证。 二、 申报条件 符合下列条件的服务外包企业可提出申请: 1、有进出口经营权或对外经济合作经营资格; 2、近两年在进出口业务管理、财务管理、税收管理、外汇管理、海关管理等方面无违法行为; 3、已与一家或多家服务外包发包商签订中长期提供服务外包业务合同,企业提供服务外包业务年收入不低于150万美元(离岸服务外包业务收入占70%以上); 4、具有服务外包承接能力及服务外包市场开拓和项目管理人员,大学(含大专)毕业及以上学历员工占公司员工总数70%以上。 (一)人力资源 实施中会涉及到EPG过程改进小组、QA、试点项目团队等人力资源: ●专职人员:1-2名 即在CMMI实施推广期内,基本上100%的时间投入。

浅谈GJB5000A军用软件研制能力成熟度模型

浅谈GJB5000A军用软件研制能力成熟度模型 【摘要】GJB5000A是军用软件研制能力成熟度模型,是用于评价军用软件研制能力成熟度的有效工具。通过以过程管理为主线,以持续改进为目标,以监督评估为手段,建立一整套系统化,实用性的管理体系规范,建立稳定、成熟、有效的项目级管理过程,推动软件工程化管理水平持续滚动式向前发展,对研制高性价比、高可靠性和高质量的软件产品提供制度化的体系保障。 【关键词】GJB5000A 成熟度模型 1 概述 和CMMI类似[1],GJB5000A分为1-5级,依次代表了软件研制能力成熟度的强弱。根据GJB5000A二级要求,需要包含如下6个过程域(PA): 需求管理(Requirements Management,ReqM); 项目策划(Project Planning,PP); 项目监控(Project Monitoring and Control,PMC); 过程和产品质量保证(Process and Product Quality Assurance,PPQA); 配置管理(Configuration Management,CM); 测量与分析(Measurement and Analysis,MA)。 下面将结合项目实施情况依次介绍需求管理(ReqM)和项目策划(PP)这两个较重要的过程域。 2 需求管理(ReqM) 需求管理的目的是管理项目的产品或产品部件的需求,并标识出这些需求与项目的计划和工作产品之间的不一致性。 需求管理包括与任务交办方一起制定并维护软件任务书等用户需求,该用户需求是估计、策划、执行和跟踪整个软件生存周期中软件项目活动的依据。 需求管理过程主要可分为如下四个活动: 需求确认:项目组成员、任务交办方以及相关人员一起对需求进行分析,以确保对该需求的理解达成共识。

相关文档
最新文档