单元测试之白盒测试方法——代码审查

简介:
我所在公司内目前还没有 单元测试 ,前两天测试某系统的FTP上传功能时,发现其软件的流程设计有问题,进而觉得单元测试对系统还是很重要的,今天又在网上查看了很多关于单元测试的 文章 ,发现现在做单元测试的公司还真的不是很多呀。原因之一单元测试的bug发现率太低使得公司忽视了这一块;再就是公司内没有一个好的单元测试流程。鉴于上面提到的两个原因及公司现在的环境(流程的可行性),我想出了以下的 白盒测试 流程。简称单元测试之白盒测试方法( 代码审查 )。

  首先先说一下测试中需要出的文档。

  在单元测试前可以进行代码规范性审查。注:可以对所有代码进行规范性审查,也可以对重点代码进行规范性审查。此步骤可裁剪。

  1、单元测试申请。注明测试的功能点,时间,各功能点测试原因等。

  (1)测试功能点

  (2)测试进度

  (3)每个功能点的测试原因

  2、制定单元测试计划。在 许多资料中定义单元测试中的单元时各不相同。有用模块的,有用函数的,有用类的等。偶在这里为了可操作性,再就是偶测试的系统都是应用软件,很重视界面的 操作,所以偶将单元定义为界面上的功能性操作。如添加按钮等。当然不会是这么简单的。偶只是将比较复杂的一些操作写入了单元测试计划中。单元测试的计划模 板如下:

  (1)定义单元测试功能点。如(ftp上传功能)

  (2)功能点需求规格说明书。

  (3)功能点测试时间。

  (4)功能点测试的组织方式及人员。

  (5)功能点测试采用的方法。

  (6)功能点测试的通过标准

  3、单元测试设计。在单元测试设计中主要由开发人员将其程序的设计思路,即流程图画出。

  (1)功能点需求。

  (2)功能点设计流程图

  (3)功能点设计数据流图

  (4)功能点伪代码(可裁剪的)

  4、单元测试用例这一部分主要由测试人员根据功能点需求进行测试用例的设计

  (1)功能点需求

  (2)测试用例设计方法

  (3)测试用例

  5、评审人员的bug记录

  (1)测试功能点

  (2)测试bug记录。

  6、单元测试报告。这一部分由开发人员写单元测试用例报告,包括本次单元测试发现的bug类型,单元测试中拒绝bug的原因,单元测试情况等。

   然后再提一下测试的组织方式。由项目经理或者系统设计人员准备单元测试申请,单元测试计划,单元测试设计(单元测试设计也可以由开发人员准备),准备好 以上文档后,提交测试部门;测试人员根据上面的文档出单元测试用例(单元测试用例也可以在需求出来以后就出,此处可以灵活变通);然后测试人员根据上面的 文档检查设计中的bug,填写bug记录单;测试人员根据bug记录单组织专家评审(项目经理、设计人员等),专家针对测试人员测试出的bug进行讨论, 在评审中专家也可以提出新的bug记录到bug记录单中,最后在评审中达成协议,bug记录单中的问题哪些修复,哪些不修复怎样处理等,最后由开发人员修 改bug记录单中的问题,修改完后交给测试人员,测试人员可以用黑盒测试的方法验证bug记录单中的问题是否修改。验证完后,由开发人员填写单元测试报告。单元测试完成。

  累死了,终于完成了,希望大家多提宝贵意见。


本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
16天前
|
安全 测试技术
北大李戈团队提出大模型单测生成新方法,显著提升代码测试覆盖率
【10月更文挑战第1天】北京大学李戈教授团队提出了一种名为“统一生成测试”的创新方法,有效提升了大模型如GPT-2和GPT-3在单一测试中的代码生成覆盖率,分别从56%提升至72%和从61%提升至78%。这种方法结合了模糊测试、变异测试和生成对抗网络等多种技术,克服了传统测试方法的局限性,在大模型测试领域实现了重要突破,有助于提高系统的可靠性和安全性。然而,该方法的实现复杂度较高且实际应用效果仍需进一步验证。论文可从此链接下载:【https://drive.weixin.qq.com/s?k=ACAAewd0AA48Z2kXrJ】
36 1
|
9天前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
25 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
9天前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
23 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
13天前
|
测试技术 UED
软件测试中的探索性测试:一种高效且灵活的测试方法
本文将深入探讨探索性测试的核心概念、优势及其在实际项目中的应用。我们将从探索性测试的基本定义入手,逐步解析其在不同场景下的具体实施方法和最佳实践。通过详细的案例分析和方法对比,帮助读者全面了解这种既高效又灵活的软件测试技术。
|
12天前
|
安全 测试技术 API
一图看懂API测试9种方法
一图看懂API测试九种方法:冒烟测试验证基本功能,功能测试确保符合规格,集成测试检查组件协同工作,回归测试防止新变更引入问题,负载测试评估性能稳定性,压力测试挑战极限负载,安全测试发现并修复漏洞,用户界面测试确保UI与API协调,模糊测试提升异常数据处理鲁棒性。
|
15天前
|
弹性计算 安全 Linux
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
|
16天前
|
Web App开发 安全 测试技术
软件测试的艺术:从代码审查到用户验收的全方位解析
【10月更文挑战第1天】本文旨在深入探讨软件测试的精髓,通过分析不同类型的测试方法—单元测试、集成测试、系统测试、性能测试和用户接受度测试,揭示其在软件开发生命周期中的重要性。我们将通过具体案例,展示如何运用这些测试技术来发现并修复关键缺陷,提高产品质量。同时,文章还将提供一系列最佳实践,帮助读者建立有效的测试策略,确保软件项目的成功交付。通过阅读本文,您将获得一套全面的软件测试知识体系,以及如何在实际应用中灵活运用这些知识,以提升软件开发的整体质量和效率。
45 2
|
12天前
|
测试技术 UED
软件测试中的探索性测试:一种创新的质量保证方法
在软件开发的生命周期中,测试阶段扮演着至关重要的角色。传统的软件测试方法,如自动化测试和回归测试,虽然在一定程度上保证了软件质量,但它们往往依赖于预定义的测试用例和脚本,可能无法覆盖所有用户场景和边缘情况。为了克服这些限制,探索性测试作为一种创新的质量保证方法应运而生。本文将深入探讨探索性测试的概念、优势以及如何有效地实施它,以帮助读者更好地理解和应用这种测试技术。
|
9天前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
18 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
1月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
167 7
Jmeter实现WebSocket协议的接口测试方法