版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件测试业务概述软件测试业务概述设计培训系列之三课程目的课程目的: :学习了解软件审查测试的基本学习了解软件审查测试的基本流程和常用方法流程和常用方法 软件测试的基本概念 软件测试的过程 软件测试的管理 部分软件测试方法什么是软件测试软件测试的定义软件测试的定义 根据侧重点的不同,主要有以下三种观点: 1)1983年IEEE将软件测试定义为:“使用人工或自动手段运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是明确预期结果与实际结果之间的差别”,该定义明确地提出了软件测试以检验是否满足需求为目标。 2)Myers认为:“是为了发现错误而执行程序的过程”,明确提出了“寻找错误”是测
2、试目的。什么是软件测试 3)从软件质量保证的角度看:是一种重要的软件质量保证活动,其动机是通过一些经济、高效的方法,捕捉软件中的错误,从而达到保证软件内在质量的目的。也有人认为软件测试(software testing)就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。 以最少的时间和人力找出潜在的错误和缺陷 证明软件的功能和性能是否与需求说明书相符 收集测试数据作为软件质量评估、可靠性评审的依据软件测试的目的软件测试贯穿软件定义与开发的整个期间。测试对象包括文档和代码: 需求规格说明 概要设计 详细设计 程序代码 用户手册软件测试的对象软件测试横跨
3、开发阶段和测试阶段开发阶段:文档审查(需求规格、概要设计、详细设计,单元(模块)测试测试阶段:集成测试、确认测试、系统测试、用户手册等文档验证。软件测试的生存周期软件的验证和确认(V&V)软件的验证和确认(V&V)软件的验证和确认(V&V)1.缺陷(Defect) 程序员在编写代码时会出错,我们把这种错误称之为Defect或者bug,随着开发过程的进行,缺陷会不断的放大,成为运行时的故障,导致失效。2.错误(Error) 描述软件生命周期各种错误的一般术语,缺陷、故障有时都称为错误。3.故障(Fault) 软件运行中出现的状态,可引起意外情况,若不加处理,可产生实效,是
4、一个动态行为。4.失效(Failure) 出现故障的软件运行时,常常会发生失效的。软件测试相关的术语软件测试:软件测试:为了发现软件中的错误而执行程序的过程。测试用例:测试用例:为发现软件错误设计的测试输入数据和与之对应的预期输出结果。测试规范:测试规范:测试的指导性文件,对测试过程中所涉及到的测试理论、测试类型、测试方法、测试标准、测试流程以及软件产品开发单位所承担的职责进行总体规范,以有效保证产品的质量。软件测试相关的术语黑盒测试:黑盒测试:不考虑程序内部的逻辑结构和内部数据,只依据程序的需求说明,检查程序的功能是否符合它的功能说明。又称功能测试或数据驱动测试。主要包括:是否有不正确或遗漏
5、了的功能在接口上,输入能否正确地接收,能否输出正确的结果是否有数据结构错误或外部信息访问错误性能上是否能够满足要求是否有初始化或终止性错误软件测试相关的术语白盒测试:白盒测试:对软件的过程性细节作细致的检查。测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例进行测试。又称为结构测试或逻辑驱动测试。对程序所有模块的独立的执行路径至少测试一次对所有的逻辑判断,取真与取假的两种情况都能至少执行一次在循环的边界和运行界限内执行循环体测试内部数据结构的有效性软件测试相关的术语群集现象:群集现象:测试后程序中残存的错误数目,与该程序中已发现的错误数目或检错率成正比。在所测的程序段中,若发现的错误
6、数目较多,则残存的错误数目也较多。软件测试相关的术语 软件测试的基本概念 软件测试的过程 软件测试的管理 部分软件测试方法 软件测试活动包括设计评审、代码正规检视、设计评审、代码正规检视、单元测试、代码审查、集成测试、系统测试系统测试等。 设计评审、代码正规检视、单元测试:开发阶段完成,绝大部分逻辑错误要通过这一阶段的工作解决 代码审查、集成测试、代码测试、功能测试:测试阶段完成,要发现隐藏深入的逻辑问题及模块间配合问题 以测试小组的方式开展工作。通过加强测试小组内部的交流,来提高人员的测试水平,保证测试质量 对测试结果的不断总结,形成可共享的测试方法和经验软件测试过程软件测试过程设计评审设计
7、评审 描述:设计评审主要是根据经验、规范和标准指出软件产品中可能存在的问题或给出可选的建议。 设计评审由开发人员组织完成,测试人员参加设计评审的要求:审查可测试性方面是否满足要求参与审查软件设计是否满足要求 测试对象:软件概要设计、详细设计等设计文档。软件测试过程正规检视正规检视 描述:正规检视是发现、排除软件在开发周期各阶段存在的问题和不足的过程,是一种静态测试方法。共分计划、介绍会议、会议准备、检视会议、共分计划、介绍会议、会议准备、检视会议、第三小时会议、修改错误、问题跟踪第三小时会议、修改错误、问题跟踪等七个阶段。 正规检视本质上来说是一种管理方法,为了达到尽可能地消除问题、保证工作质
8、量、提高效率的目的,对整个操作过程进行了严格细致的规定,这些规定需要严格遵守,任何对规定的偏离都可能对结果产生不良的影响。 测试对象:程序的核心代码或其他重要代码,也可根据软件的实际情况对其他部分代码进行。软件测试过程单元测试单元测试 描述:单元测试是对软件设计的最小单位(一个或多个子程序,一个模块)进行正确性验证的测试,以消除程序模块内部在逻辑上和功能上的错误和缺陷。模块接口测试:应对所有通过测试模块的数据流进行测试数据结构测试:测试局部数据结构的正确性及全局数据对模块的影响路径测试:对模块中重要的执行路径进行测试。应设计测试用例查找由于错误的计算、不正确的比较或不正常的控制流而导致的路径错
9、误错误处理测试:设计测试用例,测试程序对出现错误情况处理的正确性边界测试:设计测试用例,测试数据流、控制流对边界值的处理情况测试对象:开发人员已经编写完成的模块代码审查代码审查 描述:代码审查是软件测试的一个重要环节,是保证软件质量的有效手段之一,同时也是集成测试和代码测试重要的前期准备工作。从软件整体的角度进行审查,系统级的代码审查在测试阶段,对归版本后的软件进行以审查小组的方式工作 代码审查包括计划阶段、软硬件介绍、审查代码、小组讨论、研发交流、问题跟踪六个阶段。 测试对象:完整的软件代码及其文档 操作流程:参照软件代码审查操作指导书、软件代码审查项目进行软件测试过程集成测试集成测试 描述
10、:在单元测试和代码审查的基础上,需要将所有模块按照设计要求组装成系统。组装测试需要验证以下问题:在把各个模块连接在一起的时候,穿越模块接口的数据是否会丢失一个模块的功能是否会对另一模块的功能产生不利的影响各子功能组合起来,能否达到预期要求的父功能全局数据结构是否有问题软件测试过程系统测试系统测试 通过确认测试的软件,作为整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境中对计算机进行一系列的组装测试和确认测试。 系统测试的目的是通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。软件测试过程 测试与测试与 测试测试
11、测试是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。 测试是由软件的多个用户在一个或多个实际使用环境下进行的测试。验收测试验收测试以用户人员为主,开发和QA人员参加的对软件的功能和性能、可移植性、兼容性、可维护性、错误恢复等功能进行的测试。确认测试结果确认测试结果确认软件功能与性能与用户的要求一致,软件可以接受软件功能和性能与用户的要求存在的差距软件测试过程说明:M=必要(Mandatory) H=积极推荐(Highly Recommended ) S=建议使用(Suggested)软件测试过程测试步骤测试种类开发阶段的测试产品阶段测试设计单元测试
12、模 块 测试集 成 测试部件测试有效性测试测试测试验收测试系 统 测试设计评审MS代码审查MHH功能测试(黑盒)HMMMMMMMM结构测试(百盒)HMS回归测试SHMMM可靠性测试HMMMMM强度测试HMH性能测试SHMMMMH恢复测试M启动/停止测试M配置测试HMM安全性测试H可用性测试SHMM可支撑性测试HM安装测试MMM互联测试SMM兼容性测试MMMM容量测试HM容错能力测试MMM文档测试MSHM 软件测试的基本概念 软件测试的过程 软件测试的管理 部分软件测试方法 测试发现问题级别的确定测试发现问题级别的确定致命:软件或硬件的缺陷引起系统死机,系统崩溃,主要功能丧失等严重错误严重:软件
13、或硬件的缺陷导致经常性、大范围出现的功能错误。一般:软件或硬件的缺陷导致不常见、不扩散的功能错误。提示:不影响功能,但不符合设计规范,如可以达到更好的设计余量,编程风格问题等。测试管理相关问题很多时候要确定某一具体问题的级别是困难的。具体操作时要把握好以下几点:任何情况下,确实可以不改的问题定义为提示性问题;目前没有问题,但修改或升级后会出现问题定为一般;在某种条件下会发作并影响功能的问题,视发作时的影响程度定为一般或严重;如果爆发,会造成瘫机、对业务产生严重影响的问题定为致命。在一般情况下,严格控制将问题定为致命。测试管理相关问题问题类型子类逻辑错误变量、常量使用条件判断循环边界内存管理数组
14、越界运算符使用宏定义及使用预处理条件指针使用break、continue控制流编译问题数据结构数据结构定义数据结构使用函数、模块接口 函数定义错误入口参数使用错误入口参数合法性检查出口参数错误出口参数使用错误测试管理相关问题 测试发现问题的分类测试发现问题的分类功能问题功能不全功能实现错误处理过程不完善运行效率多余代码频繁调用函数的优化算法实现低效一致性与需求、设计文档不符程序前后不一致稳定性临界资源保护函数重入中断重入硬看门狗可维护性和标准规范可维护性和标准规范硬件初始化与操作RAM检测和初始化接口芯片软硬件配合问题软硬件配合问题笔误笔误其它不包含在以上类型中的问题测试管理相关问题最常见的测
15、试文档包括测试计划,测试规范,测试用例和测试时发现缺陷后要写的缺陷报告等。 测试计划和测试文档在测试过程的作用呢? 1、测试文档有助于测试任务的完成。 2、使用测试文档可以更好的协调测试任务与测试过程。 3、测试文档为测试项目的组织、规划与管理提供了一个架构。测试文档 测试计划测试计划 在制定测试计划过程中,核心活动是: 一一、确定测试策略、确定测试策略 通常,可以采用以下几个方法来制定测试策略: 1、确定测试的范围 2、确定测试的方法 3、确定测试标准和质量检查点 4、确定自动化测试策略测试文档 图2-20 测试计划活动测试文档 二、确定测试系统(硬件和软件)二、确定测试系统(硬件和软件)
16、1、测试架构 测试架构指的就是测试用例的组织结构。 2、测试工具 3、测试环境 测试环境的组成包括物理测试设施,产品运行的操作系统、产品运行的计算平台等。 4、测试配置情况 需要排列配置的优先级,然后决定哪些配置需要全面测试,哪些可以进行部分测试。测试文档 三、预估测试工作量(资源和时间进度计划)三、预估测试工作量(资源和时间进度计划) 对项目进行预估有5个准备步骤: 1、确定要完成的任务。 2、确定每项任务所需的工作量和整个测试生命周期的工作量。 3、确定完成每项任务以及整个测试生命周期所需的时间。 4、为测试工作建立详细的时间进度计划和里程碑表。 5、评估时间进度风险并准备缓解风险计划。
17、四、准备并复查测试计划文档。 1、测试计划格式 2、测试计划复查测试文档 测试报告测试报告 测试报告是测试阶段最后的文档产出物,优秀的测试经理应该具备良好的文档编写能力,一份详细的测试报告包含足够的信息,包括产品质量和测试过程的评价,测试报告基于测试中的数据采集以及对最终测试结果的分析。测试文档 测试用例测试用例 一、为什么做测试用例 主要原因有如下几点:完全测试是不可能的;输入量太大;输出结果太多;软件实现途径太多;软件说明书没有客观标准。从不同角度看,软件缺陷的标准不同。 二、什么是测试用例 比较通常的说法是:为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,称之为测试用
18、例。测试文档 三、使用测试用例的好处 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。 测试用例的使用令软件测试的实施重点突出、目的明确。 在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。 功能模块的通用化和复用化使软件易于开发,而 用于功能模块测试的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。测试文档 四、测试用例在软件测试中的作用 指导测试的实施 规划测试数据的准备 评估测试结果的度量基准 分析缺陷的标准 编写测试脚本的设计规格说明书 测试文档五、测试用例文档的编制 首先,在编写测试用例之
19、前需要准备以下几个编写的依据:需求说明以及相关文档;相关的设计说明(概要设计,详细设计等);与开发组交流对需求理解的记录(可以是开发人员的一个解释);已经基本成型的UI(可以有针对性地补充一些用例)。 其次,编写测试用例文档应有文档模板,须符合内部的规范要求。 最后一点就是,测试用例文档应该由简介和测试用例两部分组成。下面从测试用例的设置、设计、评审、修改以及管理等几方面来详细讨论测试用例文档的编制问题:测试文档 1、测试用例的设置 2、测试用例的设计 测试用例可以分为基本事件、备选事件和异常事件。软件测试常用的设计测试用例的基本方法有:等价类划分法、边界值分析法、错误推测法、因果图法、逻辑覆
20、盖法等。视软件的不同性质采用不同的方法。如何灵活运用各种基本方法来设计完整的测试用例,并最终实现暴露隐藏的缺陷,则要凭测试设计人员的丰富经验和精心设计。 3、测试用例的评审 4、测试用例的修改更新 5、测试用例的管理 测试管理软件的主要功能有三个: 能将测试用例文档的关键内容; 可供测试实施时及时输入测试情况; 最终实现自动生成测试结果文档。 测试文档 软件测试的基本概念 软件测试的过程 软件测试的管理 部分软件测试方法基于用户需求的测试基于用户需求的测试 黑盒测试用例就是基于用户需求的,也是从研究客户需求工作开始的。等价划分等价划分 等价类是指某个输入域的子集合,在该子集合中,各个输入数据对
21、于揭露程序中的错误都是等效的。具体测试时需要对有效等价类和无效等价类均需测试。边界值分析边界值分析 针对各种输入或输出范围的边界的情况设计测试用例,以发现错误的方法。测试用例设计方法状态转换测试状态转换测试 状态转换测试适用于软件被设计成一个状态机或实现了一种被建模成一种状态机的情况。可以设计测试用例测试状态间转换,测试用例创建引起转换的事件。可以设计负面测试的测试用例用于测试状态与事件的非法组合。 分支测试分支测试 在分支测试中,测试用例用于测试单元的控制流分支或决策点。通常用于实现决策覆盖(Decision Coverage)的测试目标。测试用例设计方法错误推测错误推测 根据经验和直觉推测
22、程序中可能存在的错误,针对性地编写检查这些错误的测试用例。因果图方法因果图方法 因果图方法适合于检查程序输入条件的各种组合情况。使用该方法首先要理解软件所表示的对象及其关系,然后,定义一组保证“所有对象与其他对象都具有所期望的关系”的测试序列。 测试用例设计方法被测试对象的抽象描述一个软件架构由一些架构元素架构元素(组件、连接器和数据组件、连接器和数据)的配置来定义,这些元素之间的关系受到约束,以获得想要得到的一组架构属性。一个组件是软件指令和内部状态的一个抽象单元,通过其接口提供对于数据的转换。一个连接器是对于组件之间的通讯、协调或者合作进行仲裁的一种抽象机制。一个数据是组件通过一个连接器接
23、收或发送的信息元素。配置文件映像被测试对象的抽象描述处理过程内部数据配置文件组件接口数据差错数据加扰算法测试用例的组织 功能测试 性能指标测试 接口测试 容错能力测试(接口/运行上下文) 可靠性试验高低温试验、湿热试验、老化试验、静电冲击试验(ESD)1.常见测试方法1.1.覆盖率测试1.2.流程跟踪方法1.3.消息环回测试1.4.误码插入方法1.5.极限测试测试设计方法逻辑覆盖逻辑覆盖语句覆盖:使得每一可执行语句至少执行一次。判断覆盖:使得每一个判断的取真分支和取假分支至少经历一次。又称为分支覆盖。条件覆盖:使得每个判断的每个条件的可能取值至少执行一次。判断-条件覆盖:使得每个条件的所有可能
24、的取值至少执行一次,使得每个判断的所有可能判断结果至少执行一次。既要求所有各个判断的所有可能的条件组合至少执行一次。路径覆盖:设计测试用例,运行被测程序,使程序中的所有路径都走了一遍。这是级别最高的覆盖率测试,由于程序中的路径数是一个非常庞大的数字,一般很难实现。条件-组合覆盖:使得判断中每个取值组合至少执行一次。覆盖率测试1、选择需要测试的模块(一般选择比较重要的模块或函数)。考虑到一次全部打点比较困难,产生的数据也比较多,分析困难,同时也缺乏针对性,因此,需要根据本次测试的目的(测什么、希望得到什么数据、结果等)来选择代码2、构造测试用例:根据测试目的构造具有针对性的测试用例3、打点。可在
25、条件分支、变量变化、函数入口/出口等地方加打印语句或记录语句,以便产生所需要的分析数据4、运行测试用例,将修改完的代码,编译、连接后,在目标机上运行测试用例,产生数据或从监控终端上监视运行结果。5、 数据收集及分析。分析数据主要是对实际产生的数据与理论上的数据相比较的过程,对不一致的地方记录。 如果实际结果与理论结果不一致,则需要在对代码分析的基础上,再次从步骤2开始循环本测试过程覆盖率测试覆盖率测试被测代码审查测试对象测试对象构造测试用例运行测试用例打点数据分析结束给出测试结果选择审查编译运行分析覆盖率测试步骤分解图消息环回示意图如下:环回测试对 端本 端消 息 产 生 器 消 息 分 析
26、器图 1 消 息 自 环 示 意 图层 2层 2层 1层 1本 端 层 2自 环本 端 层 1自 环对 端 层 1自 环对 端 层 2自 环通信软件中物理层和链路层质量的好坏,直接影响了整个系统的质量。进行深入、细致的物理层和链路层测试是软件测试中必不可少的。在实际测试过程中,消息自环测试不失为一种有效方法。消息自环可以通过硬件自环和软件自环来实现。硬件自环通过线路换回或者自环设置实现,软件自环可以修改或设置代码实现。按分层理论看,自环可以有以下几种自环:1、本端层2自环;2、本端层1自环;3、对端层1自环;4、对端层2自环,等等。环回测试误码插入测试是在被测协议层上对与被测协议相关的收发消息
27、和收发过程施加扰动,模拟消息在底层和物理链路上传输时的各种可能情形,从而验证被测协议实现代码实际运行中的各个子流程的一种测试方法。测试时要对链路上流动的消息及消息的处理过程进行跟踪,且需要对每一次的扰动过程产生的测试数据进行分析。误码插入测试(1)根据测试需求,设计消息扰动程序。在被测协议层对所有与本协议有关的消息在接收后和发送前,调用消息扰动函数进行处理。同时在消息处理模块中,对所有通信双方交互的消息加以记录。(2)无扰测试。运行程序,对消息不施加任何扰动。仅对消息收发处理过程加以记录,测试协议的正常工作情况。(3)错帧测试。运行程序,对消息施加错帧扰动,扰动方式由扰动函数配置。对消息收发处
28、理过程加以记录,测试消息帧出错时程序的处理过程。(4)丢帧测试。 运行程序,对消息施加错帧扰动,扰动方式由扰动函数配置。对消息收发处理过程加以记录,测试消息帧丢失时程序的处理过程。 误码插入测试(6)自愈测试。运行程序,对消息施加异常扰动,扰动方式由扰动函数配置,使程序进入异常分支。对消息收发处理过程加以记录,测试异常时状态能否自愈和自愈过程的合理性。(7)超时计数值测试。 运行程序,对消息施加超时扰动,模拟链路阻塞,扰动方式由扰动函数配置,使程序进入超时重发子流程。对消息收发处理过程加以记录,测试超时重发行为和计数值对链路时延的合理性。(8)重发次数值测试。 运行程序,对消息施加超时扰动,扰
29、动方式由扰动函数配置,使程序进入超时重发子流程。 对消息收发处理过程加以记录,测试链路阻塞时,重发次数常量的合理性和完全阻塞时程序的处理过程。误码插入测试极限测试使被测系统处于一种大流量、满负荷、满配置的状态,这样可以暴露在一般情况下不易出现的一些问题。业务流量极限测试。在某些用软件实现数据转发功能的单板中,大流量的数据灌入或输出不但可以测试软件的转发处理能力,而且可以测试出数据通道驱动程序和上层软件是否有缓冲区丢失、内存泄漏、越界等情况。容量极限测试。这种方法一般通过修改软件,向外发送超长的数据报,或从数据通道接收超长、超短的数据报,测试软件对不同长度数据的处理情况。极限测试极限测试资源极限
30、测试。该测试方法是通过修改软件,预先占用软件的某些资源,然后进行正常的测试,测试资源减少对软件运行的影响;或者增加软件的某些资源,再进行大流量等测试,测试增加资源对软件处理能力提高和优化的影响。被测试的资源有软件中的数据发送或接收队列、内存等。时间极限:在测试过程中,不要频繁对被测单板重新启动或上下电,在相对长的时间内加上业务让软件跑,并记录发生的情况。这样可以测试某些内存泄漏、数组越界等情况。异常流程的触发测试异常流程的触发测试在程序的正常运行过程中,异常流程的条件一般很难触发,所以处理异常流程的条件分支一般不执行。为了测试异常流程,根据具体程序的条件判断,通过模拟异常条件,使得程序按异常流
31、程的条件分支运行。测试步骤分析程序的异常流程的条件分支,找出程序运行异常流程的触发条件。这种触发条件主要是指宏观条件,不修改程序能在外界进行模拟。在系统中模拟异常流程的触发条件,促使程序按异常流程的分支进行运行。这种模拟的方法例如插拔网线、主备倒换、局部改变的硬件连接、操作过程异常、频繁上下电等操作。在系统中测试程序运行异常流程的结果。如果程序运行不正常,用仿真和调试工具跟踪和分析异常流程的程序段,用设断点、单步执行等方法逐步定位程序运行异常的具体位置。对怀疑的程序段进行反复修改,编译后重复以上的测试。异常流程测试异常流程的测试用例设计概述有时软件规模较大,异常流程的宏观条件不好模拟,可以将程
32、序划分为几个功能块,通过对每个功能块设计测试用例,选择合适的条件参数,使得程序执行异常流程的条件分支。测试方法与步骤根据软件的具体情况将软件划分为几个功能块,对每个功能块分别进行测试。这种测试方法主要是运用软件调试过程的所有手段,对程序分块测试。异常流程测试分析程序的每个功能块的判定条件,找出异常流程的条件分支和运行异常流程的触发条件。这种触发条件是指微观条件,必须深入理解程序的流程和逻辑结构框架,这属于白盒测试。在每个异常流程的条件分支中,设计测试用例,使得程序满足异常流程的判断条件,按异常流程运行。测试用例设计中,要综合考虑逻辑覆盖测试方法中的语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、
33、条件组合覆盖、路径覆盖中一种或几种测试方法。测试用例的设计一般都是针对程序块进行的,根据异常流程的具体情况揉和逻辑覆盖测试的多种方法。用仿真和调试工具跟踪和分析程序运行的结果,具体测试异常流程的条件分支。 如果程序运行不正常,用设断点、单步执行等方法逐步定位程序运行异常的具体位置。对怀疑的程序段进行反复修改和调试,编译后重复以上的测试。异常流程测试异常流程的强制执行异常流程的强制执行概述有些异常流程在测试中难以模拟,测试用例也不好设计,此时可以考虑修改源程序,在条件判断之前加入测试代码;或者修改判断条件,强制程序执行到异常流程的分支。分析程序的每个判定条件,找出异常流程的条件分支。为了测试异常
34、流程,根据要求修改程序:异常流程测试测试方法与步骤1.修改程序,改变判定条件的初始值,使得程序满足异常条件的判断,按异常流程运行。2.修改程序,根据要求在条件判断之前加入跳转程序,强迫程序跳转到异常流程的分支运行。3.适当修改判断条件,使得程序满足异常流程的条件分支,按异常流程运行。4.修改程序,加入测试代码,跟踪程序的运行。测试时根据具体情况采用修改初始值、强制跳转、修改判定条件中的一种或几种方法进行测试。用仿真和调试工具跟踪和分析异常流程条件分支,测试程序运行的结果。 如果程序运行不正常,用设断点、单步执行等方法逐步定位程序运行异常的具体位置。对怀疑的程序段进行反复修改和调试,编译后重复以上的测试。异常流程测试程序出现异常的原因程序出现异常的原因一是程序本身设计疏漏,在特定条件下运行时出现异常。二是当外界出现各种干扰因素时,程序不能正常实现其功能。结果:或是程序本身发生了异常跳转,或是程序所用的数据遭到了破坏,由此造成程序丧失部分或全部正
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动合同变更的法定情形与操作流程全解析
- 2026年大数据一体机行业分析报告及未来发展趋势报告
- 2026年对位芳酰胺纤维行业分析报告及未来发展趋势报告
- 2026年发电用煤场行业分析报告及未来发展趋势报告
- 2026年电源芯片设计行业分析报告及未来发展趋势报告
- 2026年MVR蒸汽机械行业分析报告及未来发展趋势报告
- 2026年无线通讯系统行业分析报告及未来发展趋势报告
- 2026年水上项目重大事故隐患判定标准试题及答案
- 2025年新版学生宪法试题及答案
- 2025年特岗招录考试公基全真模拟真题题库(附解析)
- 2026中国芳纶纤维行业需求预测及发展前景趋势分析报告
- 2025护理学副高职称考试题库及答案
- (二模)河南五市2026年高三毕业年级第二次质量检测政治试卷(含答案及解析)
- 2026年天津市河东区中考一模道德与法治试卷和答案
- 九师联盟2026届高三下学期4月学业评估数学+答案
- 2026年天津市专业技术人员继续教育公需课答案
- 2026四川宜宾市公安局高新技术园区分局招聘警务辅助人员7人笔试模拟试题及答案解析
- SHS 01043-2019屏蔽泵维护检修规程
- 深度解析(2026)《YBT 6034-2022冶金轧机轴承座修复技术规范》
- 2025年江苏交控招聘笔试真题及答案
- 耳鼻喉科门诊工作制度及诊疗操作规范
评论
0/150
提交评论