单元测试:会变化的定义

news2024/11/18 11:41:00

有一种东西,
如果它太小,需要付出的努力就太大;如果它太大,就很难测试。
没错!它是单元。
但是什么才是一个好的单元定义呢?为什么它如此重要?

单元的定义对测试过程有很大的影响,但同时单元的定义也是不精确的。如果以一种不恰当的方式定义单位,这可能意味着大量的努力甚至麻烦。术语“单元”的定义可见于ISO 26262、ISTQB、ASPICE和许多其他文件。

我们的结论是:单元是一个小的可测试的软件组件。不幸的是,这种定义非常模糊。这样的定义不是用于工具,而是用于评估和审计。因此,在大多数组织中,这个术语是单独指定的。

定义术语“单元”有两种方法:通用描述和体系结构描述。

在这里插入图片描述

在通用描述中,单元将被定义为一个文件或一个函数。从特定的、体系结构的角度来看,单元是软件体系结构中的一个元素。基于体系结构的特定定义可以减少单元测试中测试对象的数量。以这种方式定义的单元可以包含多个文件中的多个函数。

这种方法不违反ISO 26262或ASPICE的要求。此外,如果体系结构是自上向下开发的,您可以将体系结构的更高级别指定为纯集成测试,从而也将减少单元测试级别的测试对象。在单元级别省略的测试会在之后的软件集成测试(SWE.5)中执行。

一些组织通过调整单元的定义来缩小他们自己的需求之间的差距。典型的补充包括:

更精确地定义单元,例如,在编程语言C中,将单元定义为函数级别的数据和指令的封装,或者为单元构造过程提出要求,例如指定最大圈复杂度。

专业建议:对于具体项目来说,如果需求是好的,但太过笼统或太过严格,可以与客户讨论和协商,以定义一个一致的解决方案作为替代措施。这可以大大减少工作量。从风险的角度来看,定义单元的时间应该越早越好。

TPT可以测试所有类型的单元定义。从工具的角度来看,这并不是最重要的。为了将测试过程中产生的总工作量减少到最小,我们建议不要笼统地定义单元。这会为重构活动提供便利并减少额外的工作。

喜欢本篇文章的话记得💬评论💖点赞⭐收藏
➕更多技术文章直播课程,敬请持续关注北汇信息➕
⬇️业务咨询请私信北汇信息或在官网留言⬇️
📩📩📩

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

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

相关文章

Transformer总结和梳理

Transformer总结和梳理Positional encodingSelf-attentionMulti--head-attentionAdd&NormAdd操作Norm操作FeedForwardMASKPadding MaskedSelf-Attention Masked首先来看一下Transformer结构的结构:Transformer是由Encoder和Decoder两大部分组成,首先…

mysql安装与配置及四大引擎和数据类型、建表以及约束、增删改查、常用函数、聚合函数以及合并

目录 一.mysql安装与配置 1.mysql简介 2.mysql 安装 安装MySQL(8.0的版本) 安装MySQL(5.7的版本) 删除MySQL(这是5.5版本的卸载方式) 3.命令行登陆及权限修改 一.启动方式 二.停止 三.重启 wind…

LeetCode每日一题——808. 分汤

LeetCode每日一题系列 题目:808. 分汤 难度:普通 文章目录LeetCode每日一题系列题目示例思路题解题目 有 A 和 B 两种类型 的汤。一开始每种类型的汤有 n 毫升。有四种分配操作: 提供 100ml 的 汤A 和 0ml 的 汤B 。 提供 75ml 的 汤A 和…

大衣哥在《火火的情怀》后,和孟文豪张成军推出《新时代的农民》

最近一段时间,因为《火火的情怀》版权问题,农民歌唱家大衣哥,被著名导演兼编剧谷传民起诉。话说大衣哥因为被谷传民起诉,也被推上了舆论的风口浪尖,同时也让《火火的情怀》又一次大火。 在谷传民起诉大衣哥的案件当中&…

注册会计师怎么注册非执业?注会执业与非执业有何区别

注册会计师怎么注册非执业?以下就是关于注册会计师怎么注册非执业等等的介绍,希望对您有所帮助! 一、申请注册为非执业会员 取得注册会计师考试已合格,但尚未在中国境内从事审计业务工作二年以上者,可以自行向取得全科合格证书省级注册会计…

调研主板,树莓派 VS RK3288板子,还是 RK的主板香,但是只支持 anrdoid 7系统,估计也有刷机成 armbian或者

1,目前树莓派好贵啊!Pi4bB 2G卖810 现在价格是:800多啊,疯了 哎真叫贵。 但是有个东西叫做 广告机的板子,是批量生产放到商场,地铁播视频的。 再配上一个屏幕,就可以直接播放广告了。 不同的地…

计算机网络4小时速成:传输层,功能,UDP协议,TCP协议,三次握手,传输数据,四次握手,超时重传,流量控制

计算机网络4小时速成:传输层 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle&#xff0c…

