单元测试四大过程

单元测试四大过程(蓝桥课学习笔记)

单元测试过程

单元测试是软件测试过程中的一个关键环节,它与集成测试、系统测试一样,分为测试策划、测试设计、测试执行和测试总结几个阶段。

图片描述

单元测试过程中每个阶段需要完成的主要工作如下:

单元测试策划阶段

单元测试策划阶段的主要工作是完成单元测试计划。在这个过程中,测试人员会根据项目计划、被测试软件的设计文档对被测试软件单元进行分析并确定以下内容,形成测试计划文档:

图片描述

  • 确定需要测试的软件特性:根据设计文档的描述确定软件单元的功能、性能、接口、数据结构、设计约束等内容和要求并对其进行标识,从中确定需测试的软件特性;
  • 确定测试的充分性要求:根据测试目标、单元的重要性与约束条件等,确定测试应覆盖的范围及这些范围的覆盖程度(例如,语句覆盖率、分支覆盖率、基本路径覆盖率等);
  • 确定测试终止条件:在测试计划中,我们需要明确单元测试的结束条件,即什么时候可以结束单元测试。测试结束一般分为两种情况,一种是测试通过正常结束单元测试(如,测试充分性是否达到要求),另一种是导致测试异常结束的可能情况(例如,出现一些编码错误导致单元测试无法继续进行等);
  • 确定测试资源要求:包括测试过程中需要的软件、硬件、人员数量、人员技能等资源要求;
  • 确定测试需要的技术和方法:例如,测试数据生成的方法、测试结果获取方法等;
  • 确定测试时间进度;
  • 对测试过程中可能存在的风险进行分析与评估,制定风险应对措施;
  • 需交付的工作产品:单元测试需交付的工作产品一般包括测试计划、测试用例、测试记录、缺陷报告、测试报告等。

单元测试计划完成以后,一般需要组织相关人员进行评审,评审通过后方可进入下一步工作。单元测试计划评审的内容主要包括:

  • 测试的范围、资源、进度、终止条件等是否明确;
  • 测试方法是否可行、合理、有效;
  • 风险的分析与应对措施是否准确可行;
  • 测试文档是否符合规范。
单元测试设计阶段

单元测试计划评审通过后即可以进入测试设计阶段,测试设计阶段主要完成以下工作:

图片描述

  • 设计测试用例:将需要测试的软件特性进行分解,运用测试用例设计方法针对分解后的每种情况分别设计测试用例;
  • 确定测试用例执行顺序:可以从测试用例失效造成的影响、资源约束、风险等方面进行考虑;
  • 准备测试数据:包括获取现有的测试数据和生成新的数据,并按照要求验证所有的数据;
  • 编写测试程序:包括开发单元测试的驱动模块和桩模块,以及测试支持工具等;
  • 搭建测试环境。

为了保证测试的有效性,单元测试过程中的工作产品,如测试用例等也需要按照项目的要求进行评审。

单元测试执行阶段

单元测试执行阶段测试人员的主要工作是按照单元测试计划和单元测试设计阶段产出的测试用例、用例执行顺序等的内容和要求执行测试,主要包括:

图片描述

  • 执行测试用例并记录结果:按照测试计划、测试用例执行顺序等文档的要求依次执行测试用例,将每个测试用例的期望结果与实际执行结果进行比较判定该用例是否通过,并记录执行结果;
  • 提交并跟踪缺陷:如果程序的实际输出结果与测试用例的预期结果不一致,需提交缺陷给相关开发人员进行修复,并对缺陷进行跟踪直到缺陷正确修复为止;
  • 回归测试:代码中的缺陷修复并验证完成后,需评估该缺陷的影响范围并进行回归测试,确保缺陷已正确修复且未影响到其他功能。
单元测试总结阶段

在单元测试总结阶段,测试人员应根据被测软件的设计文档、单元测试计划、测试记录、缺陷报告等内容对测试工作进行总结,完成单元测试报告。单元测试报告的内容与系统测试的内容类似,主要包括:

