1.【Python时序预测系列】基于TCN-LSTM模型实现多变量时间序列预测(案例+源码)
2.6个练手的测试测试软件测试实战项目(附全套视频跟源码)偷偷卷死他们!
3.干货 | Dubbo 接口测试技术,案例案例测试开发进阶必备(附源码)
4.Python时序预测系列基于LSTM实现时序数据多输入单输出多步预测(案例+源码)
5.go test 测试代码
6.单元测试实践
【Python时序预测系列】基于TCN-LSTM模型实现多变量时间序列预测(案例+源码)
本文是作者的原创第篇,聚焦于Python时序预测领域,测试测试通过结合TCN(时间序列卷积网络)和LSTM(长短期记忆网络)模型,案例案例解决单站点多变量时间序列预测问题,源码源码knx源码以股票价格预测为例进行深入探讨。测试测试
实现过程分为几个步骤:首先,案例案例从数据集中读取数据,源码源码包括条记录,测试测试通过8:2的案例案例比例划分为训练集(条)和测试集(条)。接着,源码源码数据进行归一化处理,测试测试以确保模型的案例案例稳定性和准确性。然后,源码源码构建LSTM数据集,通过滑动窗口设置为进行序列数据处理,转化为监督学习任务。接下来,模拟模型并进行预测,cocos捕鱼完整源码展示了训练集和测试集的真实值与预测值对比。最后,通过评估指标来量化预测效果,以了解模型的性能。
作者拥有丰富的科研背景,曾在读研期间发表多篇SCI论文,并在某研究院从事数据算法研究。作者承诺,将结合实践经验,持续分享Python、数据分析等领域的基础知识和实际案例,以简单易懂的方式呈现,对于需要数据和源码的读者,可通过关注或直接联系获取更多资源。完整的内容和源码可参考原文链接:Python时序预测系列基于TCN-LSTM模型实现多变量时间序列预测(案例+源码)。
6个练手的软件测试实战项目(附全套视频跟源码)偷偷卷死他们!
项目一:抢票实战 这个项目旨在让你掌握Selenium定位web元素和浏览器调试工具的使用技巧。步骤详解
首先,亲身体验手动流程,手机维修回收源码为自动化流程做好准备。
然后,拆分步骤,编写每个小步骤的自动化脚本,如:
打开并输入URL:driver.get('/otn')
登录时,通过Chrome的调试工具定位元素,如输入用户名:driver.find_element_by_id("username").send_keys("5xxxx@qq.com")
选择车票预订:driver.find_element_by_link_text("车票预订").click()
记住,验证码环节需要手动选择,因为未实现自动破解。项目二:ET.Mall电商系统测试
在ET.Mall商场系统的电商模块中,我们将通过测试用例来探索:注册与登录
商品浏览与购物车管理
订单处理流程
同时,了解需求规格说明如何转化为实际产品需求。实战挑战:学生管理系统接口测试
这个项目让你对RESTful架构有更深理解,通过测试学生管理系统接口,如查询学院信息:查询所有学院:GET .allawn.athletic.board.server。
检查TestNG插件是否存在
插件搜索“Coverage”
在我们的pom文件下加如下plugin配置:
idea插件自带,带搜索插件“PIT mutation testing”,但不建议用,很难调通!网址模板和源码
本地开发环境
IDE自动创建单元测试的方法(也可手动完成):
创建后的单元测试在Maven工程的test目录下生成测试类:
注意:如果之前没有test目录,则需要手动创建一下:
然后再把目录设置为test目录。设置方法:file -> Project Structure -> Modules
运行单元测试
创建单元测试
Maven执行的相关命令:
如果单元测试不通过,出现如下:
两种方式皆可运行。
运行不通过则则会有提示
要通过maven运行单元测试,要保证pom配置没有跳过单元测试,检查设置如下:
IDEA可以直接生成覆盖率报告,导出来的覆盖率报告长这样:
点击index.html即可看报告内容:
变异测试,英文Mutation Testing,是使用变异器 (切换数学运算符,更改返回类型,删除调用等)将代码修改为不同的变异(基于变异器创建新代码),并检查单元测试是否失败。好的单元测试应该使所有突变都失败(杀死)。
主要列出testng的测试方法,junit的测试方法请另行百度。
异常测试是指在单元测试中应该要抛出什么异常是合理的,可以检测我们方法中指定跑出的异常,类似这种:
如果我们有时候不想测试某些方法的iapp的加固源码单元测试,那么我们可以指定这些具体的单元测试跳过不执行,testng和junit4都支持忽略测试,testng通过@Test(enabled=false)跳过。
指定某个单元测试方法最长执行时间,如果超时了就算失败,testng中的timeout单位是毫秒。
套件测试是指把多个单元测试组合成一个模块,然后一起运行,在套件定义中还可以通过定义组,针对相同组名的单元测试统一运行。
为方便我们模拟单元测试的传参,testng提供了@DataProvider注解,我们可以在单元测试内设置多种参数值,单元测试会依次把入参都跑一遍。被@DataProvider修饰的方法,返回值是数组形式。
依赖测试是指测试的方法是有依赖的,在执行的测试之前需要执行的另一测试。如果依赖的测试出现错误,所有的子测试都被忽略,且不会被标记为失败。
TestNG支持通过多个线程并发调用一个测试接口来实现性能测试,invocationCount表示方法调用的次数,threadPoolSize表示并发线程数量,timeOut即是每次调用最大耗时时间。
通过多线程并行调用多个测试方法,在我们套件/组测试的时候,如果使用并行测试,可以大大减少测试运行时间。
Mock的使用场景:
Mockito有比较简洁的API,简单易学,可读性强。从Mockito2开始,Mockito支持了很多新特性以及新注解(所以依赖mockito2.x以上版本的需要java8及以上jdk方可),使用很便捷,spring-boot-starter-test包默认内置mockito,鉴于维护性和语言新特性的支持,个人建议使用Mockito作为单元测试的mock工具。
在有需要的地方进行mock,否则走真实方法调用。
除了采用静态方法spy以外,还可以通过采用注解的方式:
结果示例:
除了@Spy注解需要如此设置,@Mock、@Captor、@InjectMocks等注解也需要。
对整个class进行mock
结果:
Junit5使用手册: junit.org/junit5/docs/c...
在Junit5中要使用Mockito,需要单独引入mockito-junit-jupiter依赖包,通过在单元测试类上加
@ExtendWith(MockitoExtension.class)
实现构建一个mock运行容器。
在有需要的地方进行mock,否则走真实方法调用。
除了采用静态方法spy以外,还可以通过采用注解的方式:
结果示例:
结果:
Lua5.4 源码剖析——性能优化与原理分析
本篇教程将引导您深入学习Lua在日常编程中如何通过优化写法来提升性能、降低内存消耗。在讲解每个优化案例时,将附上部分Lua虚拟机源代码实现,帮助您理解背后的原理。 我们将对优化的评级进行标注:0星至3星,推荐评级越高,优化效果越明显。优化分为以下类别:CPU优化、内存优化、堆栈优化等。 测试设备:个人MacBookPro,配置为4核2.2GHz i7处理器。使用Lua自带的os.clock()函数进行时间测量,以精确到毫秒级别。为了突出不同写法的性能差异,测试通常循环执行多次并累计总消耗。 下面是推荐程度从高到低的优化方法: 3星优化:全类型通用CPU优化:高频访问的对象应先赋值给local变量。示例:用循环模拟高频访问,每次访问math.random函数创建随机数。推荐程度:极力推荐。
String类型优化:使用table.concat函数拼接字符串。示例:循环拼接多个随机数到字符串。推荐程度:极力推荐。
Table类型优化:Table构造时完成数据初始化。示例:创建初始值为1,2,3的Table。推荐程度:极力推荐。
Function类型优化:使用尾调用避免堆栈溢出。示例:递归求和函数。推荐程度:极力推荐。
Thread类型优化:复用协程以减少创建和销毁开销。示例:执行多个不同函数。推荐程度:极力推荐。
2星优化:Table类型优化:数据插入使用t[key]=value方式。示例:插入1到的数字。推荐程度:较为推荐。
1星优化:全类型通用优化:变量定义时同时赋值。示例:初始化整数变量。推荐程度:一般推荐。
Nil类型优化:相邻赋值nil。示例:定义6个变量,其中3个为nil。推荐程度:一般推荐。
Function类型优化:不返回多余的返回值。示例:外部请求第一个返回值。推荐程度:一般推荐。
0星优化:全类型通用优化:for循环终止条件无需提前计算缓存。示例:复杂函数计算循环终止条件。推荐程度:无效优化。
Nil类型优化:初始化时显示赋值和隐式赋值效果相同。示例:定义一个nil变量。推荐程度:无效优化。
总结:本文从源码层面深入分析了Lua优化策略。请根据推荐评级在日常开发中灵活应用。感谢阅读!