• 0
  • 0
分享
  • 代码检查、走查与评审——软件测试圈
  • TIMI 2022-06-14 16:10:47 字数 1756 阅读 2504 收藏 0

软件开发人员通常不会考虑的一种测试形式-人工测试。

大多数人都以为,因为程序是为了供机器执行而编写的,那么也该由机器来对程序进行测试。这种想法是有问题的。人工测试方法在暴露错误方面是很有成效的。实际上,大多数的软件项目都应使用到一下的人工测试方法:

  1. 利用错误列表进行代码检查

  2. 小组代码走查

  3. 桌面检查

  4. 同行评审

代码检查:

所谓代码检查是以组为单位阅读代码,它是一系列规程和错误检查技术的集合。

一个代码检查小组通常由四人组成:

  1. 协调人:以为称职的程序员

  2. 该程序的编码人员

  3. 该程序的设计人员

  4. 测试专家

用于代码检查的错误列表:

1、数据引用错误

  • 是否有引用的变量未赋值或未初始化

  • 下标的值是否在范围之内

  • 是否存在非整数下标

  • 是否存在虚调用

  • 当使用别名时属性是否正确

  • 记录和结构的属性是否匹配

  • 是否计算位串的地址,是否传递位串参数

  • 基础的存储属性是否正确

  • 跨过程的结构定义是否匹配

  • 索引或下标操作是否有“仅差一个”的错误

  • 继承需求是否得到满足

2、数据声明错误

  • 是否所有的变量都已声明

  • 默认的属性是否被正确理解?

  • 数组和字符串的初始化是否正确?

  • 变量是否赋予了正确的长度,类型和存储类

  • 初始化是否与存储类相一致?

  • 是否有相似的变量名?

3、运算错误

  • 是否存在非算术变量间的运算?

  • 是否存在混合摸式的运算?

  • 是否存在不同字长变量问的运算?

  • 目标变量的大小是否小于赋值大小?

  • 中间结果是否上溢或下溢?

  • 是否存住被0除?

  • 是否存在二进制的不精确度?

  • 变量的值是否超过了有意义的范围?

  • 操作符的优先顺序是否被正确理解?

  • 整数除法是否正确?

4、比较错误

  • 是否存在不同类型变量间的比较?

  • 是否存在混合模式的比较运算?

  • 比较运算符是否正确?

  • 布尔表达式是否正确?

  • 比较运算是是否与布尔表达式相混合?

  • 是否存在二进制小数的比较?

  • 操作符的优先顺序是否被正确理解?

  • 编译器对布尔表达武的计算方式是否被正确理解?

5、控制流程错误

  • 是否超出了多条分支路径?

  • 是否每个循环都终止了?

  • 是否每个程序都终止了?

  • 是否存在由于入口条件不满足而跳过循环体?

  • 肯能的循环越界是否正确?

  • 是否存在“仅差一个”的迭代错误?

  • DO/END语句是否匹配?

  • 是否存在不能穷尽的判断?

  • 输出信息中是否有文字或语法错误?

6、接口错误

  • 形参的数量是否等于实参的数量?

  • 形参的量纲是否与实参的量纲相匹配?

  • 传递给被调用模块的实参个数是否等于其形参个数?

  • 传递给被调用模块的实参属性是否与其形参属性匹配?

  • 传递给被调用模块的实参量纲是否与其形参量纲匹配?

  • 调用内部函数的实参的数量、属性,顺序是否正确?

  • 是否引用了与当前入口点无关的形参?

  • 是否改变了某个原本仅为输入值的形参?

  • 全局变量的定义在模块间是否一致?

  • 常数是否以实参形式传递过?

7、输入/输出错误

  • 文件的属性是否正确?

  • OPEN语句是否正确?

  • I/O语句是否符合格式规范

  • 缓冲大小与记录大小是否匹配?

  • 文件在使用前是否打开?

  • 文件在使用后是否关闭?

  • 文件结束条件是否被正确处理?

  • 是否处理了I/O错误?

8、其他检查

  • 在交叉引用列表中是否存在未引用过的变量?

  • 属性列表是否与预期的相一致?

  • 是否存在“警告”或“提示”信息?

  • 是否对输入的合法性进行了检查?

  • 是否遗漏了某个功能?

代码走查:

代码走查不同于仅阅读程序或使用错误检查列表,代码走查的参与者“使用了计算机”。被指定为测试人员的那个人会带着一些书面的测试用例来参加会议。在会议期间,每个测试用例都在人们脑中进行推演,也就是说,把测试数据沿程序的逻辑结构走一遍。程序的状态(如变量的值)记录在纸张或白板上以供监视。

