大学软件工程导论《软件测试》案例教学课件_第1页
大学软件工程导论《软件测试》案例教学课件_第2页
大学软件工程导论《软件测试》案例教学课件_第3页
大学软件工程导论《软件测试》案例教学课件_第4页
大学软件工程导论《软件测试》案例教学课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

课程教学软件测试案例教学:从理论到实践概念·方法·用例·流程汇报人课程组·2026年09月课程导览01测试认知奠基经典定义、历史脉络与测试原则02双雄对决白盒测试与黑盒测试方法对比03用例设计精要测试用例要素、规范与设计方法04流程贯通测试全流程与缺陷管理05案例实践与展望综合案例与行业趋势测试认知奠基测试只能证明缺陷存在,不能证明缺陷不存在从定义出发,理解软件测试的本质与价值01什么是软件测试软件测试是在规定条件下运行程序,以发现错误并评估软件质量的过程软件测试的核心思想,是以查找错误为中心,而非证明软件的正确功能经典定义2项1983年IEEE正式定义使用人工或自动手段运行或测定软件系统,检验其是否满足规定需求,或弄清预期结果与实际结果的差别全面测试对象软件测试是对软件形成过程中的文档、数据和程序的全面测试,而不仅仅是对程序的测试通俗理解2项体检与质检类比软件测试就像给软件做一次全面的体检与质检执行测试用例通过执行设计好的测试用例,发现软件中潜伏的缺陷,进而评估软件质量软件测试的目的与价值测试的首要目的是发现缺陷,深层价值则是建立质量信心测试的首要目的是发现缺陷,深层价值则是建立质量信心首要目的发现缺陷发现软件中尽可能多的缺陷,协同开发解决问题,提高产品质量尚未发现的错误成功的测试在于发现了至今尚未发现的错误深层价值提升信心通过测试提供质量信息,让用户、开发和管理层对质量建立信心预防缺陷通过早期参与需求与设计评审,防止缺陷被引入到代码中支持决策为管理者提供软件是否可以发布的决策依据保护业务避免因缺陷导致经济损失、品牌损害或安全事故测试只能证明缺陷存在,不能证明缺陷不存在软件测试的对象与范围软件等于程序加数据加文档,测试贯穿整个软件生命周期测试对象软件测试的对象是包括

程序、数据、文档

的完整集合软件测试绝不仅仅是程序测试,测试对象贯穿软件生命周期的每个阶段需求分析阶段需求规格说明书概要设计阶段概要设计说明书详细设计阶段详细设计说明书编码阶段源程序代码值得警惕60%以上的软件错误不是程序错误,而是分析设计阶段的错误,因此做好需求和设计阶段的测试至关重要软件测试的基本原则测试要有计划、尽早介入,且需要多种方法协同配合核心原则七条基本原则指导测试实践01尽早介入测试应尽早介入项目,测试工作要有计划02避免自测尽量避免测试自己开发的程序03缺陷证明测试只能证明缺陷存在,不能证明缺陷不存在04限制权衡彻底测试难以成为现实,要考虑时间、费用等限制05需求追溯测试应追溯到用户需求,以需求为基准06设计执行分离测试设计与测试执行应该进行分离07免疫性应对软件缺陷具有免疫性,应尽可能采用多种方法和数据对软件进行测试理解这些原则,才能在实践中合理分配测试资源,避免陷入盲目测试软件测试的发展历程软件测试从开发附属走向独立学科,历时数十年演进测试已从单纯的纠错活动,演变为贯穿软件全过程的质量保障体系20世纪50年代测试与调试混同被视为开发附属1957年首次区分测试与调试查尔斯·贝克首次将二者区分开1972年首届正式会议北卡罗莱纳大学举办首届软件测试正式会议1979年《软件测试的艺术》迈尔斯出版,系统阐述测试定义、目标与方法1983年IEEE正式定义提出验证与确认的V&V理论90年代生命周期扩展扩展为计划、分析、设计、开发、执行与维护双雄对决黑盒测功能对不对,白盒测代码跑没跑全两种方法,一个目标,互补共生02白盒与黑盒的核心区别黑盒测功能对不对,白盒测代码跑没跑全黑盒测试不能取代白盒测试,两者是

