白盒测试方法总结

合集下载

C51白盒测试工具总结

C51白盒测试工具总结

Keil C51白盒测试工具总结Keil C51 是美国Keil Software公司出品的51系列兼容单片机c 语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

单片机C51语言室由C语言继承而来的。

和C语言不同的是,C51语言运行于单片机平台,而C语言则运行与普通的桌面平台。

C51语言具有C语言结构清晰的优点,便于学习,同事具有汇编语言的硬件操作能力。

对于具有C语言编程基础的读者,能够轻松地掌握单片机C51语言的程序设计。

目前市面上的白盒测试工具有很多,嵌入式系统的软件测试工具也有很多,但是大部分都是用于成型的嵌入式系统的测试。

目前计轴所使用的程序是实现某个功能的程序段,没有构成规模,所以没有相应的软件测试工具支持。

相对于产品研发的其他软件过程,白盒测试总体还不够成熟,没有充分的发挥,尤其是嵌入式领域的白盒测试工具,运行环境复杂,有主要针对C代码做测试,故推动测试门槛较高,所以,不能期望一个工具就解决问题,因为白盒测试不单是纯粹的工具问题,还与流程管理,与人员素质相关。

商用白盒工具除了支持写脚本做测试,还通常具备其它辅助功能,比如:静态代码检查,代码可维护性评估,编程规范检查,支持性能测试、内存泄露检查等。

一般而言,多数附带上述辅助功能的商用工具,辅助功能的品质往往不能与专业工具相提并论,比如C/C++语言的代码检查,业界最佳是pclint,代码质量或编程规范检查,业界较佳的是logiscope,内存泄露既有商用工具purify、BoundCheck,也有不少免费工具,如Visual Leak Detector。

如果一个白盒工具的拥有良好的外部命令扩展能力,其它工具如pclint、Visual Leak Detector 等能顺利的嵌入或配合着使用,就达到最佳组合,不仅整体功能强大,支付费用也低。

几款适用于嵌入式软件的常见白盒测试工具:工具名称厂商所属测试方法VcTester ezTester第4代白盒测试方法CppUnit/CUnit开源工具第3代白盒测试方法CodeTest METROWERKS第2代白盒测试方法RTRT IBM Rational第2代白盒测试方法Cantata++IPL第2代白盒测试方法Logiscope Telelogic第2代白盒测试方法C++Test Parasoft第2代白盒测试方法TrueCoverages NuMega第2代白盒测试方法VectorCast Vector Software第2代白盒测试方法PureCoverage Rational第2代白盒测试方法根据网上搜索来看能测试KeilC51的单元测试工具基本没有,因为C51的内存太小,不利于做单元测试。

白盒测试总结

白盒测试总结

白盒测试总结从我参加白盒测试的工作开始,我负责的是一小部分测试代码编写的工作,通过这一段时间代码编写的工作,我学到了如何进行白盒测试测试代码的编写,了解到了白盒测试的方向,知道了白盒测试的步骤,明白了白盒测试的意义、白盒测试的必要性,白盒测试是通过对程序内部结构的分析、检测来寻找问题。

在白盒测试的过程中,我学到了一些白盒测试的知识,并发现了一些自己的不足。

1.白盒测试代码的编写让我了解到了Cunit工具,并学会了如何使用Cunit工具进行代码的编写与检测。

Cunit以静态库的形式提供给用户使用,用户编写程序的时候直接链接静态库。

它提供了一个简单的单元测试框架,并且为常用的数据类型提供了丰富的断言语句支持。

2.通过这段时间的白盒测试工作,我了解到了白盒测试的步骤,首先要根据源程序代码编写测试用例,即编写实用的输入输出数据。

编写用例的过程中,要考虑用例在代码的允许范围内与过界情况下代码的运行情况。

其次根据测试用例进行测试代码的编写工作,在编写测试代码的过程中,要根据测试用例与被测代码分析如何进行测试代码的编写,对被测代码中影响测试代码运行但不影响测试结果的语句要注释掉,同时,要把注释掉的语句和在代码编写过程中如果发现被测代码的问题分别写入“源代码修改说明”和“白盒测试问题单”中。

3.在代码编写中,我发现了一些自己的不足,首先,我的C语言基础不牢,不能很好的解决在编写代码中遇到的一些基础知识问题。