【云原生】Kubernetes(k8s)Calico 客户端工具 calicoctl

文章目录一、概述二、calicoctl 安装三、calicoctl 简单使用1)认证信息配置2)查看 IP 资源池3)配置 IP 池4)IP 资源池示例演示5)固定 IP 示例演示6)网络策略(NetworkPolicy)四、Kube…

盘点MySQL的八大日志,你知道哪些?

前言 日志对于任何系统应用来说都承载着至关重要的作用,借助日志,我们可以发现系统运行错误的原因,从而解决问题。MySQL也不例外,也会记录各种各样的日志信息。那么你知道MySQL都有哪些日志吗?每种日志的作用是干吗吗…

【Ajax】全面详细了解git的基础操作【万字教学+面试常客】

✍️ 作者简介: 前端新手学习中。 💂 作者主页: 作者主页查看更多前端教学 🎓 专栏分享:css重难点教学 Node.js教学 从头开始学习 ajax学习 文章目录学习目标起步——关于版本的控制  文件的版本  版本控制软件  使用版本控制软件的好…

UDP和TCP两大协议的区别,让你快速高效掌握

UDP和TCP两大协议的区别 谈起UDP与TCP两大协议的异同,有人说我喜欢用TCP不喜欢用UDP,也有人说我喜欢用UDP而不喜欢用TCP,使用TCP的人说,我使用使用的协议比较可靠、不容易粘包、不容易丢包;使用UDP的人说,我使用的协议…

电脑没有声音了怎么恢复?恢复声音的6个方法【图解】

如今,很多电脑用户都会购买上各种不同品牌的音效产品,以便在必要时可以用来作为背景音乐。但在使用电脑过程中,总会遇到一些声音问题。有些朋友可能会因为声音问题而导致电脑无法正常使用。那么,电脑没有声音了怎么恢复&#xff1…

SpringSecurity框架【详细教学】

SpringSecurity 文章目录 文章目录SpringSecurity文章目录1、概述2、Spring Security、[Apache](https://so.csdn.net/so/search?qApache&spm1001.2101.3001.7020) Shiro 选择问题2.1、Shiro2.1.1、shiro的优点2.1.2、shiro的缺点2.2、Spring Security2.2.1、spring-secu…

计控实验(一)—— 数字滤波实验

太原理工大学计算机控制技术实验之数字滤波实验 数字滤波实验实验原理实验内容实验线路图设计参考流程图实验步骤及结果采样周期设计运行结果思考题实验原理 一般现场环境比较恶劣,干扰源比较多,消除和抑制干扰的方法主要有模拟滤波和数字滤波两种。由于…

Mybatis—解析SQL配置

Mybatis源代码中SqlSource描述XML文件或者Java注解配置的SQL信息&#xff0c;SqlNode描述动态SQL配置中的<if>和<where>等标签&#xff0c;LanguageDriver的职责就是负责将Mapper SQL配置进行解析&#xff0c;然后将SQL配置信息转换为SqlSource对象。从而可见Langu…

Nginx补充部分--IO模型

IO模型 服务端IO流程 磁盘I/O 磁盘I/O是进程向内核发起系统调用&#xff0c;请求磁盘上的某个资源比如是html 文件或者图片&#xff0c;然后内核通过相应的驱动程序将目标文件加载到内核的内存空间&#xff0c;加载完成之后把数据从内核内存再复制给进程内存&#xff0c;如果…

postgres-operator 原理解析- 章节 II 减少failover次数

本文讨论一波&#xff0c;kubernetes集群部署的高可用postgresql集群在滚动更新场景下&#xff0c;如何实现减少failover次数&#xff1f; 这个原理我觉得适用于任何主从架构的中间件&#xff0c;是一个通用的设计技巧。 那就是&#xff1a; 在进行滚动升级过程中&#xff0c…

谁在领跑纯电动L2

电动化智能化&#xff0c;正在产生协同效应。 根据高工智能汽车研究院最新监测数据显示&#xff0c;2022年1-10月&#xff0c;中国市场&#xff08;不含进出口&#xff09;乘用车前装标配搭载L2级辅助驾驶交付上险受到整体车市影响&#xff0c;同比下滑12.67%。不过&#xff0c…

关闭jupyter notebook报错

关闭jupyter notebook报错:python.exe-应用程序错误_秋叶原の黑猫的博客-CSDN博客 关闭jupyter notebook报错:python.exe-应用程序错误 此前在使用jupyter notebook的时候&#xff0c;没有出现问题&#xff0c;后面某次在使用之后&#xff0c;直接关闭终端之后&#xff0c;出现…

kotlin coroutine源码解析之Dispatchers协程调度器

目录Dispatchers协程调度器Dispatchers.DefaultDispatchers.IODispatchers.MainDispatchers.Unconfined协程调度器的实现CoroutineScheduler总结Dispatchers协程调度器 CoroutineDispatcher&#xff0c;具有用于调度任务的底层执行器。ExecutorCoroutineDispatcher的实例应由调…