【软件测试】3、代码检查与Code Review

简介: 对于一家技术研发流程完善的技术公司来说,代码审查都是必不可少的一部分。虽然大部分代码审查工作都是研发团队的工程师完成,广义上讲,代码审查也是软件测试的一部分。

对于一家技术研发流程完善的技术公司来说,代码审查都是必不可少的一部分。虽然大部分代码审查工作都是研发团队的工程师完成,广义上讲,代码审查也是软件测试的一部分。这与大部分人对软件测试的观念有所不同,他们可能认为软件测试的唯一方法是用计算机执行代码。实际上,使用计算机执行的软件测试只是传统的测试方法,而软件测试的新观念认为在进行传统测试之前,代码人工审查也是非常必要的。


1、代码检查


代码检查通常以一个小组为单位,主要的目的在于发现代码中出现的错误以及不良风格,主要有:

(1)数据引用错误:

①使用了未初始化和未赋值的变量;②数组下标越界;③数组下标非正整数;④“虚调用”,即引用了非法内存;⑤按照错误的数据类型引用内存数据;⑥数据类型与引用它的结构不匹配;⑦内存寻址错误;⑧基础存储结构错误;⑨跨过程的结构定义错误;⑩数组或字符串存在下标边界引用错误(特别是第一个和最后一个);⑪类的继承需求没有满足。


(2)数据声明

①使用了未声明的变量;②变量声明的属性错误;③变量在声明时初始化错误;④变量的长度和数据类型错误;⑤变量的初始化与存储空间类型不一致;⑥变量名称过于相似。


(3)运算错误

①运算的变量之间数据类型不一致;②存在相同数据类型、不同字长的变量之间的运算;③被赋值的变量数据类型小于右侧表达式的返回结果的数据类型;④存在混合模式的运算;⑤表达式运算结果存在溢出;⑥存在用0除;⑦计算进制错误;⑧变量的值超出实际意义;⑨操作符优先级判断错误;⑩整数运算逻辑错误。


(4)比较错误

①存在不同数据类型的比较;②混合模式比较中类型转换规则错误;③比较运算逻辑不正确,尤其注意“等于”的情况;④bool表达式所叙述的内容是否正确;⑥浮点变量比较错误;⑦逻辑运算优先级错误;⑧使用了编译器不接受的写法。


(5)流程控制错误

①含有潜在的非法分支;②存在死循环的可能;③存在从来没有执行的循环体;④循环越界;⑤循环次数多一次或者少一次,常常因为≥和>、≤和<的区别造成;⑥do和while不匹配;⑦代码块“{”和“}”不匹配;⑧未设置默认的判断分支。


(6)接口错误

①形参与实参数量不匹配;②形参与实参的数据类型不匹配;③形参和实参的量纲不匹配;④原本输入参数的值被改变;


(7)输入输出错误

①文件声明属性错误;②文件打开属性错误;③打开文件的内存空间不足;④使用了未打开的文件;⑤文件使用过后未关闭;⑥未处理判断文件结束的条件;⑦未处理文件打开失败的情况。


(8)其他检查

①程序出现警告;②程序未检查输入的合法性;③程序遗漏了某些功能。


2、代码走查


代码走查主要考察代码的运行流程。测试者使用书面的测试用例进行推演,即使用测试数据沿程序的逻辑结构运行一遍并记录程序的状态。

目录
相关文章
|
存储 设计模式 安全
|
测试技术 程序员
软件测试技术---代码检查,走查与评审
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/37689709 迄...
1040 0
|
18天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
52 3
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
68 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
250 7
Jmeter实现WebSocket协议的接口测试方法
|
3月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
262 3
快速上手|HTTP 接口功能自动化测试
|
3月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
49 5
|
2月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
41 0
|
4月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
5月前
|
存储
Postman 接口测试配置 Pre-request Script
Postman 接口测试配置 Pre-request Script
225 5
Postman 接口测试配置 Pre-request Script