图片描述

  • 测试范围总结:总结本次单元测试的具体范围。如果测试过程中有未能被测试活动充分覆盖的范围,需在报告中说明未测试到的范围及原因;
  • 测试过程分析:测试报告中需对测试过程中的进度、资源、测试用例执行等情况进行总结分析;
  • 缺陷分析:与系统测试类似,单元测试报告中需对缺陷的类别、严重程度、解决情况等进行分析;
  • 遗留问题:如果测试过程中有遗留问题,需在报告中记录这些问题及未解决的原因;
  • 测试结论:测试报告中需明确地给出本次测试的结论(通过或不通过);
  • 评价与建议:测试报告中还需将测试结果与软件设计文档对照,对软件单元的设计与实现作出评价,并提出改进建议。

同样,测试总结阶段也需要按项目要求进行相应的评审工作,评审测试执行活动的有效性、测试结果的正确性和合理性,以及是否达到了测试目的、测试文档是否符合相关标准规范等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/819203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构排序算法

排序也称排序算法(SortAlgorithm),排序是将一组数据,依指定的顺序进行排列的过程。 分类 内部排序【使用内存】 指将需要处理的所有数据都加载到内部存储器中进行排序插入排序 直接插入排序希尔排序 选择排序 简单选择排序堆排序 交换排序 冒泡排序快速…

用html写文本变形动画

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>文本变形动画</title><link rel"stylesheet" href"./style.css"> </head> <body> <!-- 两个文本部分…

广东莱斯广告,6.8米UV喷印推动粤东喷绘产业升级

广东莱斯广告作为汕头市大型的广告服务运营商,近日迎来了一件值得庆祝的事情:彩神6.8米UV喷印机运行一周年,销售服务商深圳嘉豪总经理李伟特地前来回访。该设备是深圳润天智数字设备股份有限公司开发的全球首台搭载XTRA6800H柯尼卡喷头的设备,设备特点是:1.色彩艳丽;2.超宽喷印…

记录flume运行时报NullPointerException异常

【背景说明】 我要起一个将kafka上的topic_log主题中的数据上传到hdfs上的flume进程。 这是我的flume配置文件脚本&#xff1a; #定义组件 a1.sourcesr1 a1.channelsc1 a1.sinksk1#配置source1 a1.sources.r1.type org.apache.flume.source.kafka.KafkaSource a1.sources.r…

《Kubernets证书篇:基于Kylin V10+ARM架构CPU修改K8S 1.26.15版本证书时间限制》

一、背景 Kubernetes 默认的证书有效期只有1年&#xff0c;因此需要每年手动更新一次节点上面的证书&#xff0c;特别麻烦而且更新过程中可能会出现问题&#xff0c;因此我们要对 Kubernetes 的 SSL 证书有效期进行修改&#xff0c;这里将证书的时间限制修改为100年。 环境信息…

112 arcpy 发布 mxd地图文件 到 arcgis服务器 为 地图服务

前言 此文档主要是记录一下 最近的一次机遇 arcpy 来发布 地图文件到 arcgis服务器 上面 arcpy 主要是来自于 ArcGIS_Desktop_105_154030.zip 安装之后会在 python 的安装目录 安装另外的一份带 arcgis 的 python 环境, 然后 本文相关类库 也是基于 这个 arcpy 的 python 环境…

web实战项目环境部署(LNMP)

环境搭建准备 1、在本机安装VMware虚拟机&#xff0c;实际工作中&#xff0c;使用的是云服务器 2、在虚拟机上安装并运行Linux系统 3、在本机上安装好远程连接工具&#xff08;xshell/FinalShell&#xff09;&#xff0c;通过远程连接工具连接到虚拟机 4、关闭linux上的防火…

深度学习之PyTorch实现卷积神经网络(CNN)

在深度学习领域&#xff0c;卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;CNN&#xff09;是一种非常强大的模型&#xff0c;专门用于处理图像数据。CNN通过卷积操作和池化操作来提取图像中的特征&#xff0c;具有较好的特征学习能力&#xff0c;特别适用…

云原生:企业数字化转型的引擎与未来