其次,对白盒测试的不了解,使我在代码的编写过程中无法解决遇到许多白盒测试基础问题。

4.学会了一些Excel表格的一些高级使用方法,在测试代码编写结束后,需要对测试代码的运行情况在测试用例中说明一下,需要对问题单进行最后的整理,要把问题单中问题标注到所对应的用例表中,以方便研发人员检测。

根据这段时间的代码编写与学习,我一定程度的了解了自己的缺点与不足,在以后学习工作过程中,我会努力的弥补自己的不足,补习自己的基础知识,争取把自己的工作做到最好。

黑盒测试与白盒测试

黑盒测试与白盒测试

黑盒测试与白盒测试软件开发过程中,测试是一个非常重要的环节,可以帮助发现并修复潜在的问题,确保软件的质量和可靠性。

测试的方法有很多种,其中黑盒测试和白盒测试是两种常见的测试方法。

本文将详细介绍黑盒测试和白盒测试的概念、特点以及适用场景。

一、概念解析1. 黑盒测试黑盒测试是一种基于功能需求的测试方法,它将被测试的系统视为一个黑盒子,只关注输入与输出之间的关系,而不考虑内部的实现细节。

测试者在进行黑盒测试时,不需要知道被测试系统的具体实现方式,只需通过输入一系列有效或无效的输入数据,观察输出结果是否符合预期,以此来验证软件是否按照需求规格说明书的要求进行了正确的实现。

2. 白盒测试白盒测试是一种基于程序内部结构的测试方法,它不仅关注输入与输出之间的关系,还考虑了程序的内部逻辑、数据流以及代码执行路径等方面的问题。

测试者在进行白盒测试时,需要具备一定的编程能力,通过检查程序的源代码、设计文档等来编写测试用例,并通过对程序内部进行覆盖率分析,查看测试是否覆盖到了所有的代码路径,以此来验证程序的正确性。

二、特点对比1. 黑盒测试的特点- 关注软件功能是否正确实现,不考虑内部实现细节。

- 基于需求规格说明书,依据用户的角度进行测试。

- 可以运用等价类划分、边界值分析等技术进行测试用例设计。

- 输入输出集合非常庞大,无法穷举,需要采用适当的策略进行选择测试用例。

- 更适用于系统集成测试、验收测试等场景。

2. 白盒测试的特点- 关注软件的内部逻辑和代码覆盖率,能够检测到一些具体的缺陷。

- 基于源代码,依据开发人员的角度进行测试。

- 可以使用语句覆盖、判定覆盖、条件覆盖等技术进行测试用例设计。

- 测试用例设计相对复杂,需要考虑逻辑路径、条件分支等多个因素。

- 更适用于单元测试、集成测试等场景。

三、适用场景比较1. 黑盒测试的适用场景黑盒测试适用于以下场景:- 需要验证软件是否按照需求规格说明书的要求进行正确实现的场景。

白盒测试语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖(转)

白盒测试语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖(转)

⽩盒测试语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖(转)转⾃:⽩盒作为测试⼈员常⽤的⼀种测试,越来越受到测试⼯程师的重视。

⽩盒测试并不是简单的按照⽤例,⽽是需要根据不同的测试,结合不同的测试对象,适合的⽅法进⾏测试。

因为对于不同复杂度的代码逻辑,可以衍⽣出许多种执⾏路径,只有适当的测试⽅法,才能帮助我们从代码的迷雾森林中找到正确的⽅向。

本⽂介绍六种⽩盒⼦测试⽅法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

⽩盒测试的概述 由于逻辑错误和不正确假设与⼀条路径被运⾏的可能性成反⽐。

由于我们经常相信某逻辑路径不可能被执⾏, ⽽事实上,它可能在正常的情况下被执⾏。

由于代码笔误是随机且⽆法杜绝的,因此我们要进⾏⽩盒测试。

⽩盒测试⼜称结构测试,透明盒测试、逻辑驱动测试或代码的测试。

⽩盒测试是⼀种测试⽤例设计⽅法,盒⼦指的是被测试的,⽩盒指的是盒⼦是可视的,你清楚盒⼦内部的东西以及⾥⾯是运作的。