这些测试用例必须结构简单,数量较少。因为人脑执行程序的速度比计算机执行程序的速度慢上若干量级。因此,这些测试用例本身并不起到关键的作用。它们的作用是提供了启动代码走查和质疑程序员逻辑思路及其设想的手段。在大多数的代码走查中,很多问题是在向程序员提问的过程中发现的,而不是由测试用例本身直接发现的。

桌面检查:

可以视为由单人进行的代码检查或代码走查。

同行评分:

同行评分是一种依据程序整体质量,可维护性、可扩展性、易用性和清晰性对匿名程序进行评价的技术。

  • 程序是否易于理解

  • 高层次的设计是否可见且合理

  • 低层次的设计是否可见且合理

  • 修改此程序对评审者而言是否容易

  • 评审者是否会以编写出该程序而骄傲


作者:LilianChen

原文链接:https://www.cnblogs.com/LilianChen/p/4052399.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1、哪一刻,让你想起了自动化作为一名大厂测开,编写自动化脚本,嫣然成为一种必备的技能。但是,什么情况下使用自动化,使用自动化的前提条件,却不是很多人都熟知。这就好比,拿到驾照会开车的人很多,但车子何时需要做养护,每个阶段养护内容是什么,应该不是所有驾驶员都知道。所以,为了能彻底搞懂自动化的来龙去脉,我们今天就来聊一聊,自动化的场景及成本维护等…1.1 执行回归测试问:在日常测试工作中,由于新追加的需求(不允许怼产品经理)或者修复BUG,如何确定是否因其而引起新的BUG?答:我们常用做法,就是 回归测试。问:那么在每次修复bug或新增需求时,都需要手动去回归吗?在没有更多的成本、资源、时间时,依...
            0 1 4578
            分享
          •   什么是数据管理?  女士们,先生们,欢迎来到数据管理的世界——数字球美女,商业机器背后的驱动力。简而言之,数据管理是收集、保护和利用数据的做法,这些策略安全、高效且具有成本效益。想象一下,有一个数字图书管理员,但不是严厉的喝斥,而是让你毫不费力地访问数据。无论你的组织规模如何,这个魔法都会创造奇迹。  数据管理的组成部分  数据管理不单单是几个字符,它是一个由多个组件组成的合奏,演奏着一首美丽的交响乐。首先,我们有数据管理指挥家设定节奏,定义规则,并确保数据管理工作在法律允许范围内。接下来是数据质量,这是一个精致的女高音,确保数据是准确的,有关联的,最重要的是可用的。  接着是数据整合,我...
            0 0 487
            分享
          •   2021年10月,彭志辉在微博上表示:“我觉得我既不是天才,也已经不是少年了,我只是个很爱折腾的极客。之后还是会继续分享我的一些爱好和创造,我觉得可能‘野生钢铁侠’这个称呼更适合自己。”  近日,华为“天才少年”稚晖君离职的消息受到关注。  12月27日,以“天才少年”身份加入华为的稚晖君(本名彭志辉)被曝离职。他本人在微博证实确实已经离开华为,“接下来我会开启一段新的事业,去做更有挑战的事情…”  据了解,“天才少年”项目是由华为创始人任正非在2019年发起的,用顶级挑战和顶级薪酬吸引顶尖人才的项目。华为给这些“天才少年”们开出高达百万年薪,这让与“天才少年”相关的消息备受社会关注。  ...
            0 0 1416
            分享
          • 从本篇文章开始,我们一起来看看Spring AOP和Spring IoC是如何整合的,自动代理的过程做了哪些事情?首先我们得清楚 Bean 的加载过程,整个过程中会调用相应的 BeanPostProcessor 对正在创建 Bean 进行处理,例如:在 Bean 的实例化前,会调用 InstantiationAwareBeanPostProcessor#postProcessBeforeInstantiation(..) 方法进行处理;在 Bean 出现循环依赖的情况下,会调用 SmartInstantiationAwareBeanPostProcessor#getEarlyBeanRefer...
            0 0 1600
            分享
          •   近期,小红书开始招募到店餐饮商家及服务商,一部分商家正入驻参与内测,这也是小红书在本地生活领域动作最大的一次尝试。  不久后,小红书将上线团购功能,打通本地餐饮从内容种草到交易的闭环。用户可以直接在笔记右下角的商品笔记,购买团购套餐、到店消费。  报道还称,针对商家和达人,小红书已发起了扶持计划。另外,除流量激励外,后期达人附带的团购链接产生交易,还可以获得佣金奖励。  值得一提的是,抖音目前也在积极扩张本地生活服务,“团购配送”项目目前在北京、上海、成都试点当中,号称在视频化时代带来“即看、即点、即达”的本地生活新体验。  据IT之家此前报道,抖音也瞄准了小红书的“大本营”,此前并入抖音...
            0 0 1001
            分享
      • 51testing软件测试圈微信