代码检查

代码检查要做的事

所谓代码检查是以组为单位阅读代码,它是一系列规程和错误检查技术的集合。对代码检查的大多数讨论都集中在规程、所要填写的表格等。

代码检查小组成员

  1. 协调人,协调人应该是个称职的程序员,但不是该程序的编码人员,不需要对程序的细节了解得很清楚
  2. 程序的编码人员
  3. 程序设计人员
  4. 测试专家

检查会议进行的活动

  1. 由程序编码人员逐条语句讲述程序的逻辑结构。在讲述的过程当中,小组的其他成员应提问题、判断是否存在错误。在讲述中,很可能是程序编码人员本人而不是其他小组成员发现了大部分错误。换句话说,对着大家大声朗读程序,这种简单的做法看来是一个非常有效的错误检查方法
  2. 对着历来常见的编码错误列表分析程序

小结

  1. 这个代码检查过程通常将注意力集中在发现错误上,而不是纠正错误
  2. 会议结束之后,程序员会得到一份已发现错误的清单
  3. 要使检查过程有成效,必须树立正确的态度。如果程序员将代码检查视为对其人格的攻击、采取了防范的态度,那么检查过程就不会有效果。正确的做法是,程序员必须怀着非自我本位的态度来对待检查过程,对整个过程采取积极和建设性的态度:代码检查的目标是发现程序中的错误,从而改进软件的质量

用于代码检查的错误列表

  1. 数据引用错误(下标越界,变量未赋值等)
  2. 数据声明错误(变量类型等)
  3. 运算错误(除以0,不同类型间的加减运算等)
  4. 比较错误(有不同数据类型的变量之间的比较运算等)
  5. 控制流程错误(逻辑上的错误)
  6. 接口错误(接收参数数量,类型)
  7. 输入/输出错误

代码走查

走查概述

代码走查的过程与代码检查大体相同,但是规程稍微有所不同,采用的错误检查技术也不一样

代码走查小组成员

  1. 协调人
  2. 记录人员
  3. 测试人员
  4. 程序编写人员
  5. 程序设计人员

走查和检查的区别

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

桌面检查

概述

桌面检查可视为由单人进行的代码检查或代码走查:由一个人阅读程序,对照错误列表检查程序,对程序推演测试数据。
桌面检查的效率是相当低的。其中的一个原因是,它是一个完全没有约束的过程。另一个重要的原因是它违反了本书第 2 章提出的测试原则,
即人们一般不能有效地测试自己编写的程序。因此桌面检查最好由其他人而非该程序的编写人员来完成(例如,两个程序员可以相互交换各自的程序,而不是桌面检查自己的程序)。

同行评分

同行评分是一种依据程序整体质量,可维护性、可扩展性、易用性和清晰性对匿名程序进行评价的技术。该项技术的目的是为程序员提供自我评价的手段。

软件测试的艺术第三章总结相关推荐

  1. 软件测试的艺术第六章总结

    开发过程与测试过程的对应关系 功能测试 功能测试是一个试图发现程序与其外部规格说明之间存在不一 致的过程.外部规格说明是一份从最终用户的角度对程序行为的精确描述. 系统测试 系统测试并非是测试整个系统 ...

  2. 软件测试期末复习知识点(第三章、第四章)

    软件测试期末复习 第三章 黑盒测试 等价类划分 因果图 边值分析 功能测试 第四章 白盒测试 逻辑覆盖 路径分析 程序路径的树表示及路径编码 程序插装 断言语句 程序变异 第三章 黑盒测试 等价类划分 ...

  3. 《软件测试的艺术》第四章 测试用例的设计

    <软件测试的艺术>第四章 测试用例的设计 4.0 前言 4.1 白盒测试 逻辑覆盖测试 语句覆盖 判定覆盖/分支覆盖 条件覆盖 判定/条件覆盖 多重条件覆盖 4.2 黑盒测试 4.2.1 ...

  4. 《软件测试的艺术》第六章 更高级别的测试

    <软件测试的艺术>第六章 更高级别的测试 6.0 前言 软件开发过程模型 6.1 功能测试 6.2 系统测试 6.2.1 能力测试 6.2.2 容量测试 6.2.3 强度测试 6.2.4 ...

  5. 程序员编程艺术:第三章续、Top K算法问题的实现

    程序员编程艺术:第三章续.Top K算法问题的实现 作者:July,zhouzhenren,yansha.     致谢:微软100题实现组,狂想曲创作组.     时间:2011年05月08日    ...

  6. 【面试宝典】软件测试工程师2021烫手精华版(第三章Mysql基础篇)

    第三章 Mysql 基础 一. 基础知识 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库 什么是关系型数据库,主键,外键,索引分别是什么? 关系型数据库是由多张能 ...

  7. 程序员编程艺术:第三章、寻找最小的k个数

    程序员编程艺术:第三章.寻找最小的k个数 作者:July. 时间:二零一一年四月二十八日. 致谢:litaoye, strugglever,yansha,luuillu,Sorehead,及狂想曲创作 ...

  8. 《软件测试的艺术》第3章:代码检查、走查与评审

    <软件测试的艺术>: 软件开发人员通常不会考虑到的一种测试形式:人工测试.大多数人认为,因为程序是为了供机器执行而编写的,那么也应由机器来对程序进行测试.这种想法是有问题的.人工测试方法在 ...

  9. 程序员编程艺术第三十二~三十三章:最小操作数,木块砌墙问题

    第三十二~三十三章:最小操作数,木块砌墙问题 作者:July.caopengcs.红色标记.致谢:fuwutu.demo. 时间:二零一三年八月十二日 题记 再过一两月,便又到了每年的九月十月校招高峰 ...

最新文章

  1. 《评人工智能如何走向新阶段》后记(再续10)
  2. 如何在Hadoop上运行TensorFlow【部署】
  3. 内存很空却频繁gc_NonRegisteringDriver造成的内存频繁FullGc
  4. Thymeleaf中使用if和unless实现状态的判断显示达到if-else逻辑判断的效果
  5. webrtc简单案例——音视频采集和播放
  6. python xml et_Python 标准库之 XML(下)
  7. springContext
  8. python设计一个动物类_我用Python实现了12500张猫狗图像的精准分类
  9. Linux命令之目录和文件操作
  10. odoo10在win7下的安装详细步骤
  11. hadoopstreaming
  12. ubuntu14.04 caffe安装前先要将gcc版本降到4.7.x
  13. sql 怎么查一个账号连续登录失败的次数_黑客到底是怎么入侵的,我展示给你看...
  14. QT运行时的Debug、Release、Profile选项区别
  15. 苹果开发的资源URL链接
  16. 【渝粤教育】广东开放大学 跨文化商务沟通 形成性考核 (42)
  17. 中国大学慕课——程序设计与算法(一)第二周测验
  18. Unexpected Error 0x8ffe2740 Occured
  19. linuxService
  20. npm配置国内镜像(淘宝镜像)

热门文章

  1. Python 3.9.1 安装教程
  2. 软件测试用例_通用测试用例执行软件
  3. 毕业论文 | 便携式环境烟雾监测器(源码、电路图)
  4. HTML+CSS+JavaScript复习笔记持更(二)——列表篇
  5. 在PyPI上发布自己的python包
  6. php utf8 html字符,PHP:utf-8编码,htmlentities给出了奇怪的结果
  7. 原 水质监测系统解决方案
  8. BOOL 值在 debug 和 release 模式下初始化不一样!!!
  9. char[] 转换为LPWSTR
  10. groovy怎样从sql语句中截取表名_sql注入mysql篇