Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TestMe自动生成单元测试用例

TestMe自动生成单元测试用例

作者头像
Antony
发布于 2023-03-23 05:18:55
发布于 2023-03-23 05:18:55
4.4K0
举报

单元测试用例自动生成的新选择-TestMe

本号原先推荐过几个不同的测试工具

断言-Json断言:assertJson

数据库测试:DataBaseRider

最近有个公众号发了一篇《阿里内部如何做单元测试培训的》的文章,在文章的最后提到了TestMe这个自动生成单元测试用例的工具TestMe。

因为在公司内部推动质量门禁和单元测试的缘故,笔者在早几年也曾经评估过几款单元测试自动生成的工具,也曾经和国内的厂商进行过交流和POC,当然最终因为各种原因,没有引进这类型的工具,当然质量门禁是已经带电了。

这次看到TestMe,简单试用之后,已经在公司内部找了几个同学试点,反馈不错。

使用

和其它的同类型工具差不多,这是一个IDEA的插件。内网开发的同学要到插件市场上自己去下载一下 https://plugins.jetbrains.com/plugin/9471-testme/versions#tabs 。安装过程过于简单就不截图了。

使用其实也很简单,

Alt+Shift+Q 来调起生成用例的界面,

或者是 IDEA Code->TestMe菜单,

或者是在所选择的被测类或者方法上右键调出浮动菜单,选择Generate->TestMe,

然后就有了生成测试用例的界面,选择自己使用的测试框架即可,

以下是官网放出的一个案例

问题

简单试用之后整理了如下的几个问题

1、目前只能使用Mockito这个Mock框架。这个对于笔者来说不是问题,

2、断言使用的Junit原生断言。在公司内部推荐的断言工具其实是assertJ, 这也是Spring-Test-Starter目前自带的断言工具。

3、只能针对单个类或者方法生成用例,不能针对Package批量生成用例。想一键把之前欠下的单测债务全还了的同学还是放弃吧。

4、貌似不能生成异常测试用例,对于方法中抛出的异常,并没有看到有对应的用例去覆盖。

原先在试用其它类似工具,诸如diffBlue/Evosuite时,经常抛出空指针异常等等的问题。而在POC某些大厂或者商业产品时,一般都提供针对整个项目的自动生成,此时就会遇到机器配置过低导致一次全量生成要几个小时的性能问题。甚至还有人回来跟你质疑自动生成的用例量过大不可维护的问题,或者是生成的用例没有业务含义,用例有效性过低等等问题。

而本次试用,当你放低期望,只是把它当成一个单测辅助工具来介绍给大家的时候,忽然间只要够用就行了,能够快速提供一个单测脚手架类,大家的接收程度一下就提高了, 当然质量门禁的顺利实施也是一个因素

最后再说一句,

工具并不能代替人,单元测试也不只是替代码穿上秋衣秋裤。

这个工具,包括所有针对代码自动生成单测的工具,如果只是简单地将代码进行覆盖,完成覆盖率指标要求,这并不能实现通过开发自测提前发现缺陷的问题。还是要针对需求、设计来进行测试。工具只是帮你搭一个架子,提高了效率而已。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试那些事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java 项目自动生成单元测试插件推荐
很多公司对分支单测覆盖率会有一定的要求,比如 单测覆盖率要达到 60% 或者 80%才可以发布。
明明如月学长
2021/12/05
12.7K0
Java 项目自动生成单元测试插件推荐
软件测试/人工智能|利用 EvoSuite 自动生成高质量的 Java 单元测试用例
在软件开发中,单元测试是确保代码质量和稳定性的重要步骤之一。然而,编写全面的单元测试可能耗费大量时间和精力。EvoSuite 是一个能够自动生成高质量单元测试用例的强大工具,它通过遗传算法和符号执行技术,帮助开发者快速生成有效的测试用例,提高代码覆盖率和可靠性。
霍格沃兹测试开发Muller老师
2023/11/28
5920
软件测试/人工智能|利用 EvoSuite 自动生成高质量的 Java 单元测试用例
在软件开发中,单元测试是确保代码质量和稳定性的重要步骤之一。然而,编写全面的单元测试可能耗费大量时间和精力。EvoSuite 是一个能够自动生成高质量单元测试用例的强大工具,它通过遗传算法和符号执行技术,帮助开发者快速生成有效的测试用例,提高代码覆盖率和可靠性。
霍格沃兹测试开发Muller老师
2023/11/30
1K0
软件测试/人工智能|利用 EvoSuite 自动生成高质量的 Java 单元测试用例
ChatGPT优秀插件汇总--插件自动生成单元测试代码实验
OpenAI的ChatGPT智能AI引擎,在全世界范围流行,各种ChatGPT应用场景也遍地开花。 问题回答、文章续写、代码审计、自动生成单体测试、木马生成等等,都可以实现。
糖果
2023/03/05
2.5K0
ChatGPT优秀插件汇总--插件自动生成单元测试代码实验
2021年软件测试工具总结(1):抓包工具、单元测试工具
大家好,我是洋子,作为一名测试开发/软件测试工程师, 在进行软件测试的过程中,会用到测试工具去辅助测试,以提高测试工作的效率
Bug挖掘机
2022/09/28
2.7K0
2021年软件测试工具总结(1):抓包工具、单元测试工具
告别加班/解放双手提高单测覆盖率之Java 自动生成单测代码神器推荐
很多公司对分支单测覆盖率会有一定的要求,比如 单测覆盖率要达到 60% 或者 80%才可以发布。
明明如月学长
2022/02/15
6.9K0
告别加班/解放双手提高单测覆盖率之Java 自动生成单测代码神器推荐
Golang单元测试系列-如何更好的写测试用例
前面写了快速上手,会非常快速的创建测试用例,搭建一个单元测试的架子,但是如何来更好的写测试用例呢?
jerryteng
2022/06/16
1.7K0
Golang单元测试系列-如何更好的写测试用例
大模型生成单测用例的评估方案
此处所谓的单测生成是指基于既有的代码,让大模型来自动生成单元测试。生成成功的标志是:
Antony
2024/04/22
1.2K0
大模型生成单测用例的评估方案
如何编写单元测试用例
  单元通俗的说就是指一个实现简单功能的函数。单元测试就是只用一组特定的输入( 测试用例)测试函数是否功能正常,并且返回了正确的输出。
