软件测试与质量保障教学-概述课件_第1页
软件测试与质量保障教学-概述课件_第2页
软件测试与质量保障教学-概述课件_第3页
软件测试与质量保障教学-概述课件_第4页
软件测试与质量保障教学-概述课件_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件测试与质量保障华中农业大学信息学院赵良软件测试与质量保障华中农业大学信息学院公园拆墙透绿,宝玉出门俏人伤公园拆墙透绿,软件测试与质量保障教学-概述课件4Java+3G+物联网软件工程师3G-iOS软件测试工程师国际软件测试工程师C++国际软件工程师.NET+3G云计算软件工程师PHP/WEB3.0互联网工程师3G-Android软件工程师嵌入式开发工程师数字艺术UID设计工程师4Java+3G+物联网软件工程师3G-iOS软件测试工程师软件测试—IT行业最具前景职位

120万:5万3784.99亿元30~40万2:11:8软件测试—IT行业最具前景职位

120万:5万软件测试与质量保障教学-概述课件软件测试与质量保障教学-概述课件教学安排教学进度安排总学时:40学时课堂教学:24学时实验教学:16学时成绩评定平时成绩:15%期末考试成绩:70%实验成绩:15%答疑方式:电话件:zhaoliang103@163.com教学安排教学进度安排教学目的掌握软件测试的基本理论和基本方法熟练使用一些常用的测试工具进一步增强软件质量管理的意识,培训测试思维能力设计测试用例,并能运用测试工具进行测试教学目的掌握软件测试的基本理论和基本方法经典著作推荐BillHetzel,《软件测试完全指南》(CompleteGuideofSoftwareTesting)GlenfordJ.Myers代表论著《TheArtofSoftwareTesting》PaulC.Jorgensen,SoftwareTesting——ACraftsman’sApproach《软件测试》经典著作推荐BillHetzel,《软件测试完全指南》(C第1讲软件测试基础软件测试定义、目的、原则软件测试过程模型测试人员的素质第1讲软件测试基础软件测试定义、目的、原则什么是软件什么是软件一个“臭虫”引发的惨案案例1美国迪斯尼公司的狮子王游戏软件bug

兼容性问题案例2美国航天局火星登陆事故

系统测试衔接问题案例3跨世纪“千年虫”问题案例4爱国者导弹防御系统炸死自家人

系统时钟误差积累案例5许霆曾因ATM故障盗取17万判刑五年案例6温甬动车事故。。。。。。。。。。。一个“臭虫”引发的惨案案例1美国迪斯尼公司的狮子王游戏“臭虫”的由来

人们将软件错误称为“臭虫”,这是因为第一个有记载的电脑故障是由线路上的臭虫造成的。就是我们通常称的“BUG”。“臭虫”的由来人们将软件错误称为“臭虫”,这是因为第一软件失败的术语描述缺点(defect)偏差(variance)谬误(fault)失败(failure)问题(problem)矛盾(inconsistency)错误(error)特殊(feature)毛病(incident)缺陷(bug)异常(anomaly)软件失败的术语描述缺点(defect)偏差(v1.1软件可靠性软件设计故障与计算机硬件设计故障而引发的系统失效的比例大约是:10:1运行软件的可驻留故障密度(每千行代码的故障数目):——要求很高的关键财务或财产软件为:每千行代码1~10个故障——关键的生命软件为:每千行代码0.01~1个故障1.1软件可靠性软件设计故障与计算机硬件设计故障而引发的系软件失败的几个定义错误:人类会犯错误。缺陷:缺陷是错误的结果。失效:当缺陷执行时会发生失效。事故:当出现失效时,可能会也可能不会呈现给用户。软件失败的几个定义错误:人类会犯错误。(1)缺陷的定义缺陷:最终产品同用户的期望不一致。功能错误功能遗漏超出需求的部分性能不符合要求世上不存在没有缺陷的软件(1)缺陷的定义缺陷:最终产品同用户的期望不一致。世上不存在缺陷容易被找出吗?

软件的特殊性决定了缺陷不易看到,即“看不到”;发现了缺陷,但不易找到问题发生的原因所在,即“看到但是抓不到”。缺陷容易被找出吗?

软件缺陷产生的原因编制说明书55%设计26%其他4%编写代码15%编制说明书设计编写代码其他软件缺陷产生的原因编制说明书55%设计26%其他4%编写代软件测试员的目标发现软件缺陷软件测试员的目标发现软件缺陷1.2软件测试的定义根据侧重点的不同,主要有三种观点:1)Myers认为“软件测试是为了发现错误而执行程序的过程”,明确提出了“寻找错误”是测试目的。1.2软件测试的定义根据侧重点的不同,主要有三种观点:

2)1983年IEEE对软件测试的定义“使用人工或自动手段运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别”。明确地提出软件测试以检验是否满足需求为目标。2)1983年IEEE对软件测试的定义3)从软件质量保证的角度看软件测试是一种重要的软件质量保证活动测试过程中的活动包括“分析”软件和“运行”软件。也有人认为软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。3)从软件质量保证的角度看Myers软件测试目的(1)测试是程序的执行过程,目的在于发现错误;(2)一个好的测试用例在于能发现至今未发现的错误;(3)一个成功的测试是发现了至今未发现的错误的测试。测试的“成功”与“失败”就在于:

