人工测试之代码检查、走查与评审

2023-10-26

  • 人工测试方法:代码检查、代码走查、桌面检查、同行评审。
  • 代码检查与代码走查的联系:
1. 要求人们组成一个小组来完阅读或直观检查特定的程序,找出错误,但不必改正错误
2. 都是对过去桌面检查过程(在提交测试前,由程序员阅读自己程序的过程)的改进
3. 代码检查/走查与基于计算机的测试是互补的

一、代码检查

1. 定义

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

2. 代码检查小组

  • 通常四人组成,有一人起协调作用,一名测试专家,其他是程序的设计人员。

3. 检查议程

  • 程序编码人员逐条语句讲述程序的逻辑结构,在讲述过程中,小组其他成员提问、判断是否存在错误。
  • 参考常见的编码错误列表分析程序。

二、代码走查

1. 定义

  • 以组为单位阅读代码,是一系列规程和错误检查技术的集合。
  • 采用持续一直两个小时的不间断会议的形式。

2. 代码走查小组

  • 三至五人组成,一个为类似“协调者”,一个担任秘书(记录所有查出的错误),还有一个测试人员,其他为程序员。

3. 走查过程

  • 不仅阅读程序或使用错误检查列表,代码走查参与者还使用到计算机。
  • 被指定为测试的人员会带书面测试用例参加会议,需要把测试数据按照程序逻辑结构走一遍。

三、同行评审

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

四、代码检查错误列表

1. 数据引用错误

  1. 是否有引用的变量未赋值或未初始化?
  2. 下标的值是否在范围之内?
  3. 是否存在非整数下标?
  4. 是否存在虚调用?
  5. 当使用别名时属性是否正确?
  6. 记录和结构的属性是否匹配?
  7. 是否计算位串的地址?是否传递位串参数?
  8. 基础的存储属性是否正确?.
  9. 跨过程的结构定义是否匹配?
  10. 索引或下标操作是否有“仅差-一个” 的错误? 
  11. 继承需求是否得到满足?

2. 运算错误

  1. 是否存在非算术变量间的运算?
  2. 是否存在混合模式的运算?
  3. 是否存在不同字长变量间的运算?
  4. 目标变量的大小是否小于赋值大小?
  5. 中间结果是否,上溢或下溢?
  6. 是否存在被0除?
  7. 是否存在二进制的不精确度?
  8. 变量的值是否超过了有意义的范围?
  9. 操作符的优先顺序是否被正确理解?
  10. 整数除法是否正确?

3. 数据声明错误

  1. 是否所有的变量都已声明?
  2. 默认的属性是否被正确理解?
  3. 数组和字符串的初始化是否正确?
  4. 变量是否赋予了正确的长度、类型和存储类?
  5. 初始化是否与存储类相一致?
  6. 是否有相似的变量名?

4. 比较错误

  1. 是否存在不同类型变量间的比较?
  2. 是否存在混合模式的比较运算?
  3. 比较运算符是否正确?
  4. 布尔表达式是否正确?
  5. 比较运算是否与布尔表达式相混合?
  6. 是否存在二进制小数的比较?
  7. 操作符的优先顺序是否被正确理解?
  8. 编译器对布尔表达式的计算方式是否被正确理解?

5. 流程控制错误

  1. 是否超出了多条分支路径?
  2. 是否每个循环都终止了?
  3. 是否每个程序都终止了?
  4. 是否存在由于人口条件不满足而跳过循环体?
  5. 可能的循环越界是否正确?
  6. 是否存在“仅差一个”的迭代错误?
  7. DO/END语句是否匹配?
  8. 是否存在不能穷尽的判断?
  9. 输出信息中是否有文字或语法错误?

6. 输入/输出错误

  1. 文件属性是否正确?
  2. OPEN语句是否正确?
  3. I/O语句是否符合格式规范?
  4. 缓冲大小与记录大小是否匹配?
  5. 文件在使用前是否打开?
  6. 文件在使用后是否关闭?
  7. 文件结束条件是否被正确处理?
  8. 是否处理了I/O错误?

