全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

开始日期,结束日期测试用例怎么写?

发布时间:2023-10-10 21:04:49
发布人:xqq

一、开始日期,结束日期测试用例编写

1. 调整服务器时间

我们知道测试时间最麻烦的地方就是时间是流动的,如果我们能随意控制时间就好了。我们往往在测试时,用到比较多的就是调整服务器的时间来控制自己的测试用例。

Linux上需要用到相关命令

修改服务器时间 date -s “YYYY-mm-dd hh:mm:ss”这样的格式。

查看服务器时间 date:

date命令是需要root用户来操作的,如果没有权限,就用su升级到root权限

另外还有通过接口,传递2个时间戳,或者普通时间参数来改变时间。

场景一:当天8点之后,服务状态由关闭变为启动

那我们可以要调整到7:59:50左右,来观察服务状态的变化。

场景二、每天的8点,服务状态由关闭变为启动

调整名列前茅天的时间为7:59:50,来观察服务状态的变化;

将时间调整到服务结束时间,使得服务为关闭状态;

调整到当天的23:59:59秒,使服务跨天;

调整到第二天的7:59:50秒,再观察服务状态的变化。

2. 边界值-时间点

关于时间经常主要注意的就是整点,

另外23:59:59这个时间特别重要,

还有00:00:01这个时间也特别重要,

测试前需要思考一下这些时间点是否符合自己的测试场景。

3. 时间位数

前几天测试中遇到的一个BUG

举例:某服务中的A按钮的开启和结束时间为800 至1600,在这个时间范围内,才能打开A按钮

配置文件如下:

startTime = 800

EndTime = 1600

800 3位表示8点

1600 4位表示16点

当我设置800~1600时,按钮可以打开,在测试时,我调整到了800至2300,缺始终无法打开,经历了一天的折磨后,最终发现了问题原因如下:

首先这个时间800,通过java代码获取的时候,后端处理是将时间转化为毫秒级。

转化时通过80036001000,如果从00:00:00开始算,那么名列前茅个毫秒数应该是1

这里的名列前茅个错误是,首先不能使用800,如果你过了8个小时,那应该是8,而不是800

第二个错误比较隐蔽。当java代码获取时间时,用了整型,java中整型的最大长度为2147483647,10位数,而时间如果设置到1600点, 160036001000 = 5760000000,10位数,超过了Int的最大长度

导致日志中看到的时间整型溢出,导致时间为负数。

经过调试,为负数时,在19:00之前均未出现错误,当时间调整到23:00时,时间比大小时出现了问题。

4. 关于时间戳及转换

关于时间戳的获取及转换–时间戳转换工具

转换时的注意点,时间戳的转换,是秒级还是毫秒级

Java获取当前时间戳方法

System.currentTimeMillis();

Python获取当前时间戳方法

time.time()

扩展阅读:如果实际测试中有需要,可以通过时间戳的转换,进行参数传递来达到改变时间的测试。

#it技术干货

相关文章

物联网工程是什么?

物联网工程是什么?

2023-10-10
项目任务状态有哪几种?

项目任务状态有哪几种?

2023-10-10
如何实施项目制管理?

如何实施项目制管理?

2023-10-10
如何做好项目时间进度管理?

如何做好项目时间进度管理?

2023-10-10

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取