《程序功能测试》课件 项目一 测试需求分析_第1页
《程序功能测试》课件 项目一 测试需求分析_第2页
《程序功能测试》课件 项目一 测试需求分析_第3页
《程序功能测试》课件 项目一 测试需求分析_第4页
《程序功能测试》课件 项目一 测试需求分析_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

项目一测试需求分析12任务1初识测试任务2分析测试需求初识测试任务131. 识别软件中的缺陷。2. 了解测试的概念及作用。3. 掌握测试的分类及基本流程。4测试人员需要对缺陷及测试的相关概念有初步的认知,以便为后续测试任务的开展奠定基础。因此,本任务需要测试人员能够识别基本的缺陷,并确认其类型、严重程度及优先级;能了解常见的测试分类,并针对不同的测试场景选择适合的测试方法。5一、缺陷的概述1. 缺陷相关案例(1)微软蓝屏事件2024年7月19日,微软Windows系统因安全服务商CrowdStrike的软件错误更新,叠加系统兼容问题,引发全球大规模蓝屏事件。67此次微软蓝屏事件波及不少国家和地区,影响全球近千万台使用Windows操作系统的设备,导致航空公司、银行、电信公司、媒体机构、健康医疗机构等陷入混乱。在这次事件中,全球范围内的许多用户在安装了最新的安全补丁后遇到系统崩溃,计算机显示蓝屏错误,如图所示,无法正常启动或运行。这一缺陷主要源于安全补丁中包含了与Windows操作系统中某些组件不兼容的驱动程序,触发了系统级的错误保护机制,从而引发了“蓝屏死机”问题,而该错误在补丁发布前未能被充分检测到,且在兼容性测试中未及时发现。8微软蓝屏事件9(2)12306网站崩溃自2014年12月21日起,12306网站开始销售2015年除夕火车票。作为官方网络购票渠道,网站随即迎来抢购火车票的高峰。但与往年类似,这款斥资开发的网站未能抵御流量压力,页面刷新缓慢,连续查询时提示“刷新失败”,甚至在关键时刻突然强制用户退出登录。无独有偶,2023年9月15日,正值中秋国庆黄金周铁路售票高峰期,大量旅客通过12306网站和App抢购火车票,再次遭遇系统崩溃故障。据网友反映,12306账号反复登录失败、乘车人列表加载不出来、余票显示与实际库存不一致等问题频发,如图所示。10从缺陷的角度分析,12306网站频频崩溃,是面对瞬时过大的访问量,服务器负载超出设计上限的性能缺陷。12306网站崩溃2. 缺陷的定义缺陷是指软件产品中存在的与预期功能或规范不符的问题或错误。这些缺陷可能导致软件行为偏离设计要求,影响用户体验,甚至引发系统崩溃或安全漏洞。IEEEStd729—1983标准对缺陷有明确界定:从产品内部来看,缺陷是软件开发或维护过程中存在的错误、疏漏或逻辑偏差;从产品外部来看,缺陷是系统未能实现预设功能,或功能运行结果违背用户需求的现象。更具实践指导意义的说法如下:执行测试用例过程中,若软件实际运行结果与预期结果不一致,则判定存在缺陷。实践中,人们常用Bug指代软件或程序中的缺陷。113. 缺陷的类型(1)功能缺陷功能缺陷是指软件未实现需求规格说明书中指定的功能,或功能实现与用户期望、业务需求不符。(2)性能缺陷性能缺陷是指软件运行速度慢、响应时间长,或在高负载或大数据量场景下表现异常。12(3)兼容性缺陷兼容性缺陷是指软件无法在预设的操作系统、浏览器、设备上正常运行,或与其他应用程序或系统不兼容。(4)界面缺陷界面缺陷是指用户界面不够直观,导致用户难以理解和使用软件。(5)安全缺陷安全缺陷是指软件存在可能被黑客、恶意程序等利用或攻击的安全隐患。134. 缺陷的严重程度和优先级(1)缺陷的严重程度用于描述缺陷对软件质量的影响大小,通常可以分为致命、严重、一般、建议4个级别,具体内容见下表。14缺陷的严重程度及具体内容(2)缺陷的优先级用于表示修复缺陷的紧迫程度,通常分为立即解决(P1)、高优先级(P2)、中优先级(P3)、低优先级(P4)4个级别,具体内容见下表。15缺陷的优先级及具体内容一般而言,缺陷的严重程度与优先级关联性较强,如某种特定操作会引发系统崩溃的缺陷,那么该缺陷的严重程度为致命,优先级通常为P1,即严重程度高的缺陷往往优先级也高。然而,并不是所有严重程度高的缺陷都会立即被赋予最高优先级。相反,有些严重程度较低的缺陷可能会因为特定的原因而被赋予较高的优先级。严重程度与优先级作为缺陷的两个重要属性,将出现在缺陷报告中,为修复缺陷的开发人员提供重要参考。16二、测试的概述1. 测试的简介软件测试的发展过程经历了几个重要的阶段,如图所示,每个阶段都标志着软件测试在理念、方法和技术上的进步。以下是软件测试发展过程中的6个关键时期。17软件测试的发展过程(1)调试时期早期的软件大多是结构简单、功能单一的小规模软件,开发人员通常在编写代码的过程中“顺便”进行一些简单的测试,以确保程序能够正常运行。此时的测试几乎可以等同于调试,目的是验证程序是否满足了基本需求。(2)证明时期1973年,软件测试领域的先驱BillHetzel博士认为:“软件测试是对程序或系统能否完成特定任务建立信心的过程。”也就是说,此时的软件测试重点在于验证软件是正确的。18(3)破坏时期1979年,软件测试领域的代表人物G.J.Meyers博士认为:“软件测试是为了发现错误而执行程序的过程。”也就是说,此时的软件测试不再着眼于验证软件是正确的,而是首先认定软件是错误的,然后用逆向思维去发现尽可能多的错误。19(4)标准时期经过20世纪70年代的百家争鸣,20世纪80年代软件测试终于正式走上历史舞台,拥有了属于自己的行业标准。1983年,电气与电子工程师学会(IEEE)对软件测试做出了定义:软件测试是使用人工或自动的手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。此后,软件测试逐渐成为一门专业,需要运用专门的方法和手段,需要专门人才和专家来开展。20(5)预防时期软件测试行业不断发展,形成了越来越多的优秀理念与技术。不断涌现的各种测试工具,掀起了自动化测试的浪潮,其应用程度不断提高。20世纪90年代末兴起的敏捷开发模式,使得软件的开发与测试的界限逐渐模糊,如测试驱动开发(test-drivendevelopment,TDD)中提到的“开发未动,测试先行”,将测试活动前置,通过预防手段加强质量管理。21(6)智能时期近年来,随着人工智能(AI)、大数据、云计算等新兴技术的广泛应用,软件测试行业也迎来了新的发展机遇。AI测试及大数据测试等智能化测试手段可以自动生成测试用例、预测缺陷、优化测试策略,提高测试的准确性和效率,为软件质量的保障和提升发挥重要作用。222. 测试的作用对于开发人员而言,测试用于确保软件质量,避免潜在错误,可提供反馈以改进设计和修复问题。对于测试人员而言,测试可用于验证软件是否满足客户需求,揭示潜在问题,提高软件质量。对于用户而言,测试可以确保软件满足期望,可靠且安全,从而提高用户体验和满意度。23三、测试的分类1. 按照测试技术分类(1)黑盒测试黑盒测试也称功能性测试,其目的是检查软件或程序的各种功能能否实现。黑盒测试,顾名思义是将软件或程序看作一个只有输入与输出的黑盒子,只关心输入的数据经过处理后能否输出预期的结果,并不关心软件或程序的内部如何实现,如图所示。24黑盒测试(2)白盒测试白盒测试也称结构性测试,其目的是检查软件或程序内部的逻辑处理是否正确。白盒测试,顾名思义是将软件或程序看作一个透明的盒子,测试人员可以清楚地了解软件或程序的内部结构,如图所示。25白盒测试(3)灰盒测试灰盒测试是一种介于黑盒测试和白盒测试之间的软件测试方法,它关注输出对于输入的正确性,同时也关注程序内部表现,但这种关注不像白盒测试那样详细。这种方法结合了黑盒测试的用户视角和白盒测试的内部知识,使得测试人员可以利用程序内部的一些信息,来设计测试用例,提高测试的效率和有效性。262. 按照测试目的分类(1)功能测试功能测试是众多测试类型中最基本的测试,主要根据需求规格说明书或者测试需求,验证被测软件或程序的功能是否符合需求规格。换句话说,功能测试需要验证的是软件或程序“能不能用”。(2)性能测试性能测试用来测试软件在不同使用场景下的运行性能,评估软件在不同负载条件下的响应时间、吞吐量和资源利用率等性能指标。换句话说,性能测试需要验证的是软件“在某种特定场景下”能否正常使用。27(3)兼容性测试兼容性测试主要检验软件在不同硬件平台、操作系统、应用软件环境中是否能够顺畅运行,并确保其交互性和信息共享功能的稳定性与可靠性。换句话说,兼容性测试需要验证的是软件“在某种特定环境下”能否正常使用。28(4)GUI测试GUI测试主要用于评估软件的用户界面设计、交互流程是否符合用户的习惯和需求,以提高用户体验和满意度。换句话说,GUI测试需要验证的是软件“好不好用”。(5)回归测试回归测试是指修改程序代码后,测试人员重新进行测试,以确认原有的缺陷已经消除并且没有引入新的缺陷。回归测试是测试过程中确保软件持续稳定性和一致性的重要环节。293. 按照测试阶段分类(1)单元测试单元测试也称模块测试,是对软件中最小可测单元进行的测试,最小可测单元可以是一个模块、一个类、一个方法等,其目的在于验证软件各个单元模块的正确性。单元测试通常由开发人员自行验证。(2)集成测试集成测试也称组装测试,通常是将已经通过单元测试的模块组合在一起开展的测试,重点测试模块间的接口功能是否正确。30(3)系统测试系统测试是对已经完全集成好的软件进行的整体性测试,包括对其功能、性能、兼容性、硬件适配、网络等全方位的测试,旨在验证软件是否满足用户需求。(4)验收测试验收测试旨在向软件的需求方展示该软件满足其用户需求,往往会有非测试人员参与验收测试。314. 按照被测软件或程序是否运行进行分类按照被测软件或程序是否运行分类,可以将测试分为动态测试与静态测试。(1)动态测试动态测试是指在软件运行时进行的测试,它需要实际执行程序代码,重点关注软件的实际行为是否符合预期。(2)静态测试静态测试是指在不运行代码的情况下检查和评审软件源码、文档和设计,其主要目的是发现并消除错误或不一致之处,从而提高软件质量。32四、测试的基本流程1. 分析测试需求分析测试需求是开启测试的起点与基础。当测试人员或测试团队接收到测试任务后,首先需要对待测目标进行测试需求的提取与分析:有时测试需求为软件或程序的全部需求,有时测试需求仅为软件或程序的部分需求,因此,需提前明确测试对象及测试工作的范围与重点。通常情况下,测试需求来源于需求规格说明书,其中详细描述了软件各项功能需要达成的目标,为测试的各项工作开展提供依据,换句话说,没有测试需求就无法判断测试结果是否正确。33在分析测试需求的过程中,测试人员还可以发现需求中不合理的地方,如需求描述不完善、有歧义、优先级安排不够合理等。此时,大多数公司会安排测试需求评审会议,通过与项目相关人员沟通,确定所有的测试需求都是可核实的、明确的、可测试的,为后续的测试计划制订以及测试用例设计打好基础。342. 制订测试计划制订测试计划的目的在于制订一个完整且详细的工作计划,为后续的测试工作开展提供指导。测试计划中通常包括测试目标、测试范围、测试方法、时间安排、资源分配、风险评估等内容。由于测试计划的制订往往需要丰富的测试经验用于需求评估、资源整合、风险预测等方面,因此,通常由有经验的测试负责人或管理者负责制订。经验尚浅的测试人员只需了解测试计划包括哪些内容,通过测试计划掌握并组织自己的测试任务即可。随着经验的不断积累,逐步具备独立制订测试计划的能力。353. 设计测试用例测试用例是测试过程中最为核心的内容。无数的经验表明,盲目地开始测试并不是最好的做法,提前为不同功能模块、功能点设计好测试用例(包括测试步骤、测试数据、预期结果等),这样可以有效地指导后续测试的执行,提高测试效率。测试用例示例见下表。36测试用例示例4. 执行测试执行测试其实就是按照测试用例进行测试的过程,这是测试人员最主要的活动阶段,大多数的测试新手都是从执行测试入门的。测试执行过程看似简单,仅需按照测试用例中描述的测试数据和测试步骤执行操作即可,但要想提升测试执行效率,还应掌握一些策略和技巧。同时,执行测试的目的是寻找软件或程序中的缺陷,因此,测试人员在执行测试过程中应做好测试结果的记录,若遇到缺陷则应做好缺陷的跟踪与管理。375. 撰写测试报告在测试阶段的末期需要撰写测试报告,用于对整个测试活动的总结、测试过程的归纳、测试数据的统计与分析、被测目标的质量评估。测试报告将给出被测目标是否符合发布标准的结论,为项目相关人员的发布决策提供参考。38分析测试需求任务2391. 能提取测试需求。2. 能对测试需求进行分析。40项目组计划开发iceCMS,以便于用户管理网站的文章和资源等多种内容。系统包括内容管理功能,允许用户自定义文章等内容并进行增、删、改、查操作;用户管理功能,用于管理后台用户,包括添加用户、删除用户、修改用户和分配权限;数据统计功能,用于分析网站访问量和用户行为;资源管理功能,方便用户快速整合各类资源数据。此外,iceCMS还将提供圈子管理功能,以社区互动的形式提升用户体验。iceCMS用于提高内容发布和管理的效率,同时提升网站的用户体验。iceCMS的首页如图所示。41本任务要求对iceCMS进行测试需求分析,以创建文章功能模块为例,明确测试任务的范围、类型、标准等,为后续测试计划制订与测试用例设计奠定基础。42iceCMS的首页软件需求定义的是目标软件系统要实现的功能,而业界并没有关于测试需求的明确定义,通常情况下认为测试需求是在测试开展初期确定的测试范围。获取测试任务后,测试人员需分析测试需求,明确被测对象的功能与用途,主要包括以下内容。431.明确哪些功能点需要测试,哪些功能点不需要测试。2.明确哪些功能点的优先级高,哪些功能点的优先级低。3.明确每个功能点需要测试到什么程度。4.了解需要开展哪些类型的测试。测试需求分析是软件测试的重要环节,它涉及对软件需求的深入理解、分析和细化。通过解决上述问题,可以对测试的规模、复杂度、风险等进行初步的评估,以便为后续的测试计划制订、测试用例设计等测试工作提供准确、全面的指导。44一、测试需求的提取1. 原始需求原始需求通常来自客户或业务部门的初步想法或要求,可能是非正式的、模糊的或高层次的描述,没有具体的技术细节或实现方式。2. 需求规格需求规格说明书是对原始需求进一步详细化和明确化的文档,描述了系统应具备的功能要求、性能要求、用户界面设计、数据流程等方面的详细信息,是开发团队和测试团队之间的共同参考依据。45针对上述原始需求“客户需要一个书架”,需求规格说明书可以定义为客户需要一个三层、每层至少能承重15kg、颜色为深棕色并且适合放在办公室特定角落的书架(高度为80cm、每层宽度为60cm、深度为30cm)。这些信息构成了需求规格说明书,详细说明了书架应具备的功能以及外观设计,需求规格如图所示。46需求规格3. 开发需求开发需求是从需求规格中提取出具体实现细节和技术要求的任务清单,一般有明确的实现方式,包括技术栈的选取、数据库的设计等。针对上述需求规格,需要购买足够多的木材和其他材料,确保它们的质量能够承受规定的图书重量;需要选择合适的工具和技术来切割、打磨及组装木材;还需要安排时间对木材上色和进行干燥处理。这些步骤构成了开发需求,即实际建造书架所需的具体工作和资源,开发需求如图所示。47开发需求4. 测试需求测试需求需要从测试角度考虑,重点关注可度量、可实现、可验证等几个方面。在进行测试需求提取时,由于存在参考多个需求来源的情况,可能存在重复和冗余,因此,需要对其进一步整理,如删除重复的测试需求、合并相似的测试需求等。48二、测试需求的分析通常情况下,测试需求需要进一步

温馨提示

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

评论

0/150

提交评论