7. 接口错误

  1. 形参的数量是否等于实参的数量?
  2. 形参的属性是否与实参的属性相匹配?
  3. 形参的量纲是否与实参的量纲相匹配?
  4. 传递给被调用模块的实参个数是否等于其形参个数?
  5. 传递给被调用模块的实参属性是否与其形参属性匹配?
  6. 传递给被调用模块的实参量纲是否与其形参量纲匹配?
  7. 调用内部函数的实参的数量、属性、顺序是否正确?
  8. 是否引用了与当前入口点无关的形参?
  9. 是否改变了某个原本仅为输入值的形参?
  10. 全局变量的定义在模块间是否--致?
  11. 常数是否以实参形式传递过?

8. 其他检查

  1. 在交叉引用列表中是否存在未引用过的变量?
  2. 属性列表是否与预期的相一致?
  3. 是否存在“警告”或“提示”信息?
  4. 是否对输入的合法性进行了检查?
  5. 是否遗漏了某个功能?

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

人工测试之代码检查、走查与评审 的相关文章

  • 软件测试开发/全日制/测试管理丨接口测试抓包与 Mock/接口自动化测试

    在软件开发中 接口测试是确保系统各个组件之间协同工作的重要环节 接口测试抓包与Mock以及接口自动化测试相结合 能够更全面 高效地验证接口的正确性 性能和稳定性 从而打造一个稳健的接口生态系统 接口测试抓包 接口测试抓包是一种通过监控和记录
  • 软件测试开发/全日制/测试管理丨用户端 App 自动化测试

    随着移动应用的普及和发展 用户端 App 自动化测试成为确保应用质量 提高测试效率的关键环节 这一测试方法不仅可以模拟用户真实的操作行为 还能够覆盖多种设备和平台 为移动应用的稳定性和用户体验提供可靠的保障 选择合适的自动化测试框架 在用户
  • 软件测试开发/全日制/测试管理丨Docker容器技术

    Docker 是一种轻量级的容器技术 通过将应用程序及其所有依赖项封装到一个可移植的容器中 实现了应用程序的便携性 可部署性和可伸缩性 下面是关于 Docker 容器技术的主要概念和优势 主要概念 容器 Container 容器是一个轻量级
  • “揭秘性能测试工具:优化软件性能的关键秘籍“

    性能测试工具的设计宗旨是为了模拟用户对软件应用程序或系统的各种操作 旨在评估关键的性能指标 包括响应时间 吞吐量 并发能力和资源利用率 通过这些工具模拟的多用户环境 我们能够产生与实际工作负载相似的条件 并监测系统在这种情况下的性能表现 一
  • 使用Hypothesis生成测试数据

    Hypothesis是Python的一个高级测试库 它允许编写 测试用例 时参数化 然后生成使测试失败的简单易懂的测试数据 可以用更少的工作在代码中发现更多的bug 安装 pip install hypothesis 如何设计 测试数据 通
  • 【Mysql】InnoDB 引擎中的页目录

    一 页目录和槽 现在知道记录在页中按照主键大小顺序串成了单链表 那么我使用主键查询的时候 最顺其自然的办法肯定是从第一条记录 也就是 Infrimum 记录开始 一直向后找 只要存在总会找到 这种在数据量少的时候还好说 一旦数据多了 遍历耗
  • 步骤详图 教你在linux搭建容器环境

    警告 切勿在没有配置 Docker YUM 源的情况下直接使用 yum 命令安装 Docker 1 准备工作 系统要求 要安装Docker CE 社区版 操作系统的最低要求是CentOS7 7以下版本都不被支持 卸载旧版本 Docker改版
  • 微信小程序的自动化测试框架

    微信发布了小程序的自动化测试框架Minium 提供了多种运行验证方式 其特点 支持一套脚本 iOS Android 模拟器 三端运行 提供丰富的页面跳转方式 看不到也能去得到 可以获取和设置小程序页面数据 让测试不止点点点 可以直接触发小程
  • 基于Loadrunner的性能分析及调优经验分享

    公司某个系统的微信端计划将开放给几百上千的人员登录查询 并且登录账号为同一账号多人使用 后台服务能够支撑起多用户的并发操作以及成百上千人登录微信端对生产数据库或者登录查询的性能效率高成为交付可靠生产环境的必要条件 因此 项目组决定提交测试
  • 软件测试|使用Python轻松裁剪视频

    简介 裁剪视频是在视频编辑和处理中常见的任务之一 Python提供了多种库和工具 可以用来裁剪视频 在本文中 我们将详细讨论如何使用Python来裁剪视频 并提供示例代码 步骤1 环境准备 首先 我们要安装必要的Python库 我们将使用
  • 软件测试|使用matplotlib绘制多种折线图

    简介 在数据可视化领域 Matplotlib是一款非常强大的Python库 它可以用于绘制各种类型的图表 包括折线图 本文将介绍如何使用Matplotlib创建多种不同类型的折线图 并提供示例代码 创建模版 在绘图之前 我们可以先创建我们的
  • 软件测试|Selenium StaleElementReferenceException 异常分析与解决

    简介 Selenium 是一个流行的自动化测试工具 用于模拟用户与网页交互 然而 当我们在使用 Selenium 时 可能会遇到一个常见的异常 即 StaleElementReferenceException 这个异常通常在我们尝试与网页上
  • 软件测试|使用matplotlib绘制平行坐标系图

    简介 绘制平行坐标系图 Parallel Coordinates Plot 是一种用于可视化多维数据的强大方法 在这篇文章中 我们将介绍如何使用Matplotlib库创建平行坐标系图 以及如何解释和定制这种图表 我们将使用一个示例数据集来演
  • 软件测试|教你使用Python下载图片

    前言 我一直觉得Windows系统默认的桌面背景不好看 但是自己又没有好的资源可以进行替换 突然我一个朋友提醒了我 网络上的图片这么多 你甚至可以每天换很多个好看的背景 但是如果让我手动去设置的话 我觉得太麻烦了 我不如使用技术手段将图片下
  • 跨平台UI自动化框架:Airtest,游戏开发和应用测试的利器

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 测开和测试平台是否有存在的必要?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • msyql 异常,别干着急,70%的问题都在这里!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 20年通过校招进入广州某软件公司 干了接近3年的 功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的功能测试 已经让我变得不思进取 谈了2年的女朋