一&#xff0c;引言 随着信息技术的飞速发展&#xff0c;企业数字化转型已成为时代的必然趋势。在这场深刻的变革中&#xff0c;云原生技术以其独特的优势&#xff0c;逐渐成为推动企业数字化转型的核心动力。本文将详细探讨云原生技术的内涵、发展历程&#xff0c;以及在企业数…

【Java开发指南 | 第八篇】Java变量、构造方法、创建对象

专栏&#xff1a;Java开发指南 CSDN秋说 文章目录 Java变量构造方法创建对象 Java变量 局部变量&#xff1a;在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中&#xff0c;方法结束后&#xff0c;变量就会自动销毁。成员变量&#xff08;…

研究生,该学单片机还是plc。?

PLC门槛相对较低&#xff0c;但是在深入学习和应用时&#xff0c;仍然有很高的技术要求。我这里有一套单片机入门教程&#xff0c;不仅包含了详细的视频 讲解&#xff0c;项目实战。如果你渴望学习单片机&#xff0c;不妨点个关注&#xff0c;给个评论222&#xff0c;私信22&am…

OpenHarmony实战开发-图片选择和下载保存案例。

介绍 本示例介绍图片相关场景的使用&#xff1a;包含访问手机相册图片、选择预览图片并显示选择的图片到当前页面&#xff0c;下载并保存网络图片到手机相册或到指定用户目录两个场景。 效果图预览 使用说明 从主页通用场景集里选择图片选择和下载保存进入首页。分两个场景点…

Linux UDP通信系统

目录 一、socket编程接口 1、socket 常见API socket()&#xff1a;创建套接字 bind()&#xff1a;将用户设置的ip和port在内核中和我们的当前进程关联 listen() accept() 2、sockaddr结构 3、inet系列函数 二、UDP网络程序—发送消息 1、服务器udp_server.hpp initS…

stm32开发之threadx整合letter-shell 组件记录

前言 使用过rt-thread的shell 命令交互的方式&#xff0c;觉得比较方便,所以在threadx中也移植个shell的组件。这里使用的是letter-shellletter-shell 核心的逻辑在于组件通过链接文件自动初始化或自动添加的两种方式&#xff0c;方便开发源码仓库 实验(核心代码) shell 线程…

rhce day1

一 . 在系统中设定延迟任务要求如下 在系统中建立 easylee 用户&#xff0c;设定其密码为 easylee 延迟任务由 root 用户建立 要求在 5 小时后备份系统中的用户信息文件到 /backup 中 确保延迟任务是使用非交互模式建立 确保系统中只有 root 用户和 easylee 用户可以执行延…

✌粤嵌—2024/3/11—跳跃游戏

代码实现&#xff1a; 方法一&#xff1a;递归记忆化 int path; int used[10000];bool dfs(int *nums, int numsSize) {if (path numsSize - 1) {return true;}for (int i 1; i < nums[path]; i) {if (used[path i]) {continue;}path i;used[path] 1;if (dfs(nums, num…

“华为杯“华南理工大学程序设计竞赛 L-再一道好题

题目 #include<bits/stdc.h> using namespace std; #define int long long #define pb push_back #define fi first #define se second const int maxn 1e6 5; const int inf 1e9 5;using namespace std;int n, m;void solve(){int res 0;int q;string s;int k;cin …

北京市为例的空气质量分析报告分析【免费送】

原始数据&#xff1a; 日期名称类型所属区拥挤指数速度客流指数20240405世界之花假日广场购物;购物中心大兴区2.46621.369.4920240405华润五彩城购物;购物中心海淀区2.01329.7111.1720240405北京市百货大楼购物;购物中心东城区1.85615.938.2320240405apm购物;购物中心东城区1.…

Grok-1.5 Vision:X AI发布突破性的多模态AI模型,超越GPT 4V

在人工智能领域&#xff0c;多模态模型的发展一直是科技巨头们竞争的焦点。 近日&#xff0c;马斯克旗下的X AI公司发布了其最新的多模态模型——Grok-1.5 Vision&#xff08;简称Grok-1.5V&#xff09;&#xff0c;这一模型在处理文本和视觉信息方面展现出了卓越的能力&#x…