能否发现错误!Myers软件测试目的(1)测试是程序的执行过程,目的在于发注意:测试不能表明软件中不存在错误,它只能说明软件中存在错误。注意:测试不能表明软件中不存在错误,它只能说明软件中存在错误测试真正的目的通过对软件错误的原因和分布进行归纳,来发现并排除当前软件产品的缺陷,对在需求和设计过程中存在的问题查缺补漏,从而确保软件产品的质量。测试真正的目的软件测试与质量保障教学-概述课件1.3软件测试的原则1.所有的测试都应追溯到用户的需求系统中最严重的错误是那些导致程序无法满足用户需求的错误。

1.3软件测试的原则1.所有的测试都应追溯到用户的需求2.尽早地和不断地进行软件测试需求和设计时出现的缺陷占很大的比例;缺陷的修改成本随着阶段的推移将急剧上升;缺陷具有放大的特点;2.尽早地和不断地进行软件测试问题发现越早,解决问题的代价就越小。缺陷存在放大趋势问题发现越早,解决问题的代价就越小。缺陷存在放大趋势3.不可能完全的测试输入量太大执行路径太多软件测试最致命的缺陷就是:

不不能进行彻底的测试3.不可能完全的测试软件测试最致命的缺陷就是:为什么不可能做穷举测试循环次数 01 2………20独立路径数 51+52+53+……+521≈1014 每个测试用例(考虑、执行、验证结果)5分钟共需测试时间 10亿年M1D1D2D3D4M2M3M4M5M6M7D5<=20次为什么不可能做穷举测试循环次数 01 2………20M1为什么不可能做穷举测试

若X、Y为所有可能的整数,在字长32位机上测试:

X1、Y1

Z1

. . .

Xn、Yn

Zn

测试次数:n=232232=264

1.841019程序PXYZ输入输出为什么不可能做穷举测试若X、Y为所有可能的整数,在字长324.Pareto原则

Pareto原则暗示着测试发现的错误中的80%很可能起源于程序模块中的20%。4.Pareto原则Pareto原则暗示着测试发现的错5.软件缺陷的寄生虫性找到的软件缺陷越多,就说明软件缺陷越多原因:程序员的疲倦程序员往往犯同样的错误某些软件的缺陷其实是大灾难的征兆5.软件缺陷的寄生虫性找到的软件缺陷越多,就说明软件缺陷越多6.避免测试自己的程序程序员轻易不会承认自己写的程序有错误;程序员的测试思路有局限性,做测试时很容易受到编程思路的影响;程序员测试不具有典型性6.避免测试自己的程序7.设计周密的测试用例软件测试的本质就是针对要测试的内容确定一组测试用例。测试用例至少应包括:执行测试用例前,应满足的前提条件输入预期输出设计测试用例时,应当包括合理的输入条件和不合理的输入条件。7.设计周密的测试用例8.回归测试程序修改后必须进行回归测试,避免引入新的错误。9.严格执行测试计划,排除测试的随意性。8.回归测试10.确认BUG的有效性

