收藏 分销(赏)

软件工程-软件测试.pptx

上传人:人****来 文档编号:4289463 上传时间:2024-09-03 格式:PPTX 页数:49 大小:481.99KB 下载积分:12 金币
下载 相关 举报
软件工程-软件测试.pptx_第1页
第1页 / 共49页
软件工程-软件测试.pptx_第2页
第2页 / 共49页


点击查看更多>>
资源描述
1软件生存周期软件生存周期可行性研究可行性研究需求分析需求分析概要设计概要设计详细设计详细设计编编 码码集成测试集成测试确认测试确认测试使用与维护使用与维护退役退役软件定义软件定义软件开发软件开发软件使用软件使用与维护与维护软件生命周期软件生命周期2软软 件件 工工 程程-软件测试软件测试3防不胜防的软件错误防不胜防的软件错误 例:例:1963年年,美国美国,飞往火星的火箭爆炸飞往火星的火箭爆炸,损失损失$10 million.原因原因:FORTRAN循环循环 DO 5 I=1,3 误写为误写为 DO 5 I=1.3软软 件件 测测 试试 (Testing)软件测试是保证软件质量的关键步骤,是对软件规格软件测试是保证软件质量的关键步骤,是对软件规格说明、设计和编码的最后复审,其工件量约占总工作说明、设计和编码的最后复审,其工件量约占总工作量量40%以上(对于人命关天的情况,测试相当于其它以上(对于人命关天的情况,测试相当于其它部分总成本的部分总成本的3 5倍倍)。)。41.基本概念基本概念1、定义:测试是为了、定义:测试是为了发现程序中的错误发现程序中的错误而执行程序而执行程序的过程。的过程。注意:注意:只能尽可能查错,不能证明程序中只能尽可能查错,不能证明程序中 没有错;没有错;测试员与程序员不应是同一个人。测试员与程序员不应是同一个人。2、黑盒和白盒测试、黑盒和白盒测试 黑盒测试黑盒测试(black-box,or closed-box testing):不不考考虑虑程程序序内内部部的的结结构构,只只观观察察程程序序的的入入口口和和出出口口,是否能完成规格要求的输入输出是否能完成规格要求的输入输出.功能测试功能测试5 白盒测试白盒测试(white-box,or open-box,clear-box testing):程序的结构和处理过程象白盒子一样透明程序的结构和处理过程象白盒子一样透明.结构测试结构测试1.基本概念基本概念若若程程序序执执行行需需10-3秒秒,则则对对于于所所有有合合法法输输入入的的测测试试大大约约需需用用一一万万年年,而而且且还还应应测测试试输输入入非非法法数数据的情况。据的情况。主要问题:穷尽测试主要问题:穷尽测试(complete test)通常通常是不可能的。是不可能的。例:例:(Black-box)程序要求输入程序要求输入3个整形数据。若字长个整形数据。若字长16位,则各种可能输入的排列组合共有位,则各种可能输入的排列组合共有 (种)(种)6例:例:(White-box)下图所示的程序中共有下图所示的程序中共有 520 1014条可能的执行通路,显然,每条通路都执行条可能的执行通路,显然,每条通路都执行一遍是不现实的。一遍是不现实的。1.基本概念基本概念循环循环2020次次73、测试步骤:测试步骤:(1)单元测试单元测试 程序设计程序设计&编码编码 bugs(2)集成测试集成测试 模块之间的连接模块之间的连接(3)系统测试系统测试 需求需求&系统设计系统设计(4)验收测试验收测试 用户参与用户参与(5)平行测试平行测试 新老系统进行比较新老系统进行比较.综合综合测试测试1.基本概念基本概念测试阶段的信息流:测试阶段的信息流:测试测试评价评价调试调试可靠性可靠性模型模型软件配置软件配置测试配置测试配置测试结果测试结果可靠性预测可靠性预测错错 误误正正 确确错误率数据错误率数据预期结果预期结果82.单元测试(白盒)单元测试(白盒)主要测试以下五个方面:主要测试以下五个方面:1、模块接口:、模块接口:内部检查:传输参数的数目、属性、单位、次内部检查:传输参数的数目、属性、单位、次序是否匹配;全程变量的定义是否一致;只做序是否匹配;全程变量的定义是否一致;只做输入的变元有无被修改,等等。输入的变元有无被修改,等等。外部检查:打开、结束、关闭文件的操作;文外部检查:打开、结束、关闭文件的操作;文件和属性;件和属性;IO错误处理;输出拼写,等等。错误处理;输出拼写,等等。2、局部数据结构:、局部数据结构:数据说明数据说明(declaration);初始化与缺省值的设置;初始化与缺省值的设置;变量名拼写;数据类型的相容性;上变量名拼写;数据类型的相容性;上下溢出及下溢出及地址异常,等等。地址异常,等等。92.单元测试单元测试3、重要的执行通路:、重要的执行通路:由于穷尽测试不可能,故通常针对最常见的由于穷尽测试不可能,故通常针对最常见的错误设计测试方案。错误设计测试方案。4、出错处理通路:、出错处理通路:预见出现错误的条件,设置处理。预见出现错误的条件,设置处理。5、边界条件、边界条件 单元测试中最后,也可能是最重单元测试中最后,也可能是最重要的任务,因为软件常在其边界失效。要的任务,因为软件常在其边界失效。101、代码审查、代码审查(code inspection)彻彻底底检检查查:例例如如 Lucent Technologies 的的测测试试策策略略,是是由由三三人人一一组组(包包括括 author,reader,和和recorder),逐逐行行检查源代码。检查源代码。演习:由人扮演演习:由人扮演computer,模拟执行情况。,模拟执行情况。2.单元测试单元测试优点优点:一次审查可发现多个错误,不必改一个测一个。一次审查可发现多个错误,不必改一个测一个。单元测试的主要手段单元测试的主要手段:2、制作测试软件:、制作测试软件:Stub(存根)和(存根)和 Driver(驱动)软(驱动)软件的编写,属额外开支。模块高内聚可简化这一过件的编写,属额外开支。模块高内聚可简化这一过程。程。113.集成测试集成测试 (Integration Testing)1、非渐增式测试、非渐增式测试(Big-bang testing)Test A,B,C,DTestATestBTestCTestD123.集成测试集成测试两种方式的比较:两种方式的比较:Incremental testing 可以较早发现模块间的接口错误;可以较早发现模块间的接口错误;Big-bang testing 最后才组装,因此错误发现得晚。最后才组装,因此错误发现得晚。Big-bang testing 中发现错误后难以诊断定位;中发现错误后难以诊断定位;Incremental testing 中,出现的错误往往跟最新加入中,出现的错误往往跟最新加入的模块有关。的模块有关。Incremental testing 在不断集成的过程中使模块不断在在不断集成的过程中使模块不断在新的条件下受到新的检测,测试更彻底。新的条件下受到新的检测,测试更彻底。Incremental testing 较较 Big-bang testing 费时。费时。Big-bang testing 可以同时并行测试所有模块,能充分可以同时并行测试所有模块,能充分利用人力。利用人力。2、渐增式测试、渐增式测试(Incremental testing)13 自顶向下测试自顶向下测试第第1步:测试顶端模块,用存根程序步:测试顶端模块,用存根程序(stub)代替直接附属的下层模块代替直接附属的下层模块 Stub:模拟未测试模块的活动模拟未测试模块的活动.3.集成测试集成测试3、Incremental testing 的几种策略的几种策略MS1S214第第2步:根据深度优先或宽度优先的策略,每次步:根据深度优先或宽度优先的策略,每次用一个实际模块代换一个用一个实际模块代换一个stub。3.集成测试集成测试第第3步:在结合进一个模块的同时进行测试。步:在结合进一个模块的同时进行测试。MS1S2M1S3S4M2S2第第4步:回归测试步:回归测试(regression testing)全部或全部或部分地重复以前做过的测试。部分地重复以前做过的测试。15 自底向上测试自底向上测试第第1步:把低层模块组合成族,每族实现一个子功能。步:把低层模块组合成族,每族实现一个子功能。第第2步:用驱动程序步:用驱动程序(Driver)协调测试数据的协调测试数据的IO,测,测试子功能族。试子功能族。3.集成测试集成测试优点:在早期即对主要控制及关键的抉择进行检验。优点:在早期即对主要控制及关键的抉择进行检验。问题:问题:Stub只是对低层模块的模拟,测试时没有重只是对低层模块的模拟,测试时没有重要的数据自下往上流,许多重要的测试须推要的数据自下往上流,许多重要的测试须推迟进行,而且在早期不能充分展开人力。迟进行,而且在早期不能充分展开人力。Driver:调用模块细节逐个进行测试调用模块细节逐个进行测试.DM1M216第第3 3步:去掉步:去掉DriverDriver,自下而上把子功能族合成,自下而上把子功能族合成更大的子功能族。更大的子功能族。MMMMMMMMMMMMDDDDDD3.集成测试集成测试注意:注意:两种策略两种策略的优、缺点刚好的优、缺点刚好互补,但单用其互补,但单用其中任一种都不实中任一种都不实际,通常根据软际,通常根据软件的特点将二者件的特点将二者混用。混用。17 Sandwich testing(三文治测试)(三文治测试)3.集成测试集成测试Target layerTop-downBottom-up184.验收测试验收测试(Acceptance testing)任务:验收软件的有效性(功能和性能达标)。任务:验收软件的有效性(功能和性能达标)。手段:黑盒测试;用户参与;主要用实际数据进手段:黑盒测试;用户参与;主要用实际数据进行测试。行测试。内容:按合同规定审查软件配置;内容:按合同规定审查软件配置;设计测试计划,使通过测试保证软件能满设计测试计划,使通过测试保证软件能满足所有功能、性能要求;足所有功能、性能要求;文档与程序一致,具有维护阶段所必须的文档与程序一致,具有维护阶段所必须的细节;细节;严格按用户手册操作,以检查手册的完整严格按用户手册操作,以检查手册的完整性和正确性。性和正确性。195.设计测试方案设计测试方案(Plan of testing)主要技术:主要技术:1、逻辑覆盖、逻辑覆盖(Logical coverage)适用于白盒测试适用于白盒测试 覆盖程度由弱到强顺次为:覆盖程度由弱到强顺次为:语句覆盖语句覆盖(Statement coverage):每个语句至少执行每个语句至少执行一次。一次。任务:任务:预定要测试的功能预定要测试的功能 设计输入的测试数据设计输入的测试数据(test cases)列出预期结果列出预期结果(expected output)205.设计测试方案设计测试方案例:例:问问题题:若若AND错错写写 为为 OR,或或X1错错写写为为X 1AND B=0TA=2OR X 1TX=X/AX=X+1返回返回FFTest case:A=2,B=0,X=4.21判定覆盖判定覆盖(Branch coverage):在:在的基础上,的基础上,每个判定的每个分支至少执行一次。每个判定的每个分支至少执行一次。5.设计测试方案设计测试方案Test cases:A=3,B=0,X=3A=2,B=1,X=1问题:若问题:若X1错错写为写为X 1AND B=0TA=2OR X 1TX=X/AX=X+1返回返回FF22 条件覆盖条件覆盖(Condition coverage):在:在的基础上,使的基础上,使每个判定表达式的每个条件都取到各种可能的结果。每个判定表达式的每个条件都取到各种可能的结果。5.设计测试方案设计测试方案Test cases:A=2,B=0,X=4(满足(满足A1,B=0;A=2,X1)A=1,B=1,X=1(满足满足A 1,B 0;A 2,X 1)问:条件覆盖问:条件覆盖?判定覆盖判定覆盖 答答:不一定。不一定。反例反例:A=2,B=0,X=1 A=1,B=1,X=2 判定判定/条件覆盖:即条件覆盖:即判定覆盖判定覆盖 条件覆盖条件覆盖 入口入口A 1AND B=0TA=2OR X 1TX=X/AX=X+1返回返回FF23 条件组合覆盖:每个判定表达式条件组合覆盖:每个判定表达式中条件的各种可能组合都至少出中条件的各种可能组合都至少出现一次。现一次。5.设计测试方案设计测试方案入口入口A 1AND B=0TA=2OR X 1TX=X/AX=X+1返回返回FF全部可能的条件组合为:全部可能的条件组合为:A1,B=0 A1,B 0 A 1,B=0 A 1,B 0 A=2,X1 A=2,X 1 A 2,X1 A 2,X 1 Test cases:A=2,B=0,X=4 (T T)A=2.B=1,X=1 (F T)A=1,B=0,X=2 (F T)A=1,B=1,X=1 (F F)问题:没有测试到问题:没有测试到(T F)的情形的情形24考察考察control flow graph 的角度,还可考虑下述覆盖:的角度,还可考虑下述覆盖:点覆盖点覆盖5.设计测试方案设计测试方案 边覆盖边覆盖=语句覆盖语句覆盖 路径覆盖路径覆盖(Path coverage):每条可能的路径都至少执每条可能的路径都至少执行一次,若图中有环,则每行一次,若图中有环,则每个环至少经过一次。个环至少经过一次。=判定覆盖判定覆盖Test cases:A=1,B=1,X=1 A=1,B=1,X=2 A=3,B=0,X=1 A=2,B=0,X=4 路径覆盖路径覆盖 条件组合覆盖条件组合覆盖25 划分经验划分经验 当规定了输入范围时:当规定了输入范围时:5.设计测试方案设计测试方案2、等价划分、等价划分(Equivalence Partitioning)适用于黑盒测试适用于黑盒测试 划划分分一一组组 等等价价类类 描描绘绘一一组组输输入入条条件件的的有有效效或或无无效效条条件件,测测试试程序是否有设计方案中该有的输出结果程序是否有设计方案中该有的输出结果.无效类无效类 有效类有效类 无效类无效类 当当规规定定了了输输入入的的一一组组值值,且且对对不不同同值值做做不不同同处处理理时时:例例:教教工工分分房房方方案案中中,按按教教授授、副副教教授授、讲讲师师、助助教分别计分教分别计分 有效类有效类4个;无效类个;无效类1个个26 当规定了输入的规则时:当规定了输入的规则时:例:例:(PASCAL)语言规定,每个语句以语言规定,每个语句以“;”结结 束束 有效类有效类1个;无效类若干(以个;无效类若干(以“,”结束、以结束、以“:”结束、以空格结束等等)结束、以空格结束等等)当输入为整型时:有效类可分为当输入为整型时:有效类可分为Z+、0、Z 三种三种 当处理表格时:有效类可分为空表、含一项的表、当处理表格时:有效类可分为空表、含一项的表、含多项的表等含多项的表等注:注:以上经验亦适用于输出数据;以上经验亦适用于输出数据;不需要测试编译程序肯定能发现的错误不需要测试编译程序肯定能发现的错误。5.设计测试方案设计测试方案27 设计步骤设计步骤 设计一个新方案以设计一个新方案以尽可能多尽可能多地覆盖尚未被覆盖的地覆盖尚未被覆盖的有效有效等价类;重复这一步骤直到所有等价类;重复这一步骤直到所有有效类有效类都被都被覆盖为止。覆盖为止。设计一个新方案以覆盖设计一个新方案以覆盖一个且仅一个一个且仅一个尚未被覆盖尚未被覆盖的的无效无效等价类;重复这一步骤直到所有等价类;重复这一步骤直到所有无效类无效类都都被覆盖为止。(通常程序执行一个错误后即不继被覆盖为止。(通常程序执行一个错误后即不继续检测其它错误,故每次只测一个无效类)续检测其它错误,故每次只测一个无效类)5.设计测试方案设计测试方案283、边界值分析、边界值分析(Boundary Value Analysis)注意:注意:程序最容易在边界发生错误;程序最容易在边界发生错误;通常与等价划分结合进行。通常与等价划分结合进行。4、错误推测、错误推测(Failure Prediction)思路:思路:列出可能有的错误;列出可能有的错误;列出容易发生错误的特殊情况。列出容易发生错误的特殊情况。以此为基础设计测试方案。以此为基础设计测试方案。根据:直觉、经验根据:直觉、经验工具:常见错误清单、判定表等。工具:常见错误清单、判定表等。5.设计测试方案设计测试方案295、实用策略、实用策略(Practical Strategies)黑盒设计黑盒设计 白盒补充白盒补充 在任何情况下都应该使用在任何情况下都应该使用边界值分析边界值分析的方法;的方法;必要时用必要时用等价划分法等价划分法补充;补充;必要时再用必要时再用错误推测法错误推测法补充;补充;对照程序逻辑,检查测试方案。可根据对程对照程序逻辑,检查测试方案。可根据对程序可靠性的要求采用不同的序可靠性的要求采用不同的逻辑覆盖标准逻辑覆盖标准,必要时补充一些测试方案。必要时补充一些测试方案。注注:即使用上述综合策略设计测试方案,仍不能即使用上述综合策略设计测试方案,仍不能保证发现一切错误。例如保证发现一切错误。例如Lucent公司经过包公司经过包括逐行检查源代码在内的多方面测试之后,括逐行检查源代码在内的多方面测试之后,其软件能达标运行的成功率为其软件能达标运行的成功率为 5.设计测试方案设计测试方案80%。306.调调 试试(Debugging)测试测试 发现错误发现错误调试调试 改正错误改正错误第第1步:确定错误的位置步:确定错误的位置(95%工作量工作量);第第2步:改正错误。步:改正错误。Failure(外错误)(外错误)通常是由系统设计产生的通常是由系统设计产生的.Fault(故障、内错误、(故障、内错误、error、bug)起因于软件生产中的起因于软件生产中的人为错误人为错误.程程序序的的 failure 通通常常有有一一个个清清晰晰的的表表现现特特征征,但但是是 fault 往往往往很很难难被发现。被发现。31Execution of casesTestcasesResultsDebuggingAdditional testsSuspected causesIdentified causesCorrectionsRegression testsDebugging6.调调 试试321、调试技术、调试技术 输出存储器内容输出存储器内容(memory dump):以八进制或十六进制的形式印出存储器的内容。以八进制或十六进制的形式印出存储器的内容。缺点:缺点:输出信息量极大,输出信息量极大,不易解读且大多无用;不易解读且大多无用;输出的是程序在某一输出的是程序在某一 时刻的静态情况,且时刻的静态情况,且 往往不是出错时的状态。往往不是出错时的状态。6.调调 试试33 插入插入“watch points”(或称或称“spy points”)人工插入打印人工插入打印 缺点:缺点:改动源代码,增加了出错机会;改动源代码,增加了出错机会;打印信息可能太多。打印信息可能太多。自动调试工具自动调试工具 无须打印额外信息,且不改无须打印额外信息,且不改动源代码动源代码6.调调 试试342、调试策略、调试策略 调试过程的关键不是调试技术,而是用来推调试过程的关键不是调试技术,而是用来推断错误原因的基本策略。主要有:断错误原因的基本策略。主要有:试探法,凭经验猜测。试探法,凭经验猜测。回溯法:由症状回溯法:由症状(symptom)最先出现的地方,最先出现的地方,沿沿control flow向回检查。适用于小型程序。向回检查。适用于小型程序。对分法:在关键点插入变量的正确值,则:对分法:在关键点插入变量的正确值,则:6.调调 试试输出正确输出正确错误在前半段错误在前半段错误在后半段错误在后半段NY35收集数据收集数据组织数据组织数据研究数据研究数据间的关系间的关系提出假设提出假设证明假设证明假设纠正错误纠正错误能能能能不不能能不能不能6.调调 试试 归纳法:从错误症状中找出规律,推断根源。归纳法:从错误症状中找出规律,推断根源。36列举可能列举可能的原因的原因排除不正确排除不正确的假设的假设精化余下精化余下的假设的假设证明证明假设假设收集更多数据收集更多数据纠正纠正错误错误有剩余有剩余能能不能不能无剩余无剩余 演绎法:普通演绎法:普通 特殊特殊 从假设中逐步排除、精化,从而导出错误根源。从假设中逐步排除、精化,从而导出错误根源。6.调调 试试377.软件可靠性软件可靠性(Reliability)1、基本概念、基本概念 可靠性可靠性(Reliability):程序在给定的程序在给定的时间间隔内时间间隔内,按照说明书的规定,成功地运行的概率。按照说明书的规定,成功地运行的概率。可用性可用性(Usability):程序在给定的:程序在给定的时间点时间点,按照,按照说明书的规定,成功地运行的概率。说明书的规定,成功地运行的概率。正确性正确性(Correctness):程序的功能正确。程序的功能正确。ReliabilityCorrectnessUsability387.软件可靠性软件可靠性设系统故障停机时间为设系统故障停机时间为td1,td2,;正常运行时间为正常运行时间为tu1,tu2,;则系统的则系统的“稳态可用性稳态可用性”为为Availability=(Shooman,1983)其中其中 MTTF=Mean Time To Failure=MTTR=Mean Time To Repair=0ttu1td1tu2td2392、估算、估算 MTTF:MTTF=7.软件可靠性软件可靠性其中:其中:K为经验常数(典型值约在为经验常数(典型值约在200左右);左右);ET为测试前故障总数;为测试前故障总数;IT为程序长度(机器指令总数);为程序长度(机器指令总数);为测试(包括调试)时间;为测试(包括调试)时间;EC()为时间从为时间从0至至 期间改正的错误数。期间改正的错误数。前提假设:前提假设:ET/IT Constant(通常为(通常为0.5 2%)调试中没有引入新故障(即调试中没有引入新故障(即ET与时间与时间 无关)无关)MTTF与剩余故障成反比与剩余故障成反比40换个角度看问题换个角度看问题7.软件可靠性软件可靠性意义:可根据对软件平稳运行时间的要求,估算需改意义:可根据对软件平稳运行时间的要求,估算需改正多少个错误后才能结束测试。正多少个错误后才能结束测试。还有一个问题还有一个问题 ET=?估算方法:估算方法:植入故障法:植入故障法:人为植入人为植入NS个故障,测后发现个故障,测后发现ns个植入故障和个植入故障和n个个原有故障,则设原有故障,则设41 Hyman 分别测试法:分别测试法:二人(组)分别独立测试同一程序,甲测得故二人(组)分别独立测试同一程序,甲测得故障总数为障总数为B1,乙测得为,乙测得为B2,其中有,其中有bc是相同的,是相同的,设以甲的测试结果为基准(即相当于设以甲的测试结果为基准(即相当于中的植入中的植入故障),则设故障),则设7.软件可靠性软件可靠性一般多测几个一般多测几个 取平均。取平均。423、正确性说明、正确性说明 目标:研究能证明程序正确性的自动系统。目标:研究能证明程序正确性的自动系统。7.软件可靠性软件可靠性p1p2p3pn-1pna(1)=inputa(2)a(3)a(n-1)a(n)=outputa(i):断言断言(assertion)证明:对任一个证明:对任一个i,执行了,执行了pi到到pi+1之间的语句后,可将之间的语句后,可将a(i)变为变为a(i+1),则证明由,则证明由a(1)可导出可导出a(n)。若若a(1)和和a(n)正确,且程序确定可终正确,且程序确定可终止,则证明程序正确。止,则证明程序正确。但是:即使有了正确性证明程序,软件测试也仍然是但是:即使有了正确性证明程序,软件测试也仍然是需要的。需要的。因为:因为:正确性证明只证明程序功能正确,但不能正确性证明只证明程序功能正确,但不能验证动态特性;验证动态特性;证明过程本身也可能发生错误。证明过程本身也可能发生错误。原理:原理:43100%50%100%测试用例完成率测试用例完成率 =已完成用例已完成用例 /全部用例全部用例测试时间使用率测试时间使用率 =所用时间所用时间 /总时间总时间第一第一阶段阶段第二第二阶段阶段第三第三阶段阶段8.日立预测法日立预测法日立预测法日立预测法 测试期间绘制并检查两种曲线测试期间绘制并检查两种曲线1、测试完成率曲线:、测试完成率曲线:经验:经验:工程的成败取工程的成败取决于第一阶段决于第一阶段向第二阶段转向第二阶段转移断点的位置,移断点的位置,一般成功的工一般成功的工程其转折点位程其转折点位于于15%;若超;若超过过55%则破产则破产不可避免。不可避免。44错误发现率错误发现率=单位时间内发现的错误数单位时间内发现的错误数时间时间峰值时间峰值时间成成功功的的工工程程失败的失败的工程工程极坏的工程极坏的工程8.日立预测法日立预测法2、错误发现率曲线:、错误发现率曲线:经验:经验:刚过峰值点后刚过峰值点后曲线的导数关曲线的导数关系到工程的成系到工程的成败。若导数值败。若导数值大于大于-0.3,则,则失败不可避免失败不可避免。45其它可靠性预测模型其它可靠性预测模型(reliability prediction model):最早:最早:Jelinski-Moranda model (1972)最广泛应用:最广泛应用:Musa model (1990)最近:最近:Fenton-Pfleeger model (1997)8.日立预测法日立预测法469.自动测试工具自动测试工具1、测试数据生成程序、测试数据生成程序(Test case generator):功能:自动生成大量输入数据功能:自动生成大量输入数据主要用于:主要用于:测试系统在实际环境中的性能(例如测试数据测试系统在实际环境中的性能(例如测试数据库管理系统)库管理系统)自动校核系统输出自动校核系统输出(若输出数据的语法可以被形若输出数据的语法可以被形式地说明式地说明)缺点:不能自动生成预期的输出,因此用途有限。缺点:不能自动生成预期的输出,因此用途有限。479.自动测试工具自动测试工具2、动态分析程序、动态分析程序(Dynamic analyzer)功能:分析程序中每个语句的执行次数。功能:分析程序中每个语句的执行次数。组成:组成:检测部分:插入检测语句,负责收集、整理语检测部分:插入检测语句,负责收集、整理语句执行次数;句执行次数;显示部分:以容易理解的形式印出收集的信息。显示部分:以容易理解的形式印出收集的信息。用途:用途:发现测试中没有执行的语句,以增加相应的测发现测试中没有执行的语句,以增加相应的测试用例;试用例;发现不按要求终结的循环;发现不按要求终结的循环;发现不应执行却执行了的代码,及应执行而未发现不应执行却执行了的代码,及应执行而未执行的代码。执行的代码。483、静态分析程序、静态分析程序(Static analyzer)不执行程序,仅扫描程序的正文,从中寻找不执行程序,仅扫描程序的正文,从中寻找可能导致错误的异常情况。可能导致错误的异常情况。9.自动测试工具自动测试工具4、文件比较程序、文件比较程序(File inspector)主要步骤:主要步骤:建立一个文件存放预期的正确结果;建立一个文件存放预期的正确结果;执行测试,将输出数据存进另一个文件;执行测试,将输出数据存进另一个文件;使用文件比较程序来比较上述两个文件,印出使用文件比较程序来比较上述两个文件,印出两者之差异。两者之差异。49小结小结F 软件设计软件设计主要任务是根据需求规格说明导出系统主要任务是根据需求规格说明导出系统的实现方案,分为概要设计和详细设计两部分的实现方案,分为概要设计和详细设计两部分 主要概念:主要概念:模块化模块化、抽象抽象、信息隐蔽信息隐蔽。尽量保证。尽量保证模块的独立性模块的独立性。SDSD分析方法分析方法分为变换分析和事务分析,要将分为变换分析和事务分析,要将DFDDFD转换为转换为SCSC图,最后完成概要设计的文档图,最后完成概要设计的文档概要设计概要设计
展开阅读全文

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


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 软件工程

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

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

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服