全栈程序员站长
2022/07/04
1.1K0
如何编写单元测试用例
单元测试整理
在实际研发与测试工作中,单元测试是代码走向高质量的必经之路,也是效能优化实践的重要一环。单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类、超类、抽象类等中的方法。单元测试就是软件开发中对最小单位进行正确性检验的测试工作。
Johns
2022/06/29
1.1K0
工具尝鲜--单元测试自动生成工具 evosuite
EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。
测试开发社区
2020/07/15
3.3K0
【实例分享】Mock框架的三次迭代,让你的单元测试更高效
对于单元测试中的单元,不同的人有不同的看法:可以理解为一个方法,可以理解为一个完整的接口实现,也可以理解为一个完整的功能模块或者是多个功能模块的一个耦合。
京东技术
2018/08/08
1.2K0
自动的自动化:EvoSuite 自动生成JUnit的测试用例
EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。得到了Google和Yourkit的支持。
Criss@陈磊
2019/08/01
3.1K0
系统用例和测试用例有关系吗
上次发表了一篇《为什么说用例设计在软件开发中很重要》,有一天有个同事找我说请教一个测试用例的问题。一开始我还奇怪,我也不是测试啊,为啥会问我这个?后来聊明白了,是他把测试用例和系统用例弄混了。我开始以为这只是个例,后来与更多的人交流发现还挺普遍的(苦笑)难道现在大家都不学UML了吗?
Louis XIV
2024/12/30
1230
系统用例和测试用例有关系吗
Wings-让单元测试智能全自动生成
单元测试是保证软件质量非常有效的手段,无论是从测试理论早期介入测试的理念来看或是从单元测试不受UI影响可以高速批量验证的特性,所以业界所倡导的测试驱动开发,这个里面提到的测试驱动更多的就是指单元测试驱动。但一般开发团队还是很少的系统化的执行单元测试,针对应用软件的测试更多是由专业测试团队来执行黑盒测试。单元测试的最大的难点不在于无法确定输入输出,这毕竟是模块开发阶段就已经定好的,而在于单元测试用例的编写会耗费开发人员大量的工时,按照相关统计单元测试用例的时间甚至会远超过功能本身开发的时间。以下是几个最常见的开发不写单元测试的理由:
顾翔
2019/12/11
2.2K0
Wings-让单元测试智能全自动生成
前端单元测试那些事
Jest 是 Facebook 开源的一款 JS 单元测试框架,它也是 React 目前使用的单元测试框架,目前vue官方也把它当作为单元测试框架官方推荐 。 目前除了 Facebook 外,Twitter、Airbnb 也在使用 Jest。Jest 除了基本的断言和 Mock 功能外,还有快照测试、实时监控模式、覆盖度报告等实用功能。 同时 Jest 几乎不需要做任何配置便可使用。
树酱
2020/10/15
1.8K0
利用DeepSeek与Python自动生成测试用例!
在当今快节奏的软件开发领域,自动化测试已然成为保障软件质量的中流砥柱。传统手动编写测试用例的方式,非但耗时费力,还极易遗漏关键场景。
测试开发技术
2025/05/26
3930
利用DeepSeek与Python自动生成测试用例!
小样邂逅单元测试后的反思
文章主要讲述了如何在项目中开展单元测试,包括代码规范、单元测试框架、测试覆盖率、代码维护、单元测试的效率、测试用例设计、单元测试报告等。通过这些内容,旨在让读者了解单元测试的重要性,并学会如何正确开展单元测试。
腾讯移动品质中心TMQ
2017/07/10
3.2K1
小样邂逅单元测试后的反思
单元测试
Mike Cohn 在十几年前曾经提出过著名的“测试金字塔”理论,将测试划分为三个层次。从上到下分别是:UI 测试、服务测试和单元测试。它们累加在一起,就像一个金字塔一样。
只喝牛奶的杀手
2023/06/05
5350
单元测试
【单元测试】--维护和改进单元测试
持续维护单元测试是确保它们继续有效的关键。以下是一些方法来保持单元测试的可维护性:
喵叔
2023/10/23
4420
推荐阅读
相关推荐
Java 项目自动生成单元测试插件推荐
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档