⽩盒的测试⽤例需要做到: ·保证⼀个模块中的所有独⽴路径⾄少被使⽤⼀次 ·对所有逻辑值均需测试 true 和 false ·在上下边界及可操作范围内运⾏所有循环 ·检查内部结构以确保其有效性 ⽩盒测试的⽬的:通过检查软件内部的逻辑结构,对软件中的逻辑路径进⾏覆盖测试;在程序不同地⽅设⽴检查点,检查程序的状态,以确定实际运⾏状态与预期状态是否⼀致。

⽩盒测试的特点:依据软件设计说明书进⾏测试、对程序内部细节的严密检验、针对特定条件设计测试⽤例、对软件的逻辑路径进⾏覆盖测试。

⽩盒测试的步骤: 1.测试计划阶段:根据需求说明书,制定测试进度。

2.测试设计阶段:依据程序设计说明书,按照⼀定规范化的⽅法进⾏软件结构划分和设计测试⽤例。

3.测试执⾏阶段:输⼊测试⽤例,得到测试结果。

4.测试总结阶段:对⽐测试的结果和代码的预期结果,错误原因,找到并解决错误。

软件测试-实验2-白盒测试案例分析

软件测试-实验2-白盒测试案例分析

实验2 白盒测试一、实验目的与要求1、掌握白盒测试的语句覆盖和判定覆盖测试方法的原理及应用2、掌握条件覆盖、条件组合覆盖的方法,提高应用能力3、掌握路径法测试二、实验设备1、电脑PC三、实验原理白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。

它是把测试对象看作装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。

这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,其又称为结构测试。

1、语句覆盖语句覆盖指代码中的所有语句都至少执行一遍,用于检查测试用例是否有遗漏,如果检查到没有执行到的语句时要补充测试用例。

无须细分每条判定表达式,该测试虽然覆盖了可执行语句,但是不能检查判断逻辑是否有问题。

2、判定覆盖又称判断覆盖、分支覆盖,指设计足够的测试用例,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假取值均曾被满足。

判定覆盖比语句覆盖强,但是对程序逻辑的覆盖度仍然不高,比如由多个逻辑条件组合而成的判定,仅判定整体结果而忽略了每个条件的取值情况。

3、条件覆盖、条件判定覆盖条件覆盖指程序中每个判断中的每个条件的所有可能的取值至少要执行一次,但是条件覆盖不能保证判定覆盖,条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。

条件判定覆盖是条件覆盖和判定覆盖的组合,指设计足够的测试用例,使得判定中每个条件的所有可能的取值至少出现一次,并且每个判定取到的各种可能的结果也至少出现一次。

条件判定覆盖弥补了条件和判定覆盖的不足,但是未考虑条件的组合情况。

4、条件组合覆盖又称多条件覆盖,设计足够的测试用例,使得判定条件中每一个条件的可能组合至少出现一次。

线性地增加了测试用例的数量。

5、基本路径法在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行的路径集合,从而设计测试用例的方法。

白盒测试报告

白盒测试报告

白盒测试报告白盒测试报告项目名称:[项目名称]测试日期:[测试日期]测试负责人:[测试负责人]1. 引言白盒测试是一种测试方法,通过检查和评估系统内部的结构和代码,以验证其逻辑正确性、执行路径覆盖度和代码质量。

本报告旨在汇总白盒测试的结果和发现的问题,以便团队更好地理解系统的稳定性和可靠性。

2. 测试范围指明本次测试所涵盖的模块及其功能。

例如:- 模块A:功能1、功能2、功能3- 模块B:功能4、功能5......3. 测试环境指明测试所使用的环境,包括硬件和软件环境。

例如:- 操作系统:Windows 10- 开发工具:Eclipse 3.0- 编程语言:Java 84. 测试目标定义本次白盒测试的目标和期望结果。

例如:- 确保系统代码的正确性和稳定性- 提高测试覆盖率,达到特定的代码覆盖目标(如语句覆盖、判定覆盖)- 发现并修复潜在的逻辑错误和代码缺陷5. 测试方法说明本次测试所采用的测试方法和技术。