互补关系黑盒测试别称功能测试、数据驱动测试视角把程序看作黑盒子关注点输入输出关系测试依据需求规格说明书白盒测试别称结构测试、逻辑驱动测试视角把程序看作透明盒子关注点内部逻辑结构与代码路径测试依据程序源代码黑盒测试的方法与场景黑盒测试从用户视角出发,检查每个功能是否符合要求黑盒测试着眼于程序外部结构,是测试工程师日常工作的主力方法主要适用于系统级、集成级测试阶段更符合真实用户的使用场景和需求,容易发现实际使用中的问题方法定位3项完全不考虑内部结构和内部特性,在程序接口进行测试只检查程序功能是否按照需求规格说明书的规定正常使用又称功能测试、数据驱动测试或基于规格说明的测试常用方法7项等价类划分法边界值分析法判定表法因果图法正交实验法场景设计法错误推测法白盒测试的方法与场景白盒测试基于源代码,检验程序内部逻辑是否符合设计规格方方法定位别名又称结构测试、透明盒测试或逻辑驱动测试途径通过分析代码的控制流、数据流和执行路径设计测试用例目标追求的目标是逻辑覆盖率逻辑覆盖率法常用方法覆盖逻辑覆盖法路径基本路径测试法静态静态结构分析法检查代码检查法准则逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖等六种准则六种准则优优缺点优点深入程序内部,测试粒度较细,是黑盒测试的有力补充缺点对编程语言要求较高,人力成本较大,容易偏离实际需求单元测试与代码审查白盒测试的六种覆盖准则覆盖能力由弱到强:语句覆盖最弱,路径覆盖最强路径数量往往非常庞大,实际测试需在覆盖率与成本之间权衡六种覆盖准则语句覆盖·判定覆盖条件覆盖·判定条件覆盖条件组合覆盖·路径覆盖最弱语句覆盖每条可执行语句至少执行一次分支判定覆盖每个判定取真取假分支各执行一次条件条件覆盖每个条件的真值假值至少出现一次叠加判定条件覆盖同时满足判定覆盖和条件覆盖组合条件组合覆盖每个判定所有真假组合至少执行一次最强路径覆盖每条路径都至少执行一次两种测试方法对比总结白盒关注内部实现,黑盒关注外部行为,两者互补共生对比维度白盒测试黑盒测试测试目标检验内部逻辑正确性检验功能与性能需求测试策略基于内部结构设计用例基于规格说明设计用例执行者开发工程师为主测试工程师为主主要阶段单元测试、集成测试系统测试、验收测试核心目标检验代码有没有做得不对检验程序做没做到该做的事在实际软件测试过程中,通常会结合使用这两种方法,先由白盒测试保障代码级质量,再由黑盒测试验证用户级功能,共同确保软件的质量与稳定性用例设计精要好的测试用例,是发现尚未发现错误的关键掌握用例设计,提升测试效率与覆盖率03什么是测试用例测试用例是测试工作的核心,也是优秀测试人员的基本功理解测试用例,是每个测试人员把工作做扎实的第一步定义为实施测试,向被测系统所提供的输入数据、操作或环境设置以及期望结果的特定集合本质上是解决要测什么、怎么测、如何衡量三个问题作用让整个测试过程有章可循,高效快捷,不至于有所疏漏用例设计的准确性、合理性、覆盖率,直接体现测试的效率与质量设计原则与适用范围核心原则是尽可能百分之百地覆盖需求等价类、边界值、必填项、逻辑流程需要写用例提示语、常识类、易用性通常不必单独写用例一份合格的测试用例,一定是被

设计

出来的,而非简单编写测试用例的核心要素一份完整测试用例,由必填要素与选填要素共同构成要素齐全的用例,才能保证测试过程的一致性与可重复性。必填要素6项用例编号由字母、数字组合而成的唯一标识用例标题概括描述用例验证什么,永不重复前置条件执行用例前需满足的前提状态测试步骤具体的操作行为序列预期结果详细描述应得到的输出与状态优先级高、中、低三档选填要素标识系统名称、模块名称、用例创建时间、用例类型执行执行时间、执行状态、案例设计者、设计日期用例编号与标题规范编号唯一易识别,标题清晰不重复用例管理以唯一性与清晰性为准绳,编号与标题各司其职、互为印证用例编号规范3项命名规则项目名称+测试阶段类型+编号,如

