收藏 分销(赏)

软件测试概述PPT学习课件.ppt

上传人:天**** 文档编号:10306613 上传时间:2025-05-22 格式:PPT 页数:69 大小:2.27MB
下载 相关 举报
软件测试概述PPT学习课件.ppt_第1页
第1页 / 共69页
软件测试概述PPT学习课件.ppt_第2页
第2页 / 共69页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,软件测试概述,软件测试工程,1,课程概览,软件测试基本概念,软件测试技术,软件测试方法,软件测试流程,微软软件测试简介,2,5/22/2025,课程目标,掌握软件测试的基本概念,理解测试对于软件质量保障的重要性,了解软件测试的基本流程和过程,理解白盒测试、黑盒测试的含义和方法,理解测试的分类和内容,3,5/22/2025,课程内容,软件测试基本概念,软件测试技术,软件测试方法,软件测试流程,微软软件测试简介,4,5/22/2025,软件测试基本概念,什么是软件测试,软件测试的目的,软件测试原则,软件测试的重点,软件测试质量,软件测试度量,软件的可测试性,5,5/22/2025,什么是软件测试,广义的概念,指软件生存周期中所有的检查、评审和确认工作,其中包括了对分析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和确认,狭义概念,识别软件缺陷的过程,即实际结果与预期结果的不一致,6,5/22/2025,什么是软件测试,软件测试通常包括验证(,verification),和确认(,validation),:,验证指保证软件正确的实现了某一特定功能的一系列活动,确认指的是保证软件的实现满足了用户需求的一系列活动,7,5/22/2025,软件测试的目的,测试的目的就是发现软件中的各种缺陷,测试只能证明软件存在缺陷,不能证明软件不存在缺陷,测试可以使软件中缺陷降低到一定程度,而不是彻底消灭,以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量,8,5/22/2025,测试的目标,最终目的是确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付前发现并改正:,确保软件完成了它所承诺或公布的功能,确保软件满足性能的要求,确保软件是健壮的和适应用户环境的,9,5/22/2025,测试的目标,为软件的质量评估提供依据,为软件质量改进和管理提供帮助,10,5/22/2025,软件测试原则,Good-enough,:一种权衡投入/产出比的原则,保证测试的覆盖程度,但穷举测试是不可能的,所有的测试都应追溯到用户需求,越早测试越好,测试过程与开发过程应是相结合的,测试的规模由小而大,从单元测试到系统测试,为了尽可能地发现错误,应该由独立的第三方来测试,不能为了便于测试擅自修改程序,既应该测试软件该做什么也应该测试软件不该做什么,11,5/22/2025,测试的规律,木桶原理:,软件质量的关键因素是分析、设计和实现,测试应该是融于其中的补充检查手段,其他管理、支持、甚至 文化因素也会影响最终软件的质量,测试是提高软件质量的必要条件,最直接、最快捷的手段,但决不是一种根本手段,12,5/22/2025,测试的规律,Bug,的80-20原则,在分析、设计、实现阶段的复审和测试工作能够发现和避免80%的,Bug,而系统测试又能找出其余,Bug,中的80%,最后的5%的,Bug,可能只 有在用户的大范围、长时间使用后才会曝露出来,13,5/22/2025,软件测试的重点,测试用例的良好设计,测试用例的设计是整个软件测试工作的核心,测试用例反映对被测对象的质量要求,决定对测试对象的质量评估,14,5/22/2025,软件测试的重点,测试工作的管理,尤其是对包含多个子系统的大型软件系统,其测试工作涉及大量人力和物力,有效的测试工作管理是保证有效测试工作的必要前提,15,5/22/2025,软件测试的重点,测试环境的建立,测试环境应该与实际测试环境一致,16,5/22/2025,软件测试的质量,软件测试可以发现以下软件缺陷:,软件实现的功能不正确,“,缺少,”,:软件没有实现某项功能,“,多余,”,,软件实现的某项功能在需求中没有定义,发现第一类软件缺陷的过程-,“,验证,”,发现后两类软件缺陷的过程-,“,确认,”,17,5/22/2025,软件测试的质量,软件测试本身的质量在于:,发现软件缺陷并能区分其类型,提供关于软件质量和开发过程质量的信息,18,5/22/2025,软件测试度量,测试覆盖率,有多少需求、代码已经被测试了,缺陷发现率,缺陷是何时被发现,并且有多少缺陷已经被发现。缺陷可以根据严重性来分类。需记录以下值:,缺陷数目,缺陷的严重性,19,5/22/2025,软件测试度量,测试成功率:,有多少测试已经通过了,并且有多少是运行正常的?需记录以下值:,已通过的测试用例的数目,可利用的测试用例的数目,20,5/22/2025,软件测试的分类,典型的软件测试类型,功能测试,可靠性测试,容错性测试,恢复测试,易用性测试,性能测试,可维护性测试,可移植性测试,安全性测试,用户文档测试,21,5/22/2025,软件的可测试性,软件容易被测试的程度,包括下面几个指标:,可确认性:可以明确确认软件是否符合要求,例如有明确的要求和指标,可观察性:用于确认的结果可以进行有效的观察,可控制性:相对应的测试环境可以进行控制,从而保证测试的有效性,可分解性:软件可以进行分解,对分解的结构进行测试,22,5/22/2025,课程内容,软件测试基本概念,软件测试技术,软件测试方法,软件测试流程,微软软件测试简介,23,5/22/2025,软件测试技术,黑盒测试/白盒测试,动态测试/静态测试,24,5/22/2025,黑盒测试和白盒测试,什么是黑盒测试,又称功能测试或数据驱动测试,是针对软件的功能需求/实现进行测试,通过测试来检测每个功能是否符合需求,,不考虑程序内部的逻辑结构,穷举输入测试,25,5/22/2025,黑盒测试和白盒测试,黑盒测试方法,功能划分,等价类划分,边界值分析,因果图,错误推测等,26,5/22/2025,黑盒测试和白盒测试,什么是白盒测试,白盒测试也称结构测试或逻辑驱动测试,必须知道软件内部工作过程,通过测试来检测软件内部是否按照需求、设计正常运行,通过逻辑覆盖、路径覆盖等方式选择测试用例,可以用测试覆盖率评价测试用例,27,5/22/2025,黑盒测试和白盒测试,白盒测试的主要方法,对应于程序的一些主要结构:语句、分支、逻辑路径、变量;白盒测试的主要方法是:,语句覆盖方法,分支覆盖方法,逻辑覆盖方法,28,5/22/2025,动态测试和静态测试,动态测试,动态测试需要在开发/测试环境或实际运行环境中运行软件,并使用测试用例去查找软件缺陷,动态测试包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等,29,5/22/2025,动态测试和静态测试,静态测试,静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估,静态测试包括代码检查、程序结构分析、代码质量度量等。它可以由人工进行,也可以借助软件工具自动进行,30,5/22/2025,黑盒白盒测试与动态静态测试的关系,黑盒测试、白盒测试,测试用例设计阶段采用的方法,动态测试、静态测试,测试执行阶段采用的方法,31,5/22/2025,课程内容,软件测试基本概念,软件测试技术,软件测试方法,软件测试流程,微软软件测试简介,32,5/22/2025,手工测试和自动测试,手工测试,自动测试,适合自动化的测试操作,手工测试和自动测试的比较,33,5/22/2025,手工测试,传统的测试方法,由测试人员手工编写测试用例,缺点在于测试工作量大,重复多,回归测试难以实现,34,5/22/2025,自动测试,利用软件测试工具自动实现全部或部分测试工作:管理、设计、执行和报告,自动测试节省大量的测试开销,并能够完成一些手工测试无法实现的测试,35,5/22/2025,适合自动化的测试操作,测试用例的生成(包括测试输入,标准输出,测试操作指令等),测试的执行与控制(包括单机与网络多机分布运行;夜间及假日运行),测试对象、范围、版本等的控制,36,5/22/2025,适合自动化的测试操作,测试结果与预期输出的对比,不吻合的测试结果的分析、记录、分类、和通报,测试的统计,报表的产生,37,5/22/2025,手工测试和自动测试的比较,手工完成测试的全部过程无法保证测试的科学性与严密性:,修改的缺陷越多,回归测试越困难,没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率,反复测试带来的倦怠情绪及其他人为因素使得测试标准前后不一,测试花费的时间越长,测试的严格性也就越低,38,5/22/2025,手工测试和自动测试的比较,自动测试将测试人员从反复、烦杂的测试执行中解放出来,用更多的时间进行测试设计和结果分析,软件测试不可能完全自动化,不能完成所有手工测试任务,无创造性且灵活性差,不能改进测试的有效性,过程中可能会遇到许多意想不到的问题,特别是当软件不稳定时,测试脚本的维护高,39,5/22/2025,课程内容,软件测试基本概念,软件测试技术,软件测试方法,软件测试流程,微软软件测试简介,40,5/22/2025,测试流程,单元测试,集成测试,系统测试,用户验收测试,回归测试,41,5/22/2025,V,模型示意图,42,5/22/2025,单元测试,完成对最小的软件设计单元,模块的验证工作,目标是确保模块被正确地编码,使用过程设计描述作为指南,对重要的控制路径进行测试以发现模块内的错误,通常情况下是面向白盒的,对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早地发现和解决不易显现的错误,43,5/22/2025,单元测试,单元测试的内容,接口测试,内部数据结构,全局数据结构,边界,语句覆盖,错误路径,44,5/22/2025,单元测试,单元测试的工具,OpenSource:xUnit,Junit-Java,NUnit-C#,DevPartner,45,5/22/2025,集成测试,通过测试发现与模块接口有关的问题,目标是把通过了单元测试的模块拿来,构造一个在设计中所描述的程序结构,应当避免一次性的集成(除非软件规模很小),而采用增量集成,46,5/22/2025,集成测试,集成测试主要内容,API,API/,参数组合,47,5/22/2025,系统测试,根据软件需求规范的要求进行系统测试,确认系统满足需求的要求,系统测试人员相当于用户代言人,在需求分析阶段要确定软件的可测性,保证有效完成系统测试工作,48,5/22/2025,系统测试,系统测试主要内容,所有功能需求得到满足,所有性能需求得到满足,其他需求(例如安全性、容错性,、,兼容性等)得到满足,49,5/22/2025,用户验收,/,确认测试,配置审查,确保已开发软件的所有文件资料均已编写齐全,并分类编目,Alpha,测试,是由用户在开发者的场所来进行的,,Alpha,测试是在一个受控的环境中进行的,50,5/22/2025,用户验收,/,确认测试,Beta,测试,由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场,用户记录测试中遇到的问题并报告给开发者,开发者对系统进行最后的修改,并开始准备发布最终的软件,51,5/22/2025,回归测试,当发现并修改缺陷后,或者在软件中添加新功能后,重新测试,用来检查被发现的缺陷是否被改正,并且所作的修改没有引发新的问题,回归测试可以通过人工重新执行测试用例,也可以使用自动化的捕获回放工具来进行,52,5/22/2025,回归测试,回归测试方式,再测试全部用例,选择基线测试用例库中的全部测试用例组成回归测试包,测试成本最高,基于风险选择测试,可以基于一定的风险标准来从基线测试用例库中选择回归测试包,53,5/22/2025,各阶段测试所使用的方法技术,单元测试,白盒、自动、静态,集成测试,白盒、黑盒、自动、静态,系统测试,黑盒、自动、手工,用户验收,/,确认测试,黑盒、自动、手工,54,5/22/2025,课程内容,软件测试基本概念,软件测试技术,软件测试方法,软件测试流程,微软软件测试简介,55,5/22/2025,微软公司软件测试简介,基本思想,测试人员,测试文档,56,5/22/2025,基本思想,测试人员的任务就是站在使用者的角度上,通过不断地使用和攻击刚开发出来的软件,尽量多地找出软件中存在的问题,57,5/22/2025,基本思想,在测试时主要考虑以下几个问题:,测试要考虑到所有的出错可能性。同时要做一些不是按常规做的操作,除了缺陷之外,测试还应考虑性能问题,保证软件运行良好,速度稳定,没有内存泄露,不会出现软件运行越来越慢的情形,测试要考虑软件的兼容性,58,5/22/2025,软件测试人员,软件测试人员分为:,测试工具软件开发工程师,软件测试工程师,管理层,59,5/22/2025,软件测试人员,测试工具软件开发工程师主要负责编写测试工具代码,并利用测试工具对软件进行测试;或者开发测试工具为软件测试工程师服务,软件测试工程师主要负责理解软件的功能要求,然后对其进行测试,检查软件有没有错误,决定软件是否具有稳定性,并写出相应的测试方案和测试用例,在微软内部,软件测试人员与软件开发人员的比率一般为1.52.5左右,微软软件开发的实践过程已经证明这种人员结构的合理性,60,5/22/2025,测试中使用的测试文档,测试计划,测试方案,测试用例,缺陷报告,测试报告,进度报告、测试记录等,61,5/22/2025,测试计划,测试计划和软件开发紧密相关,所有大型的商业软件都需要完整的测试计划,需要具体到每一个步骤,并且每一个部分都要符合规范要求,62,5/22/2025,测试计划,测试计划包括内容:,概述,测试目标和发布标准,计划将测试的领域,测试方法描述,测试进度表,测试资源,配置范围和测试工具,63,5/22/2025,测试方案,测试方案用来描述在测试计划中确定的软件测试领域的测试需求,编写测试方案,需要参照项目经理写的软件规范,开发人员写的开发计划,每个领域都应该有一份详细的测试方案,所以还需要参照测试计划,64,5/22/2025,测试方案,测试方案包括的内容:,背景信息,被测试的特性,功能考虑,测试考虑,测试流程,65,5/22/2025,测试用例,测试用例是指描述如何测试某一个领域的文档,这些文档符合测试方案中的需求说明,测试用例没有固定格式,66,5/22/2025,测试报告,测试管理人员以测试报告的形式向整个软件开发部门报告测试结果及发现的缺陷或错误,撰写测试报告的目的是为了让整个软件开发部门了解软件开发的进展情况,以使缺陷能够迅速得到修复,测试报告的格式并无定式,要求能够完整、清楚地反映当前的测试进展情况,明白易懂,无二义性,67,5/22/2025,缺陷报告,测试人员以缺陷报告的形式向开发人员报告所发现的缺陷或错误,撰写缺陷报告的目的是为了使缺陷能够得到修复,测试人员的缺陷报告撰写的好坏会直接影响到开发人员对缺陷的修复,68,5/22/2025,缺陷报告的内容,缺陷名称,被测试软件的版本,优先级与严重性,发现缺陷的测试步骤,缺陷造成的后果,预计的操作结果,其他信息,69,5/22/2025,
展开阅读全文

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


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

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

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

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

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

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服