例如:- 代码检查:对源代码进行手动检查,以发现潜在的问题和逻辑错误- 单元测试:通过编写和执行单元测试用例,验证代码的正确性和性能- 集成测试:针对模块间的接口和交互进行测试,确保模块之间的协调和整合正确性6. 测试结果总结测试的结果,包括测试通过的用例数量、失败的用例数量和未执行的用例数量。

例如:- 测试用例总数:100- 通过的用例数量:95- 失败的用例数量:2- 未执行的用例数量:37. 问题和建议列出在测试过程中发现的问题和建议。

例如:- 问题1:模块A的功能3在特定情况下会出现异常,需要修复- 问题2:模块B的功能5在高负载情况下响应时间较长,需要优化8. 测试总结对本次白盒测试的总体效果进行评价和总结。

例如:- 本次测试覆盖了80%的代码,并成功发现和修复了部分问题- 部分模块的代码质量较低,需要进一步改进和优化9. 测试建议提出针对下一步白盒测试的建议和改进措施。

例如:- 加强对代码质量的检查,提高代码的可读性和可维护性- 使用更多的静态代码分析工具,以帮助发现潜在的问题和漏洞10. 附件添附本次白盒测试的详细测试用例和测试日志。

白盒测试学习个人总结

白盒测试学习个人总结

⽩盒测试学习个⼈总结 如同之前的随笔内容所说,常见的软件测试⽅法中,如果说⿊盒测试就像是⾯对⽤户使⽤所设计出来的测试,那么⽩盒测试,就像是⾯对程序员和软件设计⼈员所设计出来的测试了。

盒⼦,值得就是程序,⽩盒,就像其名字⼀样,程序对测试⽽⾔是透明的。

在测试过程中,程序的输⼊输出,结构,运⾏过程,甚⾄代码等都是透明的。

所以⽩盒测试⼜被称为结构测试或者透明盒测试。

如果说⿊盒测试是在测试程序的使⽤功能的话,那么⽩盒测试就是在检测程序的运⾏机理和过程了。

所以,在对程序进⾏⽩盒测试之前,需要先对程序进⾏抽象化,将其转化为流程图,以⽅便测试。

常见的⽩盒测试⽅法有静态分析测试以及语句覆盖测试等等。

覆盖测试:  语句覆盖是⼀种常见的测试⽅法,即度量被测代码中每个可执⾏语句是否被执⾏到了。

语句覆盖往往只检测与剧中的可执⾏语句部分,所以其代码覆盖率较低,⽽测试过程中所以得可执⾏语句分⽀都得考虑到,所以其效率并不⾼,其优点在于对测试不需要做出太多的设计,执⾏起来简单。

⽽为了解决语句覆盖中重复覆盖的问题,就出现了另⼀种叫做分⽀覆盖的⽅法。

分⽀覆盖⼜称判定覆盖,使得程序中每个判断的取真分⽀和取假分⽀⾄少经历⼀次,即判断的真假均被满⾜。

分⽀覆盖具有⽐语句覆盖更强的测试能⼒,⽽且具有和语句覆盖⼀样的简单性,⽆需细分每个判定就可以得到测试⽤例。

然尔程序往往⼤部分的判定语句是由多个逻辑条件组合⽽成,但是分⽀分⽀覆盖,仅仅判断其整个最终结果,⽽忽略每个条件的取值情况,必然会遗漏部分测试路径。

对分⽀覆盖对应的是条件覆盖。

与分⽀覆盖不同的是,条件覆盖并⾮以分⽀的结果划分,⽽是以分⽀的条件划分。

条件覆盖使得每个判断中的每个条件的可能取值⾄少满⾜⼀次。

条件覆盖要检查每个符合谓词的⼦表达式值为真和假两种情况,要独⽴衡量每个⼦表达式的结果,以确保每个⼦表达式的值为真和假两种情况都被测试到。

⽩盒测试意义: 相对于⿊盒测试⽽⾔,⽩盒测试往往复杂且效率较低。

白盒测试总结

白盒测试总结

白盒测试总结吴佳祥我大胆的推广下二八原则,国内软件测试的现状是百分之八十以上的测试人员在做黑盒测试工作,不到百分之二十的测试人员做过白盒子测试工作。

这不到百分之二十的测试人员许多又是在与开发人员共同完成的白盒测试工作。