项目名-ST-001常用格式系统名称_模块名称_数字,如

系统_登录_001核心要求唯一性与易识别性用例标题规则标题永远唯一,不存在两条完全相同的用例描述简单、易懂、清晰,能加"验证"尽量加上与预期结果相呼应,写清楚验证的具体点使用陈述句,不使用判断句或疑问句不能把缺陷写成用例特别注意:一个无效等价类对应一条用例,不能把多个无效等价类写进同一条用例测试用例的优先级划分用有限的时间,优先测试最重要的功能合理划分优先级,能在时间受限时把测试力量用在刀刃上优先级分档与占比优先级占比典型场景P110%至20%冒烟用例、主流程、最常用功能P260%至70%正常场景、边界区域、逻辑用例P35%至10%异常场景、发布前可暂不回归的用例P4小于5%极度异常、生僻、低频场景优先级在项目执行过程中并非一成不变,需随质量要求动态调整等价类划分法用少量有代表性的数据,取得良好的测试效果若代表值通过测试,则认为其所代表的整个等价类都通过核心思路2项划分与取值依据需求把输入域划分为若干等价类,从每类中选取代表性数据作为测试用例方法价值有效解决无法穷举测试的难题两类划分设计原则3项有效类覆盖设计用例尽可能多地覆盖尚未被覆盖的有效等价类无效类单覆盖每条新用例仅覆盖一个尚未被覆盖的无效等价类示例姓名输入框限制2至10个字符,有效类可输入中文、英文,无效类可输入数字、特殊符号边界值分析法大量错误发生在边界值附近,而非值域内部应选取正好等于、刚刚大于或刚刚小于边界值的数据作为测试数据经验规律边界值分析方法是对等价类划分方法的

补充应选取正好等于、刚刚大于或刚刚小于边界值的数据作为测试数据边界值一般与等价类方法配合使用,形成完整的测试方案判定表法与因果图法多条件组合逻辑,用判定表与因果图梳理清楚面对多条件组合的逻辑判断,判定表与因果图是梳理规则、设计用例的两把钥匙。判定表法3项四要素条件桩、条件项、动作桩、动作项规则数n个条件各取两值,共

2的n次方

条规则适用场景逻辑判断复杂、条件组合较多因果图法4项分析方式图形化分析输入与输出间的因果关系基本关系恒等、与、或、非约束关系互斥、包含、唯一、要求、屏蔽落地路径最终转换为判定表,据此设计用例方法局限因果图分析过程复杂,因果关系不易获取;对象复杂时用例数量庞大,实际应用不多。错误推测法与场景法经验加场景,弥补纯机械方法的不足经验加场景,弥补纯机械方法的不足实际项目中,建议根据系统特点选取

三到四种

核心方法组合使用,既保证覆盖率,又控制测试成本错误推测法4项基于经验和直觉,推测程序中可能存在的各种错误针对性设计测试用例,使设计更具针对性与有效性示例:测试除法运算时,主动测试除数为

0

的情况示例:移动端要考虑

弱网、中断恢复

等场景场景设计法4项模拟真实用户旅程,设计主线与分支基本流:标准的正向操作路径备选流:各种异常情况和分支选择重点验证状态跳转与数据一致性流程贯通需规设环执缺归报,六步走完测试全流程从需求分析到测试总结,环环相扣04软件测试流程总览需规设环执缺归报,六步走完测试全流程六大阶段依次推进,从需求分析到测试总结,构成完整测试闭环。1需求分析明确测试目标、范围、优先级,梳理测试点2测试计划制定测试策略、资源安排、时间表与风险应对3测试设计设计覆盖各类场景的测试用例4测试执行运行测试用例,发现并提交缺陷5缺陷管理跟踪缺陷状态,确保及时修复并验证6测试总结复盘测试过程,输出测试报告与质量评估敏捷适配测试流程与开发迭代循环,形成验证新增功能、回归历史功能、修复验证、每轮总结的Sprint流程收尾按照标准流程执行,可有效减少工作遗漏需求分析与测试计划需求分析定方向,测试计划定打法需求理解不清,是后续测试偏差的重要根源📖需求分析阶段目的明确测试目标、范围与优先级工作阅读需求文档、接口文档、原型图,梳理功能与界面流程沟通与产品、开发沟通不明确的测试点产出功能点清单、测试点列表、需求跟踪矩阵📋测试计划阶段目的制定测试的整体策略和资源安排内容确定测试范围、明确人员分工、安排测试进度风险风险评估与应对,工具选型如

