我的测试和代码分析工具箱

上周,我们在LINEAS成立了一个“测试技能小组”,该小组用于交换有关测试的知识。 各种各样的问题反复出现的一个问题是:有哪些工具可以测试和分析您的代码? 因此,这是我对此的个人回答,按照我倾向于将其介绍给项目的大致顺序:

JUnit :JUnit几乎是其他所有内容的基础。 它的Java单元测试框架与IDE,构建工具和CI Server进行了高度集成。 我不认真对待“单位”一词。 我也使用JUnit执行所有其他类型的测试。

Mockito :有很多Mocking框架,但是我更喜欢这个框架。 它具有不错的DSLish API,我觉得很好用。 唯一的缺点是,在某些特殊情况下,标准API不起作用,必须使用另一种语法

PowerMock :我实际上不尝试将其引入项目中。 如果要模拟构造函数,静态或最终方法,则需要PowerMock。 如果您需要这样做,PowerMock可以完成工作,但最好不要这样做。

Jenkins :免费的持续集成服务器。 并非完全是一件美丽的事,但它确实有效,易于设置,并且借助几个插件可以完成我到目前为止所需的一切。

CheckStyle :一种静态代码分析,它发现许多不良做法,并且也可以检查许多编码约定。 集成在IDE和CI服务器中。 该领域还有其他值得考虑的工具: FindBugsPMD 。 您也可以使用Checkstyle来收集有关代码的简单指标

JDepend :对代码的依赖项进行静态代码分析。 我使用它来针对代码中的程序包之间的周期编写测试,也为了将依赖项限制为我愿意在代码库中接受的依赖项。 前一段时间,我发现JDepend中存在一些限制,导致JDepend错过了依赖项(我认为它不考虑注释中的类或其他内容)。 因此,我正在研究DependencyFinder ,它似乎功能更强大,但肯定更难使用。 我实际上构建了一个小工具,用于基于DependencyFinder 可视化依赖关系。

Cobertura / EclEmma :Cobertura和Emma是代码覆盖率工具。 我都用它们。 Emma以EclEmma的形式作为eclipse插件使用,而Cobertura在Jenkins中使用,因为我们无法让Emma在我们的Jenkins实例上正常工作。

声纳 :它从您的代码中收集大量指标,并将其作为网站提供。 实际上,有很多符合我的口味。 在一个严肃的项目中,您可以整天看数字。 声纳的真正优点在于,它可以随时间跟踪这些数字,因此您可以查看平均方法长度是随时间增加还是减少。 在某些项目中,我配置了一个图表,其中随时间推移绘制了最重要的数字,并将其添加到Jenkins的主屏幕中。

参考文献: 我的测试和代码分析工具箱从我们JCG伙伴延Schauder不以schauderhaft博客。

相关文章 :


翻译自: https://www.javacodegeeks.com/2011/12/my-testing-and-code-analysis-toolbox.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Matlab是一种常用的高级编程语言,拥有丰富的工具箱用于各种数据处理、数学建模和深度学习等应用。其中之一是LSTM(长短时记忆网络)工具箱,用于构建能够处理时序数据的深度学习模型。下面简单介绍一下LSTM工具箱代码实现。 首先,需要导入LSTM工具箱并加载数据。通过lstmLayer函数可以设置LSTM层的各个参数,包括输入维度、隐藏层维度、输出维度和记忆单元数等。在训练模型前需要将数据分为训练集和验证集,并使用miniBatchSize函数将数据划分为批处理的形式以更高效地训练模型。 在训练模型期间,可以使用trainNetwork函数进行训练,通过设置trainingOptions来控制训练过程中的各个参数,包括学习率、最大轮数、批次大小等等。训练模型结束后,可以使用predict函数预测新的数据,并通过误差指标来评估模型的性能。 最后,在将模型用于实际应用时,可以使用saveLearnerForCoder函数将该模型保存为可嵌入式C代码,以便于在硬件或嵌入式系统中使用。 综上所述,LSTM工具箱是Matlab中一种强大的深度学习工具,通过设置各个参数和训练过程的优化,可以构建出高效的时序数据处理模型。 ### 回答2: LSTM(Long Short-Term Memory)是一种常用于时间序列预测的深度学习算法,可用于回归、分类和序列到序列的任务。 在MATLAB中,有许多LSTM代码库和工具箱可供使用,如Deep Learning Toolbox、Neural Network Toolbox等。使用这些工具箱中的代码,用户可以通过简单的命令实现LSTM模型的建立、训练和预测。 深度学习工具箱提供了丰富的函数和命令,如trainNetwork函数、sequenceInputLayer、lstmLayer等,用户可以通过这些函数和命令轻松地设置LSTM模型的各个参数。 例如,使用sequenceInputLayer函数来定义输入层,使用lstmLayer函数来定义隐含层,使用fullyConnectedLayer函数来定义输出层。接着,使用trainNetwork函数来对LSTM网络进行训练,并使用predict函数来进行预测。 使用MATLAB进行LSTM建模需要掌握深度学习的基本理论和相关算法,并具备一定的编程能力。同时,还需要对时间序列数据有一定的了解,如如何对数据进行处理、如何选择合适的评价指标等。 总之,MATLAB工具箱为LSTM建模提供了便捷的操作和完善的功能,使用这些工具,用户可以轻松地实现高质量的时间序列预测。 ### 回答3: MATLAB是一款常用的数学分析软件工具,而LSTM(Long Short-Term Memory)是一种常用的神经网络模型,在自然语言处理、语音识别、股价预测等领域有广泛应用。在MATLAB中,提供了LSTM工具箱,可以帮助用户更快、更简单地实现LSTM模型的代码编写。 在LSTM工具箱中,包含了LSTM网络的层数、神经元数量、学习速率等参数设置,同时还提供了正则化、Dropout等技术,以及一些不同的激活函数和损失函数,可以进行个性化的模型构建。LSTM工具箱的使用,可以通过编写Python或MATLAB脚本来完成,代码实现相对简单。 使用MATLAB LSTM工具箱编写LSTM代码的步骤如下: 1. 导入数据,将数据转换成符合LSTM输入要求的结构(通常为时序数据); 2. 搭建LSTM网络框架,指定网络的层数、神经元数量等参数设置; 3. 定义激活函数、损失函数、优化器等参数,根据自己需要进行个性化设置; 4. 进行模型训练,对模型进行学习和调优; 5. 进行模型测试和预测,得到预测结果。 总体而言,MATLAB LSTM工具箱可以帮助用户更快速、更容易地搭建LSTM模型,同时还可以提供诸如数据可视化等辅助工具,方便用户更直观地了解数据和模型的效果。但需要注意的是,正确调参和正确理解LSTM模型原理是LSTM应用的重要前提,这些都需要使用者有足够的经验和理论知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值