首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >构建时间和单元测试时间比较如何?

构建时间和单元测试时间比较如何?
EN

Software Engineering用户
提问于 2011-07-23 10:06:06
回答 3查看 1.2K关注 0票数 0

这在很大程度上取决于项目类型(例如,科学软件与银行系统还是游戏)?如果是的话,差异在哪些方面是最高的和最低的?根据您的经验,可以肯定地说,作为一项规则,运行单元测试所需的时间至少比构建软件的时间长一个数量级吗?

EN

回答 3

Software Engineering用户

发布于 2011-07-23 10:17:17

不是关于项目的类型,而是与项目相关的问题。

如果你正在开发一款用于控制核电站的软件,你很可能需要做大量的测试、代码评审等等。对于那些涉及到巨额资金和生命的项目来说,花上几天时间来决定是否必须编写,如果是的话,如何添加测试等等,这是很正常的。这也意味着你将有大量的测试代码,与一个相当小的代码库的编译时间相比,运行起来会慢一些。

另一方面,如果您正在为您的个人网站编写一段代码,您的家人或朋友最多只会访问这些代码,那么您很可能会将所有的时间都用于开发新功能,而根本没有测试,所以运行单元测试的时间总是为零。

尽管如此,我不明白为什么要将运行测试的时间与编译代码库的时间进行比较。这是两个完全不同的过程,没有任何共同之处。假设你想测试一个简单的Hello应用程序,它必须等待10秒,然后显示"Hello“。测试可能会运行大约20秒,甚至更长,而编译时间则是几毫秒。

票数 1
EN

Software Engineering用户

发布于 2011-07-23 10:45:46

根据您的经验,可以肯定地说,作为一项规则,运行单元测试所需的时间至少比构建软件的时间长一个数量级吗?

不是的。这取决于太多的事情,比如有多少测试,需要多少设置,使用什么语言(C++编译速度慢,但运行速度快),编译器的效率等等。

此外,由这个比率可以得出甚麽有意义的结论呢?

票数 1
EN

Software Engineering用户

发布于 2011-07-23 12:02:36

我们正在制作一个游戏引擎,我们的单元测试运行的时间和编译引擎的时间差不多。但是:

  • 我们的一些测试应该需要一些时间,例如计时器测试。
  • 我们的一些测试显示可视化(嗯,您必须测试图形),而不是自动化的(不能,因为我们不能检查它是否自动正确),并且需要程序员对测试进行评估,这需要时间。
  • 另外,我们有20个测试,它们的链接时间相当长(每个测试大约1-2秒,所以您只需花半分钟链接测试),而这并不是引擎构建的一部分。

我想,大多数应用程序都不适用这一点。所以是的,我认为你提到的比率取决于应用程序的类型(不完全,但它确实取决于)。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/95400

