您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 软件测试模型 SQA CMM
1软件测试基础知识关于软件测试课程软件开发过程软件质量保证2编程大师说:“任何一个程序,无论它多么小,总存在着错误。”初学者不相信大师的话,他问:“如果一个程序小得只执行一个简单的功能,那会怎样?”“这样的一个程序没有意义,”大师说,“但如果这样的程序存在的话,操作系统最后将失效,产生一个错误。”但初学者不满足,他问:“如果操作系统不失效,那么会怎样?”“没有不失效的操作系统,”大师说,“但如果这样的操作系统存在的话,硬件最后将失效,产生一个错误。”初学者仍不满足,再问:“如果硬件不失效,那么会怎样?”大师长叹一声道:“没有不失效的硬件。但如果这样的硬件存在的话,用户就会想让那个程序做一件不同的事,这件事也是一个错误。”3关于软件测试课程有关测试的思考题:软件测试是一门非常重要的学科,主要研究内容是什么?软件测试需要什么样的专业基础软件质量到底是什么?测试的目标是什么?开发一个测试系统之前你是否明白:可以测试什么?应该测试什么?最终能够测试什么?4软件产品的组成1、软件产品需要各种开发投入图1-5获得软件产品的工作示意图产品说明书、产品审查、设计文档、进度计划、上一版本信息反馈、商业竞争对手的同类软件产品情况、客户调查、易用性数据、观察与感受说明书开发过程5软件产品的组成(续)2、客户需求客户需求包括对客户调查所收集的详细信息、以前软件的使用情况及存在的问题、竞争对手的软件产品信息等等。通过分析客户需求,可以确定将要开发的软件产品应该具有哪些功能。3、产品说明产品说明书的作用就是对客户需求信息进行综合描述,并包括用户没有提出、但软件产品本身必须要实现的要求,从而针对产品进行定义并确定其功能。6软件产品的组成(续)4、设计文档构架。即产生描述软件整体设计的文档,包括软件所有主要部分的描述以及相互间的交互方式。数据流示意图。表示数据在程序中如何流动的正规示意图。通常由圆圈和线条组成,所以也称为泡泡图。状态变化示意图。将软件分解为基本状态或者条件的另一种正规示意图,表示不同状态之间的变化的方式。流程图。用图形描述程序逻辑的最常用方式之一。根据详细的流程图编写程序代码简单方便。注释代码。代码注释是便于维护代码的程序员掌握代码的内容和执行方式。7软件产品的组成(续)5、测试文档一般测试文档所包含的内容:测试计划。描述用于验证软件是否符合产品说明书和客户需求的整体方案。测试用例。依据测试的项目,并描述验证软件的详细步骤。软件测试报告。描述依据测试用例找出的问题,通常提交测试报告。归纳、统计和总结。采用图表、表格和报告等形式来描述整个测试过程。8软件产品的组成(续)6、开发进度表软件项目的开发进度通常使用Gantt图表来进行描述。7、软件产品组成部分(1)程序代码(2)帮助文件(3)用户手册(4)样本和示例(5)标签(6)产品支持信息(7)图表和标志(8)错误信息(9)广告与宣传材料(10)软件的安装(11)软件说明文件(12)测试错误提示信息9软件开发涉及的职位项目管理经理:全程负责整个软件项目的开发。系统设计师:设计整个系统构架或软件构思。程序员:负责设计、编写程序,并修改软件中的缺陷。软件测试员/测试师:负责找出并报告软件产品的问题,与开发组密切合作,进行测试并报告发现的问题。技术制作、用户助手、用户培训员、手册编写和文件档案专员:负责编写软件产品附带的文件和联机文档。结构管理和制作人员:负责将程序员编写的全部文档资料合并成一个软件包。10软件生命周期模型软件生存周期定义、计划、实现、稳定化、部署、运行与维护软件生存期模型瀑布模型原型模型增量模型螺旋模型11瀑布模型整个开发包括六个阶段:计划、需求分析、设计、编码、测试、运行维护。六个阶段自上而下、相互衔接,以固定的次序来进行。特点阶段的顺序性和依赖性推迟实现的观点质量保证存在问题不适合需求模糊的系统12原型模型先建立一个能反映用户需求的原型系统,使得用户和开发者可以对目标系统的概貌进行评价和判断,然后对原型进行反复的扩充、改进和求精,最终建立符合用户需求的目标系统。特点快速开发工具循环低成本种类渐进型抛弃型需求采集细化快速设计建造原型用户评价原型原型对原型加工产品样本停止开始13增量模型增量模型中,在每个阶段都生成软件的一个可发布版本。这些阶段是交错进行的。在增量模型中,软件版本是逐步完善的。在原型中,每个阶段是发布一个原型,而在增量模型中,是完成一个正式的版本。分析设计编码分析设计编码测试测试进度14螺旋模型螺旋模型将瀑布模型和快速原型模型结合起来,并且加入了两种模型均忽略的风险分析。螺旋模型的每一周期都包括制定计划、风险分析、实施工程和评审四个阶段。需求计划风险分析风险分析风险分析原型1原型2原型3可运行原型风险分析:评价方案识别风险消除风险累计成本制定计划:决定目标方案限制提交线评审生存期计划开发计划组装测试客户评价软件需求需求确认设计确认验证软件产品设计实现验收测试编码组装测试单元测试实施工程:开发、验证形成产品15软件质量保证质量:是“反映实体满足明确和隐含需要的能力和特性综合”。因此,质量是一种需要,“是一组固有特性满足要求的程度”。软件质量定义满足用户的需求合理进度、成本、功能关系具备扩展性和灵活性,能够适应一定程度的需求变化能够有效的处理例外的情况保持成本和性能的平衡软件错误定义当程序没有实现其最终用户合理预期的功能要求时,就表现为软件错误16错误的几种情况:未将规格说明正确实现。规定的或预期的需求未体现在产品中(可能未将规格说明全面实现,也可能在开发过程中追加了需求。)规格说明并未规定的需求被纳入产品,得到实现。17软件质量保证定义为了确保软件开发过程和结果符合预期的要求,而建立的一系列规程,以及依照规程和计划采取的一系列活动及其结果评价。软件质量保证内容技术方法的应用正式技术评审的实施软件测试标准的执行修改的控制度量记录和记录保存18软件能力成熟度模型软件能力成熟度模型(CMM,CapabilityMaturityModel):——是软件行业标准模型,用来定义和评价软件企业开发过程的成熟度,提供如何做才能够提高软件质量的指导。CMM的基本原理:——CMM将软件组织的过程能力成熟度分为5个级别,每一个级别定义一组过程能力目标,并描述要达到这些目标应该采取的各种实践活动。CMM的主要作用:——提供了一个软件过程改进的框架。根据CMM模型,软件开发者(机构或组织)能够大幅度的提高按计划、高效率、低成本的提交有质量保证的软件产品的能力。19软件能力成熟度模型(续)1、CMM的基本过程概念过程:为达到目的而执行的所有步骤的系列。软件过程:开发和维护软件及其相关产品的一组活动、方法、实践和改革。软件过程结构:对组织标准软件过程的一种高级别描述,它描述组织标准软件过程内部的过程元素之间的顺序、接口、内部依赖等关系,以及与外部过程之间的接口和依赖关系。软件过程元素:用于描述软件过程的基本元素,每一个过程元素包含一组定义的、有限的、封闭的相关任务。软件过程定义:CMM中过程定义的基本概念是定义组织的标准软件过程。20软件能力成熟度模型(续)2、CMM的5个分级标准优化级(5)已管理级(4)已定义级(3)可重复级(2)初始级(1)标准一致的过程不断改进过程可预测的过程有纪律的过程图1-14软件过程成熟度的5个等级21软件能力成熟度模型(续)CMM的分级结构和其主要特征:初始级:其特点是软件过程无秩序,有时甚至是混乱的。可重复级:已建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。已定义级:用于管理的、工程的软件过程均已实现文档化、标准化,并形成了整个软件组织的标准软件过程。管理级:软件过程和产品质量有详细的度量标准,软件过程和产品质量得到了定量的认证和控制。优化级:通过对来自过程、新概念和新技术等方面各种有用信息的定量分析,能够不断地、持续性地对过程进行改进。22软件能力成熟度模型(续)除第一级外,CMM的每一级是按照完全相同的内部结构构成的。成熟度等级为顶层,不同的成熟度等级反映了软件组织的软件过程能力和该组织可能实现预期的程度。在每个成熟度级别中(第1级除外),包含了实现这一级目标的若干关键过程域(KPA)。每一级的每个关键过程域进一步包含若干关键实践(KeyPractice,KP)。无论哪一个KPA,其实践都统一按5个公共特性进行组织,即每一个KPA都包含5类KP,使整个软件过程改进工作自上而下形成一种有规律的步骤。23软件能力成熟度模型(续)关键过程域:是指一系列相互关联的操作活动,这些活动反映了一个软件组织改进软件过程时必须集中力量改进的几个方面。目标:是指某个关键过程域中的关键实践,它表示每一个关键过程域的范围、边界和意图。公共特性:为了完成关键过程域中的实践活动,CMM将其活动分为具有公共特性的5个部分,包括执行约定、执行能力、实施活动、度量和分析以及验收实施。这些部分的特性有效地指定了一个关键区域的实现范围、结构要求和实施内容。关键实践:关键实践就是一些主要实践活动。每个关键过程域最终由关键实践所组成,通过实现这些关键实践来达到关键过程域的目标。
本文标题:软件测试模型 SQA CMM
链接地址:https://www.777doc.com/doc-3650962 .html