白盒测试方法-代码检查法

代码检查包括桌面检查、代码审查和走查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码逻辑表达的正确性,代码结构的合理性等方面;发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的内容,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。

代码检查方法

1、代码检查法

    (1)桌面检查:这是一种传统的检查方法,由程序员检查自己编写的程序。程序员在程序通过编译之后,对源程序代码进行分析、检验,并补充相关文档,目的是发现程序中的错误。由于程序员熟悉自己的程序及其程序设计风格,桌面检查由程序员自己进行可以节省很多的检查时间,但应避免主观片面性

(2)代码审查

    由若干程序员和测试员组成一个审查小组,通过阅读、讨论和争议,对程序进行静态分析的过程。代码审查分两步:第一步,小组负责人提前把设计规格说明书、控制流程图、程序文本及有关要求、规范等分发给小组成员,作为审查的依据。小组成员在充分阅读这些材料后,进入审查的第二步,召开程序审查会。在会上,首先由程序员逐句简介程序的逻辑。在此过程中,程序员或其他小组成员可以提出问题,展开讨论,审查错误是否存在。实践表明,程序员在讲解过程中能发现许多原来自己没有发现的错误,而讨论和争议则促进了问题的暴露。

   在会前,应当给审查小组每个成员准备一份常见错误的清单,把以往所有可能发生的常见错误罗列出来,供与会者对照检查,以提高审查的失效。这个常见的错误清单也成为检查表,它把程序中可能发生的各种错误进行分类,对每一类错误列出尽可能多的典型错误,然后把它们制成表格,供再审查时使用

   (3)走查

   与代码审查基本相同,分为两步,第一步也是把材料分给走查小组的每个成员,让他们认真研究程序,然后再开会。开会的程序与代码审查不同,不是简单地读程序和对照错误检查表进行检查,而是让与会者“充当”计算机,即首先由测试组成员为所测试程序准备一批有代表性的测试用例,提交给走查小组。走查小组开会,集体扮演计算机角色,让测试用例沿程序的逻辑运行一遍,随时记录程序的踪迹,供分析和讨论用。

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

代码检查应在编译和动态测试之前进行,在检查前,应准备好需求描述文档、程序设计文档、程序的源代码请当、代码编译标准和代码缺陷检查表等。在实际使用中,代码检查能快速找到缺陷,发现30%~70%的逻辑设计和编码缺陷,而且代码检查看到的问题本身而非征兆。但是代码检查非常耗费时间,而且代码检查需要知识和经验的积累。

代码检查可以使用测试软件进行自动化测试,以利于提高测试效率,降低劳动强度,或者使用人工进行测试,以充分发挥人力的逻辑思维能力

2、代码检查项目

     变量交叉引用表;标号的交叉引用表;检查子程序、宏、函数;等价性检查;常量检查;标准检查;风格检查;比较控制流;选择、激活路径;补充文档

    根据检查项目可以编制代码规则、规范和检查表等作为测试用例,如编码规范、代码检查规范、缺陷检查表等

3、编码规范

    编码规范是指程序编写过程中必须遵循的规则,一般会详细制定代码的语法规则、语法格式等

4、代码检查规范

    在代码检查中,需要依据被测软件的特点,选用适当的标准与规则规范。在使用测试软件进行自动化代码检查时,测试工具一般会内置许多的编码规则。在自动化测试基础上使用桌面检查、代码走查、代码审查等人工检查的方法仔细检查程序的结构、逻辑等方面的缺陷

5、缺陷检查表

    在进行人工代码检查时,代码缺陷检查表是我们用到的测试用例。

    代码缺陷检查表中一般包括容易出错的地方和在以往的工作中遇到的典型错误

白盒测试Next Date的代码检查法是一种测试方法,它基于程序代码的静态分析,通过检查代码中的潜在错误和缺陷,从而提高程序的质量和可靠性。 该方法的基本步骤如下: 1. 对程序代码进行静态分析,检查代码中的错误和缺陷,例如语法错误、死代码、未初始化变量等。 2. 检查程序中的边界条件和特殊情况,例如输入日期为最小日期或最大日期时程序的行为是否正确。 3. 检查程序中的逻辑错误和算法缺陷,例如对闰年的判断是否正确,计算下一个日期的算法是否正确等。 4. 检查程序中的安全漏洞和异常处理,例如输入非法日期时程序是否会崩溃或泄漏敏感信息。 5. 修复程序中的错误和缺陷,重新编译和测试程序。 例如,对于计算下一个日期的程序,我们可以进行以下代码检查: 1. 检查年份判断的逻辑是否正确,包括能否被4、能否被100、能否被400整除的判断。 2. 检查月份判断的逻辑是否正确,包括是否在1~12范围内,是否是2月份的特殊处理等。 3. 检查输入日期是否为最小日期或最大日期的特殊处理,包括对输入日期边界的判断和处理。 4. 检查算法中各种变量的初始化和计算是否正确,例如计算下一个月和下一年时的变量计算。 5. 检查程序中的异常处理和安全漏洞,例如输入非法日期时的处理和程序崩溃的情况。 通过这种方法,我们可以及早发现和修复程序中的错误和缺陷,提高程序的质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值