随机推荐

  • 在linux-CentOS7.9中搭建DHCP服务器

    目录 dhcp协议 dhcp分配的过程 在linux系统里搭建一个dhcp服务 给其他机器分配ip地址 具体步骤 1 安装dhcp相关的软件包 2 拷贝样例文件到 etc dhcp目录下 3 编辑配置文件 4 启动dhcp服务器 5 查看d
  • 深入了解golang 的channel

    文章目录 1 channel 是什么 channel的特点 2 channel 的数据结构 hchan 等待队列和发送队列的类型包装 sudog 3 channel 分类 有缓冲channel 无缓冲channel 4 channel 的创
  • STOCHRSI 指标理解

    STOCHRSI 指标理解 这几天帮一个朋友解决一个关于指标的问题 这个指标就是 STOCHRSI 在网上查了很多资料 中文的真是甚少 而且仅有的也不是讲的很清楚 对于我这样的 交易小白 简直是天书 不过只要研究多少会有点收获的 下面分享下
  • 7月7日下午!GLM大模型技术前沿与应用探索

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入 随着AIGC时代的到来 大型语言模型逐渐成为学术界和工业界的关注焦点 近期 各种大语言模型的涌现给自然语言处理领域的研究带来了诸多挑战 也逐渐对计算机视觉和计算机生物等领域产生了
  • 解析CAN的J1939协议PDU报文

    PF用来确定PDU格式 0 239表示PDU1格式 240 255表示格式2 PDU1格式报文表示向特定或全局地址发送 PDU2格式报文表示向全局地址发送 PS由PF决定其含义 DA表示报文要发送的目标地址 GE表示PS在PDU2中与PF的
  • 面试官问你为什么选择做客服_在线客户服务-您的选择

    面试官问你为什么选择做客服 On the Web news travels fast and a good customer testimonial is worth its weight in gold If a client feels
  • Java并发编程实战——彻底理解volatile

    文章目录 volatile作用 volatile实现原理 volatile的happens before关系 volatile的内存语义 volatile重排序与JMM内存屏障 volatile的使用误区 volatile的适用场景 vol
  • CI/CD一般流程图

    CI CD的流水线一般由按照一定的逻辑组织工具 下面是一个逻辑图串联工具形成的一个典型的CI CD流程 工具 Bitbucket 代码托管工具 Jenkins 编译工具 Docker 打包工具 Slack Email 通知工具 Artifa
  • .net mvc + vuejs 的项目结构

    net项目结构 程序目录结构 vue操作 前提 安装npm vue vue cli 1 进入控制台窗口 2 进入程序目录 3 运行 vue init webpack webjs 生成webjs及其子目录 4 cd webjs 5 npm i
  • 使用V C ++ 向.exe文件中写入资源

    使用V C 向 exe文件中写入资源 BOOL result HANDLE hFile CreateFile c test htm GENERIC READ FILE SHARE READ NULL OPEN EXISTING FILE A
  • Linux虚拟机增加内存后扩展swap空间( insufficient virtual memory,please increase swap space)

    虚拟内存 swap 的基本概念 虚拟内存 swap 就是将硬盘规划出一个区 间 让内存的数据可以经由硬盘来读取 swap工作原理是 当物理内存不够时 则某些在内存当中所占的程序会暂时被 移动到 swap 中 让物理内存可以被更需要的程序来优
  • 在Qt项目中添加pri文件

    在Qt项目框架里 很多人都喜欢用pri文件来管理项目 那么今天就来讲讲这个pri文件 目录 前言 创建pri文件的步骤 一 创建Qt项目 二 创建pri空文件 三 调试 前言 一般我们创建Qt项目工程的时候 都是直接把所有的项目 头文件和资
  • Qt 添加其他目录的资源文件

    添加App目录资源文件的方法 首先 添加 qrc文件 Add New xxx qrc 其次 在qrc文件上添加存在的目录 或者文件 添加其他目录资源文件的方法 如下图步骤
  • 网易一面,痛失30K:为啥用阻塞队列,list不行吗?

    程序员的成长之路 互联网 程序员 技术 资料共享 关注 阅读本文大概需要 5 5 分钟 来自 技术自由圈 本文目录 说在前面 1 什么是阻塞队列 2 主要并发队列关系图 3 阻塞队列和 List Set 的区别是什么 4 阻塞队列和普通Qu
  • Python之time模块

    目录 1 引言 2 时间戳与时间元组 2 1时间戳 2 2时间元组 3 时间格式化 3 1获取格式化的时间 3 2自定义格式化 4 附录 4 1重要函数 4 2参考 1 引言 Python 提供了一个 time模块来格式化时间 在pytho
  • Dockerfile镜像搭建实例+镜像构建LNMP

    Dockerfile镜像搭建实例 镜像构建LNMP 文章目录 Dockerfile镜像搭建实例 镜像构建LNMP 构建SSH镜像 构建Systemctl镜像 构建tomcat镜像 搭建LNMP 环境准备 拉取centos 7镜像 自定义网络
  • SpringBoot整合Mybatis实现商品评分

    前言 当今的电商平台越来越依赖于用户评分 以确定一个商品在市场中的竞争力和口碑 而SpringBoot整合Mybatis plus是非常适用于这一功能的框架 本文将介绍在SpringBoot应用中整合Mybatis plus框架 实现对商品
  • Android 沉浸式状态栏与隐藏导航栏

    一般我们在Android的APP开发中 APP的界面如下 可以看到 有状态栏 ActionBar ToolBar 导航栏等 一般来说 APP实现沉浸式有三种需求 沉浸式状态栏 隐藏导航栏 APP全屏 沉浸式状态栏是指状态栏与ActionBa
  • 长文详解HiveSQL执行计划

    本文目录 一 前言二 SQL的执行计划 2 1 explain 的用法 2 2 explain 的使用场景 案例一 join 语句会过滤 null 的值吗 案例二 group by 分组语句会进行排序吗 案例三 哪条sql执行效率高呢 案例
  • 人工测试之代码检查、走查与评审

    人工测试方法 代码检查 代码走查 桌面检查 同行评审 代码检查与代码走查的联系 1 要求人们组成一个小组来完阅读或直观检查特定的程序 找出错误 但不必改正错误 2 都是对过去桌面检查过程 在提交测试前 由程序员阅读自己程序的过程 的改进 3