白盒测试也正在越来越受重视,前景也越来越好。

虽然未必做白盒测试,但是白盒子测试用例的设计方法是需要软件测试人员掌握的,许多公司笔试,还有软测试考试的时候都会有白盒测试用例设计的题目出现。

(我的意思不是为了应付考试而掌握哈,即使你现在没做白盒的测试,也要时刻为做白盒测试而准备着。

)在软件测试一书中,白盒测试是这样定义的:“软件测试人员可以访问程序员的代码,并通过检查代码来协助测试---可以看盒子里面。

”白盒子测试也分静态和动态两种:静态白盒测试是在不执行的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程,有时也称为结构分析。

进行静态白盒子测试的首要原因就是尽早发现软件缺陷,以找出动态黑盒子测试难以揭示或遇到的软件缺陷;另一个好处是为接受该软件测试的黑盒测试员的测试案例提供思路,他们不必了解代码细节,但是根据审查备注,可以确定似乎有问题或者存在软件缺陷的特性范围。

动态白盒测试是指利用查看代码功能和实现方式得到的信息来确定哪些要测试,哪些不要测试,如何开展测试。

动态白盒测试的另一个常用名称是结构化测试,因为软件测试员可以查看并使用代码的内部结构,从而设计和执行测试。

动态白盒测试包括四部分:1.直接测试底层功能、过程、子程序和库。

即应用程序接口(API)2.以完整程序的方式从顶层测试软件,但是要根据对软件运行的了解调整测试案例。

3.从软件获得读取变量和状态信息的访问权,以便确定测试与预期结果是否相符,同时,强制软件以正常测试难以实现的方式运行。

4. 估算执行测试时“命中”的代码量和具体代码,然后调整测试,去掉多余的,补充遗漏的。

静态的白盒测试我没做过,在此就不叙述了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

白盒测试方法总结
一、静态结构分析法
程序的结构形式是白盒测试的主要依据。

研究表明程序员38%的时间花费在理解软件系统上,因为代码以文本格式被写入多重文件中,这是很难阅读理解的,需要其它一些东西来帮助人们阅读理解,如各种图表等,而静态结构分析满足了这样的需求。

在静态结构分析中,测试者通过使用测试工具分析程序源代码的系统结构、数据结构、数据结构、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图、子程序表、宏和函数参数表等各类图形图标,可以清晰地标识整个软件系统的组成结构,使其便于阅读和理解,然后可以通过分析这些图标,检查软件有没有存在缺陷或错误。

其中函数调用关系图通过应用程序中各函数之间的调用关系展示了系统的结构。

通过查看函数调用关系图,可以检查函数之间的调用关系是否符合要求,是否存在递归调用,函数的调用曾是是否过深,有没有存在独立的没有被调用的函数。

从而可以发现系统是否存在结构缺陷,发现哪些函数是重要的,哪些是次要的,需要使用什么级别的覆盖要求......
模块控制流图是与程序流程图相类似的由许多节点和连接节点的边组成的一种图形,其中一个节点代表一条语句或数条语句,边代表节点间控制流向,它显示了一个函数的内部逻辑结构。

模块控制流图可以直观地反映出一个函数的内部逻辑结构,通过检查这些模块控制流图,能够很快发现软件的错误与缺陷
二、代码检查
代码检查包括桌面检查、代码审查和走查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码逻辑表达的正确性,代码结构的合理性等方面;发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的内容,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。

代码检查方法
1、代码检查法
(1)桌面检查:这是一种传统的检查方法,由程序员检查自己编写的程序。

程序员在程序通过编译之后,对源程序代码进行分析、检验,并补充相关文档,目的是发现程序中的错误。

由于程序员熟悉自己的程序及其程序设计风格,桌面检查由程序员自己进行可以节省很多的检查时间,但应避免主观片面性
(2)代码审查
由若干程序员和测试员组成一个审查小组,通过阅读、讨论和争议,对程序进行静态分析的过程。

代码审查分两步:第一步,小组负责人提前把设计规格说明书、控制流程图、程序文本及有关要求、规范等分发给小组成员,作为审查的依据。

小组成员在充分阅读这些材料后,进入审查的第二步,召开程序审查会。

在会上,首先由程序员逐句简介程序的逻辑。

