《软件测试之软件测试第一章-软件测试概述.ppt》由会员分享,可在线阅读,更多相关《软件测试之软件测试第一章-软件测试概述.ppt(39页珍藏版)》请在三一办公上搜索。
1、软件测试基础,第二讲 庐山真面目,由安博测试空间技术中心http:/,软件测试的定义1979年,Glenford J.Myers:软件测试是为了发现错误而运行程序的过程1983年,IEEE(国际电器电子工程师学会)测试是使用人工或自动的手段来运行或检测某个系统的过程,其目的在于检测它是否满足约定的需求或是比较预期结果与实际结果之间的差别,1.2 什么是软件测试,软件测试的特性挑剔性提高软件质量,尽可能多的发现至今仍未发现的错误复杂性需要考虑全面不彻底性输入量太大输出结果太多软件实现途径太多软件规格说明没有客观标准注:不能证明错误不存在经济性,软件测试的目标和原则测试目标寻找错误,并且是最大可能
2、的找出最多的错误。证明程序中有故障存在,并力求设计出最能暴露错误的测试方案测试不是为了显示程序是好的,而是应该从软件中包含有缺陷和故障这个假定出发去测试程序,从中发现尽可能多的软件故障。,许多人都引用Grenford J.Myers的观点:软件测试是为了发现错误而执行程序的过程;测试是为了证明程序有错,而不是证明程序无错误。一个好的测试用例是在于它能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。,Bill Hetzel提出:测试目的不仅仅是为了发现软件缺陷与错误,而且也是对软件质量进行度量和评估,以提高软件的质量。,测试的目的以最少的人力、物力和时间找出软件中的各种错误与
3、缺陷,通过修正各种错误与缺陷来提高软件质量它也是对软件质量的度量与评价,测试原则 软件测试的原则尚没有标准的说法,大多是经验之谈,一般有下面几条可作为测试的基本原则。(1)所有的测试都应追溯到用户需求。(2)尽早的和及时的测试,应作为软件开发人员的座右铭。(3)设计前应完成测试计划,详细的测试用例定义可在设计模型确定后开始,测试可在代码产生之前进行计划和设计。,(4)测试用例应当由测试数据和与之对应的预期结果组成。(5)在程序提交测试后,应当由专门的测试人员进行测试,避免由程序设计者自行检查程序。(6)测试用例应包括合理的输入条件和不合理的输入条件(7)严格执行测试计划,排除测试的随意性。(8
4、)帕累托法则适用于测试,即测试发现80%的错误可能起源于程序20%模块中。(9)充分注意测试当中的群体和集中现象。(10)避免杀虫剂现象,(11)要对每一个测试结果做全面的检查。(12)完全测试是不可能的,测试需要终止。(13)测试无法显示潜伏的软件缺陷(14)程序修改后要回归测试(15)不是所有软件缺陷都要修复(16)保存测试计划、测试用例、出错统计和最终分析报告,为维护工作提供充分的资料。,测试信息流程,测试停止的标准(1)测试时间超过了预定期限,则停止测试。(2)执行了所有的测试用例,但并没有发现故 障,则停止测试。(3)使用特定的测试用例设计方案,作为判断测 试停止的基础。(4)正面指
5、出了停止测试的具体要求,即停止测 试的标准可定义为查出某一预定数目的故障。(5)根据单位时间内查出故障的数量决定是否停 止测试。,1.3 软件质量保证,软件质量的定义1983年,IEEE软件系统或软件产品满足规定和隐含的与需求能力有关的全部特征和特性。软件产品质量满足用户要求的程度软件各种属性的组合程度用户对软件产品的综合反映程度软件在使用过程中满足用户要求程度,不同人对关注软件质量的侧重面不同,进度、成本、效益,使用质量,中间产品、最终产品维护用户所需,软件质量特性软件质量模型1978年,Walters&McCall提出,面向管理者的软件质量,决定产品质量的软件属性,可以定量化度量的软件属性
6、,McCall软件质量模型,McCall等人对软件的质量特性作了如下定义:正确性可靠性易用性效率易维护性可移植性完整性可测试性灵活性复用性互联性,ISO软件质量度量模型,软件质量管理软件质量管理软件组织在软件产品生产中的质量策划、质量控制、质量保证和质量改进等等与质量有关的相互协调的活动。软件质量管理过程质量计划质量保证质量控制,质量管理的发展阶段(1)产品质量检验阶段(2)统计质量管理阶段(3)全面质量管理阶段,1900,手工操作者,专职检验员,1920,过程统计技术,1931,全面质量管理,1960,2000,以顾客为中心,阶段,时间,质量管理的发展阶段,从质量管理理论的发展历史可以看出:
7、质量管理从单纯的对产品质量进行检验 发展到对产品形成过程进行控制 控制方法从静态发展到动态的、持续的 过程改进 其核心思想已表现为对过程的策划、控 制和过程能力的持续改进,软件能力成熟度模型,软件能力成熟度模型(CMM,Capability Maturity Model):是软件行业标准模型,用来定义和评价软件企业开发过程的成熟度,提供如何做才能够提高软件质量的指导。,CMM的基本原理:CMM将软件组织的过程能力成熟度分为,每一个级别定义一组过程能力目标,并描述要达到这些目标应该采取的各种实践活动。,5个级别,CMM的主要作用:提供了一个软件过程改进的框架。提高效率、降低成本,CMM 五个等级
8、,2、CMM的5个分级标准,CMM的分级结构和其主要特征:初始级:其特点是软件过程无秩序,有时甚至是混乱的。可重复级:已建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。已定义级:用于管理的、工程的软件过程均已实现文档化、标准化,并形成了整个软件组织的标准软件过程。,管理级:软件过程和产品质量有详细的度量标准,软件过程和产品质量得到了定量的认证和控制。优化级:通过对来自过程、新概念和新技术等方面各种有用信息的定量分析,能够不断地、持续性地对过程进行改进。,CMM 内部结构图,ISO 9000 标准简介ISO 9000标准 是为制造行业制定的质量管理和质量评判的一系列标准 定义了一
9、套基本达标的做法,有助于企业能够一致地交付符合客户质量要求的产品(或服务),ISO 9000标准的目标 在于开发过程,而不是产品 关心的是进行工作的组织方式,而不是工作成果.ISO 9000只决定过程的要求是什么,而不管如何达到。即:ISO 9000指出要做什么,但不指出怎样做。,1、ISO 9000标准的构成 ISO 9000系列标准主要由下列标准构成:ISO9000:2000质量管理体系:基础和术语ISO9000:2000质量管理体系:要求ISO9000:2000质量管理体系:业绩改进指南,2、ISO 9000标准的要求(1)开发详细的质量计划和程序,控制配置管理、产品验证、合法性检查、不
10、规范行为和修正措施。(2)准备和接受软件开发计划证书,包括项目定义、产品验证、合法性检查、不规范行为和修正措施。,(3)使用客户容易理解、测试时容易进行合法性检查的用语来表达说明书。(4)计划、开发、编制软件测试计划。(5)开发检测软件是否满足客户要求的方法。(6)实施软件合法性检查和验收测试。(7)维护测试结果的记录。(8)控制调查研究和解决软件缺陷的方式。,(9)证明产品在发布前就绪。(10)开发控制产品发布过程的程序。(11)明确指出和规定应该收集的质量信息。(12)应用统计技术的方法分析软件开发过程。(13)应用统计技术的方法评估产品质量。,3、ISO 9000质量管理的八项原则(1)
11、以客户为关注的焦点(2)领导的作用(3)企业全员的参与(4)过程方法,(5)管理的系统方法(6)持续的改进(7)基于事实的决策策略(8)与供方互利的关系,软件测试管理软件测试作用软件测试管理系统的组成建立软件测试管理体系的步骤,思考,什么是软件测试?软件测试的目的是什么?软件测试有什么特性?测试的信息流程是什么样?什么是软件质量?什么是CMM模型?由几部分组成?什么是ISO9000?,进一步思考,软件测试的过程是什么样呢?,北京测试空间是注册于北京市海淀区高新技术园的软件企业,目前主要业务范围包括软件测试管理工具研发、软件测试项目外包和软件测试专业技术人才培养及派遣。北京测试空间地址:北京市海淀区学院路40号大唐电信测试空间楼联系电话:010-62303223 62303260 62303230,