复制
相关文章
python比较时间大小
解释:python中字符串的大小比较,是按照字符顺序,从前往后依次比较字符的ASCII数值,例如‘abc’要小于‘abd’。因此,时间字符串也可以直接比大小。
py3study
2020/01/10
4.9K0
[C#] 巧用ToString 比较时间。
可以使用 DateTime 类型的 ToString 方法将时间转换为字符串,然后比较字符串是否相等来判断时间的各个部分是否发生了变化。
科控物联
2023/11/02
1950
[C#] 巧用ToString 比较时间。
java 获取当前系统时间 时间比较
import java.util.Date; import java.text.SimpleDateFormat;
全栈程序员站长
2022/11/02
2.7K0
空字符串用equals比较的时间和==(等等于)比较的时间哪个更快
今天测试了一下空字符串比较的时间和==(等等于)比较的时间哪个更快,最后发现equals会比较快,
小小鱼儿小小林
2020/06/23
1.1K0
如何减少40%的Docker构建时间
随着Docker的普及,许多公司的产品会将组件构建为Docker镜像。但随着时间的推移,一些镜像变得越来越大,对应的CI构建也变得越来越慢。
程序新视界
2023/11/26
4150
如何减少40%的Docker构建时间
golang 时间戳获取、类型转换、时间比较
time.ParseDuration()函数参数的有效时间单位为“ns”、“us”(或“µs”)、“ms”、“s”、“m”、“h”。该函数返回一个 Duration 对象,配合time的Add()方法使用,可以获取相差指定区间的时间。这个函数假设没有润秒。后面需要验证下会不会有闰年这种考虑。
IT工作者
2022/07/08
2.5K0
单元测试mock当前时间
在实际项目中很多地方用到DateTime.Now,这个时间是时时变化的。如果要进行单元测试对比预期结果时,这个时间无法预测,可以添加如下两个时间类
用户6362579
2019/09/29
2.4K0
mysql 字段时间类型的比较
字段的时间类型分为: ,,,,; 下面就分别介绍这几种时间类型的区别 每个时间类型都有一个有效范围和一个零值,当指定的类型的值超过有效范围时,就会使用零值 YEAR 该类型表示年,格式为 有三种表示方法 直接使用四位数字或字符串,范围是1901-2155,输入的格式为’YYYY’或YYYY,如输入‘2011’或2011就回直接保存为2011,若超过范围就会表示为0000 使用两位的字符串表示,如果插入为’00’-‘69’则表示为2000-2069,若插入’70-99’则表示为1970-1999.如输入’
企鹅号小编
2018/02/08
4.7K0
mysql 字段时间类型的比较
线性时间非比较类排序
原理:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。
忧愁的chafry
2022/10/30
9930
线性时间非比较类排序
jquery 时间比较大小
六月的雨在Tencent
2024/03/28
2030
读取PLC时间转换为UNIX 时间做网络同步比较
最近在安全行业里做读取PLC内部故障事件分析的工作,发现在PLC网络里采用NTP时间同步基本上没有,因为在工控领域PLC更多承担业务层面控制需求的实现,反而对于PLC本身的安全并没有过多的重视。
剑指工控
2021/11/09
1.1K0
读取PLC时间转换为UNIX 时间做网络同步比较
如何在python中比较微秒时间差(mi
import time from datetime import datetime start = round(time.time()*1000) print start start_ = datetime.utcnow() print start_ time.sleep(1) end = round(time.time()*1000) print end end_ = datetime.utcnow() print end_ c = (end_ - start_) print c.second
py3study
2020/01/08
8300
python实现时间的比较
下面介绍下Python中比较两个日期大小的脚本. 在实际工作中用到,以供后续参考及备忘 时间区间比较函数 import time # 这里比较l_time 是否在时间区间[start_t, end_t]中 def compare_time(l_time,start_t,end_t):     s_time = time.mktime(time.strptime(start_t,'%Y%m%d%H%M')) # get the seconds for specify date     e_time = time.mktime(time.strptime(end_t,'%Y%m%d%H%M'))     log_time = time.mktime(time.strptime(l_time,'%Y-%m-%d %H:%M:%S'))     if (float(log_time) >= float(s_time)) and (float(log_time) <= float(e_time)):         return True     return False # 在用mktime时,注意import time 模块,否则会提示找不到改attribute.   输入的时间格式必须跟自己的格式化串保持一致. 如时间: "2011-11-10 14:56:58"  定义格式串时应该为: "%Y-%m-%d %H:%M:%S" 有试过 from datetim import datetime,time , 但是没有成功,暂时没有考虑去解决.
py3study
2020/01/10
1.7K0
CAML中比较日期时间类型
在做Sharepoint的列表查询的时候,经常要用到CAML,今天我在做一个工作流授权列表的查询,里面要求根据人员、工作流名称、授权开始时间和授权结束时间找到对应的授权人,没有找到就返回本人。使用CAML QueryBuilder生成了查询,然后修改了其中的对应的变量,进行查询。结果发现查询结果有问题。原来是在CAML中使用的日期类型的表示必须是一种国内很少用的特殊的格式,,形如"2009-04-09T15:11:20Z"网上找了一下,使用SPUtility.CreateISO8601DateTimeFromSystemDateTime
深蓝studyzy
2022/06/16
1.8K0
java时间类型比较大小
在java中通常会用到时间的比较,一般情况下都是用Date类型的进行比较,如果有Timestamp类型的需要转成Date类型,在前面有一篇文章介绍的是Java Timestamp、Date和String之间的相互转化,不知道如何转换的朋友可以去看一下。下面我来说一下如何进行Date类型之间的时间比较
OECOM
2020/07/01
1.8K0
别再用大小比较时间了
由于写代码习惯了基本数据类型(int/Integer、long等)大小的比较,很多人连Date的时间先后比较也用大小(>、<、>=、<=)了。
程序大视界
2020/08/17
4.8K0
js中比较时间字串大小
var start = Date.parse($("#str_atBeginDate").val().replace("-","/")); var end = Date.parse($("#str_atTermDate").val().replace("-","/")); <!-- var start = new Date($("#str_atBeginDate").val()).getTime();--> <!-- var end = new Date($("#str_atTermDate").
微风-- 轻许--
2022/04/13
4.9K0
Python 日期格式和时间以及当前时间和时间戳
在上面的代码中,将会输出: Today’s date: 2021-03-12 的内容。
HoneyMoose
2021/03/13
2.9K0
Python 日期格式和时间以及当前时间和时间戳
如何构建NTP时间服务器「建议收藏」
NTP服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,某些应用对时间实时性要求高的必须统一时间。 互联网的时间服务器也有很多,例如ntpdate ntp.fudan.edu.cn 复旦大学的NTP免费提供互联网时间同步。 NTP服务器监听端口为UDP的123,那就需要在本地防火墙开启运行客户端访问123端口,vi /etc/sysconfig/iptables添加如下规则:
全栈程序员站长
2022/07/28
1.1K0
谈谈如何构建自己的时间管理系统?
我们总说要学会利用碎片时间,可是要怎么利用呢?在此之前,我们先来讨论一个问题,当你有了碎片时间,你会干什么?
我被狗咬了
2020/03/05
1.1K0

相似问题

减少单元测试构建时间的C++项目组织

20

如何比较Sql日期时间字段和日期字段

10

单元测试时间限制代码

30

Groovy日期/时间比较

10

不同硬件上构建时间的比较;为什么是非线性结果?

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文