在此过程中,程序员或其他小组成员可以提出问题,展开讨论,审查错误是否存在。

实践表明,程序员在讲解过程中能发现许多原来自己没有发现的错误,而讨论和争议则促进了问题的暴露。

在会前,应当给审查小组每个成员准备一份常见错误的清单,把以往所有可能发生的常见错误罗列出来,供与会者对照检查,以提高审查的失效。

这个常见的错误清单也成为检查表,它把程序中可能发生的各种错误进行分类,对每一类错误列出尽可能多的典型错误,然后把它们制成表格,供再审查时使用
(3)走查
与代码审查基本相同,分为两步,第一步也是把材料分给走查小组的每个成员,让他们认真研究程序,然后再开会。

开会的程序与代码审查不同,不是简单地读程序和对照错误检查表进行检查,而是让与会者“充当”计算机,即首先由测试组成员为所测试程序准备一批有代表性的测试用例,提交给走查小组。

走查小组开会,集体扮演计算机角色,让测试用例沿程序的逻辑运行一遍,随时记录程序的踪迹,供分析和讨论用。

人们借助测试用例的媒介作用,对程序的逻辑和功能提出各种疑问,结合问题开展热烈的讨论和争议,能够发现更多的问题。

代码检查应在编译和动态测试之前进行,在检查前,应准备好需求描述文档、程序设计文档、程序的源代码请当、代码编译标准和代码缺陷检查表等。

在实际使用中,代码检查能快速找到缺陷,发现30%~70%的逻辑设计和编码缺陷,而且代码检查看到的问题本身而非征兆。

但是代码检查非常耗费时间,而且代码检查需要知识和经验的积累。

代码检查可以使用测试软件进行自动化测试,以利于提高测试效率,降低劳动强度,或者使用人工进行测试,以充分发挥人力的逻辑思维能力
2、代码检查项目
变量交叉引用表;标号的交叉引用表;检查子程序、宏、函数;等价性检查;常量检查;标准检查;风格检查;比较控制流;选择、激活路径;补充文档
根据检查项目可以编制代码规则、规范和检查表等作为测试用例,如编码规范、代码检查规范、缺陷检查表等
3、编码规范
编码规范是指程序编写过程中必须遵循的规则,一般会详细制定代码的语法规则、语法格式等
4、代码检查规范
在代码检查中,需要依据被测软件的特点,选用适当的标准与规则规范。

在使用测试软件进行自动化代码检查时,测试工具一般会内置许多的编码规则。

在自动化测试基础上使用桌面检查、代码走查、代码审查等人工检查的方法仔细检查程序的结构、逻辑等方面的缺陷
5、缺陷检查表
在进行人工代码检查时,代码缺陷检查表是我们用到的测试用例。

代码缺陷检查表中一般包括容易出错的地方和在以往的工作中遇到的典型错误
三、静态质量度查法
根据ISO/IEC 9126质量模型作为基础,我们可以构造质量度量模型,用于评估软件的各个方面。

该模型从上到下分为3层:质量因素(Factors)、分类标准(Criteria)和度量规则(metrics)。

其中质量因素对应ISO 9126质量模型的质量特性,分类标准对应ISO 9126质量模型的子特性,度量规则用于规范软件的各种行为属性。

以下例子按照可维护性进行分析。

1、度量规则
度量规则使用了代码行数、注释频度等参数度量软件的各种行为属性,具体参数定义如表1
2、分类标准
软件的可维护性采用以下四个分类标准来评估:可分析性(ANALYZABILITY)、可修改性(CHANGEABILITY)、稳定性(STABILITY)、可测性(TESTABILITY)。

每个分类标准由一系列度量规则组成,各个规则分配一个权重,由规则的取值与权重值计算出每个分类标准的取值。

function_TESTABILITY_DRCT_CALLS+LEVL+PATH+PARA
3、质量因素
质量因素的取值与分类标准的计算方式类似:依据各分类标准取值组合权重方法计算.
function_MAINTAINABILITY=function_ANALYZABILITY
+function_CHANGEABILITY
+function_ATABILITY
+function_TESTABILITY
四、基本路径测试法
设计出的测试用例要保证每一个基本独立路径至少要执行一次。

相关文档
最新文档