对测试错误结果一定要有一个确认的过程。有时候测试人员提交的BUG并不是真正的BUG。11.妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。10.确认BUG的有效性第2讲测试模型与过程本讲内容测试层次的传统观点软件测试模型软件测试流程第2讲测试模型与过程本讲内容测试层次的传统观点2.1测试层次的传统观点瀑布模型2.1测试层次的传统观点瀑布模型需求规格说明概要设计详细设计编码单元测试集成测试系统测试瀑布式生命周期需求规格说明概要设计详细设计编码单元测试集成测试系统测试瀑布2.2软件测试模型V模型W模型H模型X模型测试前置模型(测试驱动模型)2.2软件测试模型V模型V模型需求分析概要设计详细设计编码单元测试集成测试系统测试验收测试V模型需求分析概要设计详细设计编码单元测试集成测试系统测试验需求测试需求分析功能测试概要设计设计测试详细设计单元测试编码系统测试验收确认测试确认集成测试集成W模型需求测试需求分析功能测试概要设计设计测试详细设计单元测试编码H模型测试准备测试执行测试流程其他流程测试就绪点H模型测试准备测试执行测试流程其他流程测试就绪点X模型X模型2.3软件测试流程2.3软件测试流程(1)制定测试计划测试计划是对每个产品,或是对各个开发阶段的产品开展测试的策略。一个完整的测试计划应该包含以下几个方面:对测试范围的界定;风险的确定;资源的规划;时间表的制定;(1)制定测试计划测试计划是对每个产品,或是对各个开发阶段的(2)测试设计测试设计阶段要设计测试用例和测试过程,要保证测试用例完全覆盖测试需求。测试设计阶段最重要的是如何将测试需求分解,如何设计测试用例。(2)测试设计测试设计阶段要设计测试用例和测试过程,要保证测(3)测试开发1.准备测试环境(1)测试技术准备(2)配置软件、硬件环境(3)人员2.获得测试数据(1)正常事务的测试(2)使用无效数据的测试(3)测试开发1.准备测试环境3.测试脚本所谓脚本,是完整的一系列相关终端的活动。一般测试脚本有5个级别:单元脚本并发脚本集成脚本回归脚本强度/性能脚本3.测试脚本4.辅助测试工具优秀的办公处理软件错误跟踪系统自动测试工具软件分析工具好的操作系统多样化平台4.辅助测试工具(4)测试执行测试执行的过程由4个部分组成:输入:要完成工作所必须的入口标准或可交付的结果。执行过程:从输入到输出的过程或工作任务。检查过程:确定输出是否满足标准的处理过程。输出:推出标准或工作流程产生的可交付的结果。(4)测试执行测试执行的过程由4个部分组成:(5)评估测试软件测试的主要评测方法包括:覆盖评测质量评测性能评测(5)评估测试软件测试的主要评测方法包括:1)覆盖评测覆盖指标提供了“测试的完全程度如何?”这一问题的答案。最常用的覆盖评测是基于需求的测试覆盖和基于代码的测试覆盖。1)覆盖评测2)质量评测在测试过程中,已发现缺陷的评估提供了最佳的软件质量指标。3)性能评测评估测试对象的性能时,侧重于获取与行为相关的数据,如响应时间、事务处理数、内存占用率、操作可靠性等。2)质量评测2.2软件测试人员的素质要求基本素质要求1.责任心包括坚持原则2.沟通能力用户、项目组3.团队精神4.专注力至少需要耐心和记忆力2.2软件测试人员的素质要求基本素质要求5.洞察力来源于经验、逻辑思维能力和敏感度:6.坚持不懈7.怀疑精神、探索精神8.创造性5.洞察力测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论