Postman、JMeter、JIRA、禅道产出测试计划文档、测试进度表、资源配置表测试设计阶段好的用例是设计出来的,需要评审与持续完善测试设计阶段围绕用例设计与评审完善两条主线展开,形成可持续迭代的用例资产。核心活动3项功能测试用例设计运用等价类、边界值、判定表等黑盒方法接口测试用例设计编写异常、边界、安全性测试用例回归测试用例集覆盖历史功能评审与完善3项脑图管理与评审大纲用脑图管理,评审对象包括测试负责人、项目经理、开发及相关测试人员定期修改更新产品新增功能或需求更新后,用例必须定期修改更新反向完善用例因用例漏洞导致的线上缺陷,需反向完善用例产出物测试用例文档测试数据用例审查记录任何测试用例的新增和更新都必须经过评审流程测试执行与缺陷管理从冒烟到回归,从提交到关闭,执行与缺陷管理环环相扣确保所有缺陷被妥善处理,是软件质量稳定的关键一环测试执行01环境搭建搭建环境,部署被测版本,对接持续集成02冒烟测试先验证系统基本功能是否可测03详细测试按优先级执行用例,覆盖功能、性能、兼容性04回归测试验证缺陷修复后是否影响原有功能缺陷管理提交提交缺陷需包含复现步骤、日志截图,描述清晰流转跟踪缺陷状态流转:新建→处理中→已修复→已验证→关闭评估评估缺陷严重程度和优先级,分析高频缺陷的原因工具建议JIRA禅道TAPDBugzillaTestLinkTestRail测试报告与总结测试报告是质量状况的最终呈现,也是发布决策的依据测试结束阶段:归档材料、清理测试数据,为下一轮迭代积累经验报告内容4项功能覆盖率统计功能覆盖率与用例执行情况缺陷情况呈现缺陷数量与修复情况遗留问题说明遗留问题及风险整体质量评估给出是否可上线的结论质量评估与总结3项覆盖率与缺陷分布分析测试覆盖率、缺陷分布,如模块缺陷密度系统质量评估评估系统质量,给出是否可发布的建议测试经验总结总结流程优化点、自动化改进建议产出物测试报告·质量评估表·测试复盘总结测试级别分类按V模型划分,从单元到验收层层递进常见测试类型:功能测试、接口测试、性能测试、兼容性测试等,可在各流程中穿插不同级别关注不同粒度的质量问题,共同构成完整的软件测试体系测试级别测试对象执行者目的单元测试最小可测单元,如函数、方法开发工程师验证代码逻辑正确性集成测试多个模块组合后的组件开发或测试工程师检验模块间接口与交互系统测试完整的软件系统测试工程师验证整体是否满足需求验收测试完整的软件系统最终用户或客户确认系统是否可被接受案例实践与展望测试是质量的守门员,更是预防缺陷的第一道防线学以致用,拥抱智能测试新时代05案例:登录功能测试把方法用起来,一个登录框也能设计出完整用例用例标题测试输入预期结果验证合法用户名登录合法6位用户名登录成功验证用户名过短5位用户名提示长度不足验证密码纯数字纯数字密码提示格式错误通过等价类与边界值结合,用有限用例覆盖了主要风险点案例:年龄字段分析边界值三值法,专抓临界点上的隐患边界值分析法是对等价类划分的有效补充,能显著提高发现缺陷的概率案例需求年龄输入框,允许输入

1至120岁

的整数有效等价类1至120之间的整数无效等价类小于1、大于120、非整数字符边界值用例设计下界上点测试数据

1

温馨提示

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

评论

0/150

提交评论