- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计语言的选择-51Testing
5.7 调试技术 软件调试是在测试发现错误之后诊断并排除错误的过程。 软件工程的根本目标是开发出高质量的完全符合用户需要的软件产品。因此,在进行成功的测试后必须进行软件调试。 调试的主要任务:一是确定程序中错误的确切性质和位置,二是对程序进行修改排除错误。 调试工作是一项极其复杂而繁重的脑力劳动,具有很强的技巧性。 5.7.1 调试过程 调试过程从执行一个测试用例开始,如发现实测结果与预期结果不一致,则表明在软件中存在错误或缺陷。 调试从错误的外部表现形式入手,确定出错位置,研究相关的程序代码和设计,查找内在原因。 结果有两种:一是找到了原因,然后加以改正,接着重复执行这个原始测试或某些相关测试,以确定是否排除了该错误或又引进了新的错误。二是没有找到原因,调试人员可以猜测一个原因,并设计附加测试用例来验证这个假设。如果发现所做的修正无效,则恢复程序的原来状态。重复这个过程直到找到出现问题的原因和有效的解决方法为止。 调试工作是困难的 心理因素:错误表象复杂、各种困扰极易使人丧 失信心。另外,调试能力也因人而异。 技术角度:软件错误具有许多难以应负的特征: (1)表象和原因在程序中可能相距甚远。 (2)表象可能时有时无。 (3)表象实际上是由一些非错误原因引起的(如舍 入不精确)。 (4)很难再现与出现错误表象完全一样的输入条 件,如实时应用中输入顺序不确定。 (5)当其他错误得到改正时,某一错误表象可能会 暂时消失,但并未实际排除。 软件自动化测试流程 5.7.2 调试技术 调试过程中主要采用下述调试策略: (1)强行排错(最常用的、效率较低):直接打印出内存中内容,希望从中找出错误原因。要有明确的目的,尽量减少无关信息的输出。 (2)回溯法(小程序中常用):分析错误表象,确定症状位置,人工沿程序的控制流往回追踪源程序代码,直到找到错误原因为止。 (3)归纳法:把和错误有关的数据组织起来分析,导出一个或多个假设原因,证明或排除这些假设。 (4)演绎法:设想出所有可能的出错原因,然后试图用测试来排除每一个假设的原因,如果测试表明某个假设的原因可能是真的原因,则对数据进行细化以精确定位错误。 5.4.3 调试原则 在调试过程中,心理因素常常占主导地位。 查错的原则 (1)注重头脑的分析思考,不要过分依赖计算机。 (2)把调试工具仅当作辅助手段。 (3)避免试探法,至多把它当作最后手段。 (4)避开死胡同。 排错的原则 (1)注意错误的群集现象。 (2)提出的修改应能解释与之有关的全部线索。 (3)慎重对待每一个错误的修改。 语句覆盖 语句覆盖是指选择足够的测试数据,使被测程序中每个语句至少执行一次。 此例中,为了使 每个语句都执行一 次,程序执行的路 径应该为①③⑤⑥, 为此可以设计测试 用例如下: 输入:a=2,b=0,x=6 输出:a=2,b=0,x=5 判定覆盖 判定覆盖又称为分支覆盖,是指设计若干测试数据,使得程序中每个判定表达式的每个分支(真假)都至少执行一次。 两种组测试用例见下表(实例图如前): 格式为:〔输入的(a,b,x),输出的(a,b,x)〕 条件覆盖 条件覆盖,是使得程序中每个判定表达式的每个条件的可能取值至少执行一次。 在此实例中,两个判定表达式共有四个条件:a1、b=0、a=2和x1,设它们为真时分别用T1、T2、T3、T4表示,为假时分别用F1、F2、F3、F4表示。 判定-条件覆盖 判定-条件覆盖是指选取足够多的测试数据,使得判定表达式中的每个条件的所有可能取值至少执行一次,而且每个判定表达式的所有可能的判定结果至少执行一次。 一种组测试用例见下表(实例图如前): 条件组合覆盖 条件组合覆盖是指选取足够多的测试数据,使得每个判定表达式的所有可能的条件取值组合至少执行一次。 在此实例中,每个判定各有两个条件、四个条件组合(不要求各个判定的条件组合再进行组合)设计如下一组测试用例: 路径覆盖 路径覆盖是指选取足够多的测试数据,覆盖程序中所有的路径。也就是要求覆盖每个判定可能取值的所有组合。 一种组测试用例见下表(实例图如前): 5.5.2 等价分类法 一种典型的黑盒测试技术 。 设计出一个以发现若干类错误的测试用例,从而减少必须设计的测试用例的数目。 两个步骤: 划分等价类:把程序的输入域划分成若干个 数据类; 设计测试用例:从每一类中选取少数代表性 的数据作为测试用例。 划分等价类 所谓等价类是指某个输入域的子集合,在该子集合中各个输入数据对于揭露程序中的错误都是等效的。 有效等价类是指对于程序的规格说明来说是合理的,有意义的
您可能关注的文档
- 禾谷缢管蚜和麦长管蚜3小时玻璃管药膜法敏感度毒力基线 ... - 昆虫学报.DOC
- 离散多载波调变(DMT)技术之应用-高雄师范大学.PDF
- 离网型超级电容储能的太阳能照明系统的设计.PDF
- 禽流感病毒H5亚型RT-PCR检测试剂盒使用说明书.PDF
- 私立永平工商职业学校一 三学年度第二学期教学进度表私立永平工商 ....PDF
- 种Host—Based结构的LonWorks智能节点的设计与实现.PDF
- 禽白血病病毒基因芯片检测方法的建立.PDF
- 种应用于UWB通信系统的脉冲产生电路设计 - 21ic电子技术论坛.PDF
- 科学的幼儿启蒙教育法-Huawei.doc
- 磁控溅渡氮氧化矽薄膜材料之机械性质检测与分析及其在微机电装置之.doc
文档评论(0)