收藏 分销(赏)

全套电子课件:软件测试.ppt

上传人:快乐****生活 文档编号:12545204 上传时间:2025-10-28 格式:PPT 页数:284 大小:4.24MB 下载积分:25 金币
下载 相关 举报
全套电子课件:软件测试.ppt_第1页
第1页 / 共284页
全套电子课件:软件测试.ppt_第2页
第2页 / 共284页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,软件测试,传统软件测试和游戏测试在设计测试用例上的区别,最重要的区别:,传统软件测试重点是在功能方面,游戏的侧重点在体验方面:,关卡设计,评价故事设定是否完整,游戏中任务、迷题安排的合理性,场景设计问题,关卡设计等,;,难度设计,评价游戏难度设计是否合理;,游戏模式,评价游戏模式是否多样;,游戏流畅性,评价游戏运行是否流畅,按键延迟的有无,操作有无惯性等,;,按键位置,评价游戏主要功能键位置是否合理顺手或键位可自行设定,。,项目一,软件外包与软件测试行业分析,任务,1,:服务外包与软件外包资料查询,知识内容和要求,:,1,、了解服务外包的内容和分类;,2,、理解软件外包的概念及发展阶段;,5,、掌握需求分析阶段的测试活动;,6,、掌握软件设计阶段的测试活动;,7,、理解软件测试的两面性。,技能内容和要求,:,1,、能够确认自己所承担的工作角色,制定个人克服困难和学习的计划和措施;,2,、能根据掌握客户的实际需求,制作客户需求分析表格,提供合理的系统解决方案,并提供整理后的客户需求分析报告。,1.1,国际化软件,1.1.1,技术术语,软件国际化,在软件设计和文档幵发过程中,使得功能和代码设计能处理多种语言和文化习俗,在创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。,1,、全球化软件,全球化软件也称为国际化软件,全球化(,Globalization,),缩写为,G11N,。,全球化软件是为全球用户设计、面向全球市场发布的具有一致的界面、风格和功能的软件,它的核心特征和代码设计并不仅仅局限于某一种语言和区域用户,可以支持不同目标市场的语言,。,2,、国际化,国际化(,Internationalization,),缩写为“,I18N,”,。,国际化是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,能够在创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。,3,、市场化,市场化(,Marketization,),缩写为,M11N,。,广义,为了将国际化软件实现全球市场的销售和服务而进行的一系列市场宣传、推广、销售、支持、培训和服务的全部过程;,狭义,使软件的核心功能满足某些特定区域市场的过程。,4,、本地化,软件本地化就是对原始编程语言编写的软件代码进行语言翻译和技术处理,为不同地区语言和区域的本地用户量身定做满足其使用习惯的应用软件。,四化之间的关系:,全球化包括国际化、本地化和市场化等过程;,软件本地化和软件国际化构成国际化软件的核心;,软件国际化是顺利实施软件本地化的基础;,只有良好国际化设计的软件才能容易地本地化,1.1.2,国际化软件系统的特征,软件国际化的设计目标之一就是要不断提高软件的本地化能力,同时降低软件本地化难度和成本的最佳方式。良好的软件国际化设计是增强本地化能力的基础,可以降低软件本地化过程的成本,还可以提高软件的质量。,1.1.3,国际化软件开发,1,、国际化软件开发的标准化,软件国际化能力的评分系统,GRC,(,Globalization Report Card,),是基于统一的标准全面的评估软件产品的国际化的能力并给出改进的建议和指导的系统。,2,、国际化软件开发的流程,国际化软件的开发流程分为需求分析、软件设计、软件编码、软件测试、质量保证、软件发布等过程。,3,、国际化软件设计准则,请简要描述国际化软件有哪些设计准则。,任务,2,:软件外包行业分析,1.2,服务外包,1.2.1,什么是服务外包,ITO,信息技术外包,BPO,商业流程外包,KPO,知识流程外包,1.2.2,服务外包内容和分类,1.,服务外包的内容,2.,服务外包的分类,离岸外包,-Offshore Outsourcing,近岸外包,-nearshoring Outsourcing,在岸外包,/,境内外包,-Onshore Outsourcing,1.2.3,服务外包的背景与意义,1,、服务外包的背景,由于生产和服务环节的国际分工细化,产生了服务外包。,2,、服务外包的意义,从企业的角度看:,随着市场竞争的加剧,企业必须将核心资源集中到企业的核心业务上,剥离分散企业核心业务能力的干扰要素,专注自己的核心业务,形成企业核心竞争力。通过专业化的分工,减少冗员,达到降低企业成本、增加效益的目的。,2,、服务外包的意义,从外包承接国的角度看:,承接外包服务,特别是吸收出口导向性服务业的外国直接投资,会给国家带来巨大的经济和社会发展利益。这些利益包括:提升产业结构、增加税收、提高外资质量、扩大就业、培养创新能力、增强国家整体竞争力和综合实力等。,经典案例,制造型企业外包的经典案例:,通用汽车公司的,Pontiac Le MansPontiac Le Mans,只有大约总成本的,40%,发生在美国本土,其它的都外包:它的组装生产在南韩,发动机、车轴、电路是由日本提供,设计在德国,其他零部件来自于台湾地区、新加坡和日本,西班牙提供广告和市场营销服务,数据处理在爱尔兰和巴贝多完成,而战略研究、律师、银行、保险等分别由底特津、纽约和华盛顿等地提供。,经典案例,服务型企业外包的经典案例:,从英国伯明翰到德国柏林,您所搭乘的是英国航空公司班机(,British AirwaysBritish Airways,)吗?实际上并不是。虽然航机展现的英航的整体形象:机组人员、空服小姐全部身穿英航制服,但是,其实您所享受的却是英航全面借助外包的服务。丹麦快捷公司,MaerskMaersk,负责提供客机、机组人员、空服小姐,乘客餐饮由瑞士空膳集团承制,机票则由全球各旅行社代理服务,维修工程外包,全球网络的地勤服务亦外包给当地同行。实质上,英航近似一个虚拟公司(,Virtual CompanyVirtual Company,),英航并不将这些业务视为核心,而是在另一核心焦点,-,乘客身上,倾注全力。,1.2.4,软件国际化和本地化的关系,软件本地化和软件国际化构成了国际化软件的核心,其中软件国际化是顺利实施软件本地化的基础,。,在软件国际化和本地化的发展过程中,,Unicode,标准和独立本地化资源文件的技术,(single world-wide binary),两项软件技术起着重要作用。,Unicode,解决了全球主要文字计算机编码的技术问题。独立本地化资源文件,使本地化的资源文件与源代码分离,更方便软件本地化成为全球语言版本。,1.3,软件外包,1.3.1,软件和软件开发,简单,的公式给出完整的软件定义:,软件,=,程序,+,数据,(,库,)+,文档,+,服务,软件,具有与硬件完全不同的特征。其主要表现在以下几个方面:,1.,表现,形式,不同,2,.,软件是硬件的灵魂,硬件是软件的基础,3.,生产方式不同,4.,要求,不同,5.,软件不会“磨损”,而是逐步完善,1.3.2,软件外包的背景,什么是软件外包?,软件外包,企业为了专注核心竞争力业务和降低软件项目成本,将软件项目中的全部或部分工作发包给提供外包服务的企业完成的软件需求活动。,软件外包包括哪些内容?,1.3.2,中国软件外包的背景,软件外包的大幅度增长为人力资源成本相对较低的印度和中国带来了新的发展机会。,软件出口以,日本,市场为主。目前中国的软件外包市场主要集中于,亚洲,,其中日本市场是中国目前软件外包服务的主要发包市场。,软件,外包企业,主要集中于北京、南京、上海、深圳等大城市。这几个地区的共同特点是拥有良好的城市基础设施建设与产业配套基础,拥有当地政府在政策上的大力支持、良好的,市场竞争,环境、一大批通晓外语的软件人才、具备较强的创新能力,软件企业在此形成了群体优势,并已形成了较为完整的软件产业链。,1.3.3,发展软件外包的三个阶段,第一阶段:初级孕育阶段,第二阶段:外包的中期扩展,第三阶段:高级完善发展,制约中国承接国际软件外包的因素分析:,1,、政府财税支持政策定位不明确。,2,、知识产权保护力度还有欠缺。,3,、高端人才依然比较紧缺。,4,、行业协会发展服务能力有待提高。,5,、融资环境需要改善。,完成任务,2,:服务外包与软件外包资料查询,以本学院软件服务外包专业为例,进行服务外包与软件外包的相关知识介绍;学生利用网络进行相关资料搜索,完成相关服务外包与软件外包资料的查询。,项目二,国际软件测试与过程模型分析,任务1:国际软件测试行业的发展与现状分析,知识内容和要求,:,1,、掌握外包软件测试服务的模式。,2,、熟悉软件测试流程;,能力,要求,:,1,、,能从书籍、网络获取数软件测试的资料,并读懂相关资料;,2,、,能熟练运用基本的软件分析测试方法熟练地分析典型、常见的应用型软件。培养良好的劳动纪律观念,养成仔细做事的习惯。,2.1,软件测试,2.1.1,软件测试的由来,软件测试的起源,第一个,Bug,的故事,早期软件开发过程中,测试的含义是?,从何时开始,软件测试与调试区分开来?,目前软件测试所面临的压力,2.1.2,软件测试的,重要性,1,、软件可靠性问题,IEEE,将,软件可靠性,定义为:系统在特定环境下,在给定的时间内无故障运行的概率。,2,、软件缺陷与故障引发的问题,软件是由人编写开发的,是一种逻辑思维的产品,尽管现在软件开发者采取了一系列有效措施,不断地提高软件开发的质量,但仍然无法完全避免软件(产品)会存在各种各样的缺陷。,对于软件故障或缺陷,依据危害程度的不同,可分为轻、重不同级别。,软件缺陷和软件故障案例,案例,1,美国迪斯尼公司的狮子王游戏软件,bug,兼容性问题,案例,2,美国航天局火星登陆事故,系统测试 衔接问题,案例,3,跨世纪,“,千年虫,”,问题,案例,4,爱国者导弹防御系统炸死自家人,系统时钟误差积累,案例,5 Windows 2000,中文输入法漏洞,案例,6,金山词霸,bug,上述所有实例中的软件问题在软件工程或软件测试中都被称为,软件缺陷或软件故障,。,2.2,国际化测试和本地化测试,2.2.1,国际化测试,国际化测试(,International testing,),又称国际化支持测试,测试的目的是发现软件在国际化和本地化过程中的缺陷和潜在问题,支持各国的文化和语言数据,保证软件的全球通用性。,2,、国际化软件测试的特点,(,1,)国际化,国际化软件外包项目最明显的特征是国家之间语言不同,,,需要几种甚至几十种语言的支持,同时要求语言之间的不断切换。,(,2,)核心功能测试为基础,软件国际化和本地化测试为重点,(,3,)分布式,(,4,)合同类型多种多样,(,5,)规模和质量要求,(,6,),-,(,9,)省略,2.2.1,国际化测试,3,、国际化软件测试的原则,4,、软件国际化测试的方法,5,、国际化软件测试的级别,2.1,软件缺陷,2.1.1,软件缺陷,定义,软件,缺陷(,Defect,),常常又被叫做,Bug,。所谓软件缺陷,是计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷,缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。,任务,2,:分析软件缺陷产生的原因,软件缺陷的表现形式:,(,1,)软件未达到产品说明书中已经标明的功能;,(,2,)软件出现了产品说明书中指明不会出现的错误;,(,3,),软件未达到产品说明书中虽未指出但应当达到的目标;,(,4,),软件功能超出了产品说明书中指明的范围;,(,5,),软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。,软件缺陷与故障,(续),软件缺陷的特征,“,看不到,”,软件的特殊性决定了缺陷不易看到,“,看到但是抓不到,”,发现了缺陷,但不易找到问题发生的原因所在,1,、软件缺陷的,级别,致命的:致命的错误,造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能完全丧失等。,严重的:严重错误,指功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明。,一般的:不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用,但没有很好地实现功能,没有达到预期效果。如次要功能丧失,提示信息不太准确,或用户界面差,操作时间长等。,微小的:一些小问题,对功能几乎没有影响,产品及属性仍可使用,如有个别错别字、文字排列不整齐等,2.3.2,软件缺陷的级别及软件缺陷的状态,2,、软件缺陷的状态,3,、软件缺陷的特征和种类,完成任务,2,:分析软件缺陷产生的原因,软件缺陷产生的原因,1.,软件开发过程自身的特点造成的问题,2.,软件项目管理的问题,3.,团队工作的问题,图示是软件缺陷产生的原因分布图,图中占据大部分的是由于软件产品说明书(需求)的问题所导致的缺陷。,软件缺陷构成示意图,2.4,软件测试的基本理论,1983,年,IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会,),将软件测试定义为:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求,或是弄清预期结果与实际结果之间的差别。,相关概念:,测试,测试用例,测试步骤,任务,3,:分析软件开发与测试的关系,2.4.1,软件测试的目的,测试的目的是要证明程序中有故障存在,并且是最大可能地找出最多的错误。,测试以发现故障为目的,是为发现故障而执行程序的过程。,软件测试的根本目的,是为了保证软件质量。,2.4.2,软件测试的原则,2.4.3,软件测试的分类,2.4.4,软件测试的周期性,2.4.5,软件测试的对象,2.4.6,测试停止的依据,完成任务,3,:分析软件开发与测试的关系,步骤一:了解软件开发过程,一、软件产品的组成,1、软件产品需要各种开发投入,产品说明书、产品审查、设计文档、进度计划、上一版本信息反馈、商业竞争对手的同类软件产品情况、客户调查、易用性数据、观察与感受说明书,软件产品的组成,(续),2、客户需求,客户需求包括对客户调查所收集的详细信息、以前软件的使用情况及存在的问题、竞争对手的软件产品信息等等。通过分析客户需求,可以确定将要开发的软件产品应该具有哪些功能。,3、产品说明,产品说明书的作用就是对客户需求信息进行综合描述,并包括用户没有提出、但软件产品本身必须要实现的要求,从而针对产品进行定义并确定其功能。,软件产品的组成,(续),4、设计文档,构架。,即产生描述软件整体设计的文档,包括软件所有主要部分的描述以及相互间的交互方式。,数据流示意图。,表示数据在程序中如何流动的正规示意图。通常由圆圈和线条组成,所以也称为泡泡图。,状态变化示意图。,将软件分解为基本状态或者条件的另一种正规示意图,表示不同状态之间的变化的方式。,流程图。,用图形描述程序逻辑的最常用方式之一。根据详细的流程图编写程序代码简单方便。,注释代码。,代码注释是便于维护代码的程序员掌握代码的内容和执行方式。,软件产品的组成,(续),5、测试文档,一般测试文档所包含的内容:,测试计划。,描述用于验证软件是否符合产品说明书和客户需求的整体方案。,测试用例。,依据测试的项目,并描述验证软件的详细步骤。,软件测试报告。,描述依据测试用例找出的问题,通常提交测试报告。,归纳、统计和总结。,采用图表、表格和报告等形式来描述整个测试过程。,软件产品的组成,(续),6、开发进度表,软件项目的开发进度通常使用,Gantt,图表来进行描述。,什么是甘特图?,7、软件产品组成部分,(,1,)程序代码 (,2,)帮助文件 (,3,)用户手册,(,4,)样本和示例 (,5,)标签 (,6,)产品支持信息,(,7,)图表和标志 (,8,)错误信息 (,9,)广告与宣传材料,(,10,)软件的安装说明 (,11,)软件说明文件,(,12,)测试错误提示信息,步骤二:分析软件测试与开发各阶段的关系,1,、测试在软件开发各阶段的作用:,(,1,)项目规划阶段:,(,2,)需求分析阶段:,(,3,)软件设计阶段,(,4,)其他测试阶段,2.5,软件测试和缺陷修复的代价,尽早地和不断地进行软件测试,软件在从需求、设计、编码、测试一直到交付用户公开使用后的过程中,都有可能产生和发现缺陷。随着整个开发过程的时间推移,更正缺陷或修复问题的费用,呈几何级数增长,。,0,20,40,60,80,100,编制说明书,设计阶段,编写代码,测试,发布,对软件测试的误解,如果发布的软件有质量问题,那是软件测试人员的错。,软件测试技术要求不高,至少比编程容易多了。,软件测试随便找一个能力差的人就能做。,有时间就多测试一些,来不及就少测试一些。,软件测试是测试人员的事,与开发人员无关。,设计实现测试,软件测试是开发后期的一个阶段。,软件测试职业和职位,软件测试员,软件测试工程师/程序分析员,高级软件测试工程师,/程序分析员,软件测试组负责人,软件测试,/,编程负责人,软件测试,/,质量保证,/,项目经理,软件测试职业素质,软件测试员的目标:,发现潜在的软件缺陷,软件测试员应具备的素质:,具有探索精神 具有创造性,坚持不懈精神 故障排除专家,判断准确 追求完美,沟通能力,本章英文词汇总结,软件外包,=software outsourcing,离岸软件外包,=offshore software outsourcing,驻点外包,=onsite outsourcing,服务外包,=service outsourcing(SO),商务外包,=business processing outsourcing(BPO),项目二:软件,测试,过程模型分析,知识要求:,1,、熟悉软件测试流程;,2,、掌握需求分析阶段的测试活动;,技能要求:,能熟练运用基本的软件分析测试方法熟练地分析典型、常见的应用型软件。培养良好的劳动纪律观念,养成仔细做事的习惯。,所需知识点:,2.1,软件缺陷,2.1.1,软件缺陷,定义,软件缺陷:,软件缺陷(,Defect,),常常又被叫做,Bug,。所谓软件缺陷,是计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷,缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。,任务,1,:分析软件缺陷产生的原因,软件可靠性问题,因软件设计故障与因计算机硬件设计故障而引发的系统 失效的比例大约是:,10:1,运行软件的驻留故障密度(每千行代码的故障数目):,要求很高的关键财务或财产软件为:每千行代码,1,10,个故障,关键的生命软件为:每千行代码,0.01,1,个故障,IEEE,将软件可靠性定义为:,系统在特定环境下,在给定的时间内无故障运行的概率。,软件可靠性是对软件在设计、开发以及所预定的环境下具有能力的置信度的一个度量,是衡量软件质量的主要参数之一。而软件测试则是保证软件质量、提高软件可靠性的最重要手段。,软件,缺陷,的表现形式:,(,1,)软件未达到产品说明书中已经标明的功能;,(,2,)软件出现了产品说明书中指明不会出现的错误;,(,3,),软件未达到产品说明书中虽未指出但应当达到的目标;,(,4,),软件功能超出了产品说明书中指明的范围;,(,5,),软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。,软件缺陷与故障,(续),软件缺陷的特征,“,看不到,”,软件的特殊性决定了缺陷不易看到,“,看到但是抓不到,”,发现了缺陷,但不易找到问题发生的原因所在,1,、软件缺陷的级别,致命的:致命的错误,造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能完全丧失等。,严重的:严重错误,指功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明。,一般的:不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用,但没有很好地实现功能,没有达到预期效果。如次要功能丧失,提示信息不太准确,或用户界面差,操作时间长等。,微小的:一些小问题,对功能几乎没有影响,产品及属性仍可使用,如有个别错别字、文字排列不整齐等,2.1.2,软件缺陷的级别及软件缺陷的,状态,完成任务,1,:分析软件缺陷产生的原因,软件缺陷产生的原因,1.,软件开发过程自身的特点造成的问题,2.,软件项目管理的问题,3.,团队工作的问题,图,2-1-1,所示是软件缺陷产生的原因分布图,图中占据大部分的是由于软件产品说明书(需求)的问题所导致的缺陷,。,图,2-1-1,软件缺陷构成示意图,所需知识点:,2.1,软件,1983,年,IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会,),将软件测试定义为:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求,或是弄清预期结果与实际结果之间的差别。,相关概念:,测试,测试用例,测试步骤,任务,2,:分析软件开发与测试的,关系,2.2,软件测试的基本理论,2.2.1,软件测试,的目的:,测试是为了使软件中蕴涵的缺陷低于某一特定值,使产出、投入比达到最大。,测试用例:,所谓测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是执行测试的最小实体。,测试步骤:,测试步骤详细规定了如何设置、执行、评估特定的测试用例。,2.2.2,软件测试,的原则,1.,“,尽早地和不断地进行软件测试,”,软件在从需求、设计、编码、测试一直到交付用户公开使用后的过程中,都有可能产生和发现缺陷。随着整个开发过程的时间推移,更正缺陷或修复问题的费用,呈几何级数增长,。,0,20,40,60,80,100,编制说明书,设计阶段,编写代码,测试,发布,2.2.2,软件测试的原则,2.2.3,软件测试的分类,2.2.4,软件测试的周期性,一个软件生命周期包括:制定计划、需求分析定义、软件设计、程序编码、软件测试、软件运行、软件维护、软件停用等,8,个阶段。而软件测试的周期性是测试,-,改错,-,再测试,-,再改错这样一个循环过程,2.2.5,软件测试的对象,2.2.6,测试停止的依据,步骤一:了解软件开发过程,1、软件产品需要各种开发投入,完成任务,2,:分析软件开发与测试的,关系,图1-5 获得软件产品的工作示意图,产品说明书、产品审查、设计文档、进度计划、上一版本信息反馈、商业竞争对手的同类软件产品情况、客户调查、易用性数据、观察与感受说明书,开发过程,2、客户需求,客户需求包括对客户调查所收集的详细信息、以前软件的使用情况及存在的问题、竞争对手的软件产品信息等等。通过分析客户需求,可以确定将要开发的软件产品应该具有哪些功能。,3、产品说明,产品说明书的作用就是对客户需求信息进行综合描述,并包括用户没有提出、但软件产品本身必须要实现的要求,从而针对产品进行定义并确定其功能。,软件产品的组成,(续),4、设计文档,构架。,即产生描述软件整体设计的文档,包括软件所有主要部分的描述以及相互间的交互方式。,数据流示意图。,表示数据在程序中如何流动的正规示意图。通常由圆圈和线条组成,所以也称为泡泡图。,状态变化示意图。,将软件分解为基本状态或者条件的另一种正规示意图,表示不同状态之间的变化的方式。,流程图。,用图形描述程序逻辑的最常用方式之一。根据详细的流程图编写程序代码简单方便。,注释代码。,代码注释是便于维护代码的程序员掌握代码的内容和执行方式。,软件产品的组成,(续),5、测试文档,一般测试文档所包含的内容:,测试计划。,描述用于验证软件是否符合产品说明书和客户需求的整体方案。,测试用例。,依据测试的项目,并描述验证软件的详细步骤。,软件测试报告。,描述依据测试用例找出的问题,通常提交测试报告。,归纳、统计和总结。,采用图表、表格和报告等形式来描述整个测试过程。,软件产品的组成,(续),6、开发进度表,软件项目的开发进度通常使用,Gantt,图表来进行描述。,什么是甘特图?,7、软件产品组成部分,(,1,)程序代码 (,2,)帮助文件 (,3,)用户手册,(,4,)样本和示例 (,5,)标签 (,6,)产品支持信息,(,7,)图表和标志 (,8,)错误信息 (,9,)广告与宣传材料,(,10,)软件的安装说明 (,11,)软件说明文件,(,12,)测试错误提示信息,软件产品的组成,(续),测试,在软件开发各阶段的作用:,(,1,)项目规划阶段:负责从单元测试到系统测试的整个测试阶段的监控。,(,2,)需求分析阶段:,(,3,)软件设计阶段,(,4,)其他测试阶段,步骤二:分析软件测试与开发各阶段的关系,软件通常需要靠有计划、有条理的开发过程来建立。从需求、设计、编制测试一直到交付用户公开使用后的整个的过程中,都有可能产生和发现缺陷。随着整个开发过程的时间推移,在需求阶段没有被修正的错误问题或缺陷有可能不断扩展到设计阶段、编码和测试阶段,甚至到维护阶段。,2.3,软件测试和缺陷修复的,代价,任务,3,:测试过程模型,分析,所,需知识点:,2.4,软件开发,模型,2.4.1,软件开发,瀑布模型,1970,年,Winston Royce,提出了著名的,“,瀑布模型,”,瀑布模式是将软件生命周期的各项活动,规定为按照固定顺序相连的若干个阶段性工作,形如瀑布流水,最终得到软件产品。,软件开发模式,(续),2.4.1,瀑布,法,优点:,易于理解;调研开发的阶段性;强调早期计划及需求调查;确定何时能够交付产品及何时进行评审与测试。,缺点:需求调查分析只进行一次,不能适应需求变化;顺序的开发流程,使得开发中的经验教训不能反馈到该项目的开发中去;不能反映出软件开发过程的反复与迭代性;没有包含任何类型的风险评估;开发中出现的问题直到开发后期才能够显露,因此失去及早纠正的机会。,软件开发模式,问题定义,分析研究,需求分析,软件设计,编码,测试,维护,定义阶段,开发阶段,维护阶段,图 瀑布开发模式,软件开发模式,2.4.2,大棒,开发法,源于能量爆发创造宇宙,万物都由能量和物质积聚而成的理论,但如果不是遵循某种正确的排列和组合,形成的将不是预先期望的事物。大棒模式与上述理论一样:一大堆能量(这里指开发软件所需的人力和物力)放在一起,巨大的能量进行释放,通常的结果可能是产生了优秀的软件产品或成为一堆,“,废品,”,(不成功的软件)。,优点:思路简单,通常可能是开发者的,“,突发奇想,”,缺点:开发过程是非工程化的,随意性大,关于测试:有的较简单,有的则非常困难,软件开发模式,(续),2.4.3,边,写边改法,采用边写边改法的软件开发通常只是有了比较粗略的想法就开始进行简单的设计、然后进行较长的反复编写、测试与修复这样一个循环的过程。在认为无法更精细的描述软件产品要求时,就发布产品。,优点:能够较为迅速的展现成果,适合需要快速制作而且用完就扔的小项目,如示范程序、演示程序等。,缺点:其编码和测试可能将是长期的循环往复的过程。,软件开发模式,(续),产品,说明,书,代码编制、测试、修复,最终产品,图,1-6,边写边改开发模式,软件开发模式,(续),2.4.4,快速原型法,根据客户需求在较短的时间内解决用户最迫切解决的问题,完成可演示的产品。这个产品只实现最重要功能,在得到用户的更加明确的需求之后,原型将丢弃。,需求分析,原型开发,原型评价,最终设计,系统实现,用户反馈,图,1-8,快速原型开发模式,完成任务,3,:测试,模型分析,项目规划,项目需求分析,项目概要分析,项目详细分析,代码编写,测试代码编写,测试需求分析,系统测试计划,集成测试计划,单元测试计划,产品发布,系统测试,集成测试,单元测试,RAD,(,Rapid Application Development,),V,模型,学生动手,完成任务,3,:测试过程模型分析,项目三,软件测试流程与项目,组织,知识目标:,1,、掌握软件设计阶段的测试活动;,2,、理解软件测试的两面性。,能力目标:,1,、能根据掌握客户的实际需求,制作客户需求分析表格,提供合理的系统解决方案,并提供整理后的客户需求分析报告。,2,、能对实施方法、实施策略、实施方案提出合理化建议,确保项目按质按时验收,并参与重要项目的实施;,素质目标:,培养良好的劳动纪律观念,养成仔细做事的习惯。,任务,1,:测试准备阶段,、,开展阶段案例模拟,所,需知识点:,3.1,软件测试,流程,软件测试,虽然是软件生存周期的一个独立阶段,但测试工作却渗透到从分析、设计直到编程的各个阶段中。在实际工作中,按各测试阶段的先后顺序测试环节可分为明显的、同等重要的几个阶段,即需求测试、单元测试、集成测试、系统测试和验收(用户)测试,5,个阶段。,3.1.1,需求,测试,在,接到测试项目的前期,需要对被测软件的需求规格说明书、概要设计文档、详细设计文档、数据库设计文档等文档资料进行查阅,重点检查需求规格说明书中是否存在描述不准确、需求定义模糊、测试用例不正确、语言存在二义性等问题,。,在许多失败的项目中,,70%,85%,的返工是由于需求方面的错误所导致的,并且因为需求的缘故而导致大量的返工,造成进度延迟、缺陷的改期,甚至项目的失败,因此要求在项目的源头就开始测试。,每项需求只应在,SRS,(,Software Requirement Specification,软件需求规格说明书)中出现一次,这样更改时易于保持一致性。另外,使用目录表、索引和相互参照列表方法将使软件需求规格说明书更容易修改。,3.1.2,单元测试,单元测试(,Unit Testing,)的对象是,软件设计的最小单位模块,。单元测试是软件开发过程中进行的最低级别的测试活动,是测试执行的开始阶段。在单元测试活动中,主要采用静态测试与动态测试相结合的方法,检测程序的内部结构。,单元测试的主要目标是确保各单元模块被正确地编码,。,单元测试对测试人员的要求相对较高,一般需要几年的代码编写经验,并且要十分熟悉当前的被测系统,以及该系统是否与其他系统的接口关联情况。在大多数公司中,单元测试一般情况下由对应的开发工程师负责。,3.1.3,集成测试,集成测试的定义:集成测试(,Integration Testing,)也称组装测试,是根据实际情况对程序模块采用适当的集成测试策略组装起来,对系统的接口以及集成后的功能进行正确校验的测试工作。,集成测试是介于单元测试和系统测试之间的过渡阶段,与软件开发计划中的软件概要设计阶段相对应,是单元测试的扩展和延伸。,3.1.4,确认,测试,确认,测试也称有效性测试。在完成集成测试后,验证软件的功能和性能及其他特性是否符合用户要求。测试的目的,是保证系统能够按照用户预定的要求工作,通常采用黑盒测试方法。确认测试最简明、最严格的解释是检验所开发的软件是否能按用户提出的要求运行。若能达到这一要求,则认为开发的软件是合格的。因而有的软件开发部门把确认测试称为合格性测试,(Qualification Testing),。,通过与用户的协商,解决所发现的缺陷和错误。确认测试应交付的文档有:确认测试分析报告、最终的用户手册和操作手册、项目开发总结报告。,3.1.5,系统测试,常见的系统测试方法:,在软件的各类测试中,系统测试是最接近于人们的日常测试实践。它是将已经集成好的软件系统,作为整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。可以说,系统测试之后,软件产品基本满足开发要求。,3.1.6,验收测试,通过,综合测试之后,软件已完全组装起来,接口方面的错误也已排除,软件测试的最后一步,验收测试即可开始。验收测试(,Acceptance Testing,)是向未来的用户表明系统能够像预定要求的那样工作,是测试过程的最后一个阶段。验收测试主要突出用户的作用,同时软件开发人员也应该参与进去。,验收测试在整个软件生产流程中非常重要,这个环节是被测软件首次作为正式的系统交由用户使用。其目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。,软件测试与开发各阶段的关系,1,、测试在软件开发各阶段的作用:,(,1,)项目规划阶段:负责从单元测试到系统测试的整个测试阶段的监控。,(,2,)需求分析阶段:,软件项目在完成了前期的可行性分析和项目计划后,就进入了需求分析阶段,事实上一个软件项目或产品的成败与需求分析有着非常重要的联系。因此在没有明确用户需求的情况下盲目地进行开发和测试都不能够取得理想的效果。,若具备条件,测试人员应从客户需求调研阶段就介入到项目中。软件产品需求阶段工作流程如图所示:,(,3,)软件设计阶段,需求调研阶段完成后,人们会根据需求说明书的要求开始设计软件,包括概要设计阶段和详细设计阶段,然后开发人员根据产品的详细设计进行编码,这一过程叫做软件设计和编码阶段。,当开发工程师根据软件设计人员的详细设计,开始软件编码过程后,测试人员就可以进入单元测试流程了,,单元测试完成后生成单元测试总结报告,。,4,)其他测试阶段,软件在完成了各个单元的测试过程之后,就会以将各个模块、单元拼接成该软件的子系统,直到最后会拼装成为一个完整的软件系统。那么,在这些拼装软件的过程中,测试阶段就进入到集成、系统、验收测试阶段,。,3.2,软件测试,过程,3.2.1,制定测试计划,1,制定,计划,(,1,)概要测试计划:,(,2,)详细测试计划,:,2,测试大纲(用例,),3.,软件测试报告,3.2.2,测试执行,过程,本阶段的主要工作内容:,(,1,)根据测试大纲,/,测试用例,/,测试脚本进行测试。根据测试大纲,/,测试用例进行测试,找出预期的测试结果和实际测试结果之间的差异,填写软件问题报告确定造成这些差异的原因:,产品有缺陷?,规格说明书有缺陷?,测试环境和测试下属部件有缺陷?,测试用例设计不合理?,(,2,)搭建测试环境(测试数据库,软件环境,硬件环境),(,3,)初始化测试数据库,(,4,)确定测试用例描述内容:输入、执行过程、预期输出,(,5,)分析测试报告,与软件开发管理层进行沟通,报告内容有:,已测试部分占产品多大的百分比?,还有什么工作要做?,找到了多少个问题或不足?,测试的发展趋势如何?,测试是否可以结束?,3.3,软件测试项目,组织,3.3.1,测试的过程及组织,根据,软件测试计划,由一位对整个系统设计熟悉的设计人员编写测试大纲,明确测试的内容和测试通过的准则,设计完整合理的测试用例,以便系统实现后进行全面测试,。,测试一般可以下列方式进行组织:,1,、编写测试大纲、测试用例,测试人员要仔细阅读有关资料,包括规格说明、设计文档、使用说明书及在设计过程中形成的测试大纲、测试内容及测试的通过准则,全面熟悉系统,编写测试计划,设计测试用例,作好测试前的准备工作。,2,、将测试过程分阶段,软件测试过程按各测试阶段的先后顺序可分为单元测试、集成测试、确认(有效性)测试、系统测试和验收(用户)测试,5,个阶段。,3.3.2,测试人员组织,为高质高效地完成测试任务,应该组织测试人员进行集体学习,做到如下几点:,1,、,将要做的事情理清思路、明确团队要达到的目的、理清做事情的思路和方法;把合理的资源调配到合适的位置上,使测试人员的兴趣和能力结合;,2,、,组织测试人员定期培训,让团队的每个人具备应有的沟通能力、技术能力、自信心、怀疑精神、自我督促能力和洞察力。只有从大的方面先将事情的框架结构理清楚了,才可能使得一个团队具有非常的战斗力;,3,、组织测试人员进行工作总结,需要对各种错误进行统计,以找到问题的根本原因,从而分析出在什么地方容易犯错误,犯了什么类型的错误,犯错误的原因是什么;就问题而讨论问题,找出问题的实质,然后加以改进;,4,、组织测试人员提出意见。如果一个团队要发展,需要大家一起努力,在讨论问题的过程中,避免一言堂,让大家充分参与到设计中,在其中找到自我的感觉,这样才能使每一个成员关心项目的每一个角落,工作才能更有效率。,3.3.2,测试人员组织,3.3.2,测试人员组织,每位软件测试人员的基本责任应该包括:,尽早发现软件产品中的所有问题。,督促软件开发人员及时
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服