性能测试之自动化单元工具EvoSuie的代码覆盖报告

SonarQube:自动化测试junit工具evosuite(测试用例自动 生成,测试覆盖率) 用于生成测试代码测试用例覆盖率的配置说明。在网上查了不少资料都写的不是很全面,踩了不少的坑!现整理出来,希望对大家有所帮助 。 立即下载

EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。得到了Google和Yourkit的支持。

生成的测试cases的运行依赖

由EvoSuite生成的测试cases需要EvoSuite框架的runtime包支持才能进行测试,因此要在工程中加入如下的Maven依赖


 
  1. <dependency>

  2.  <groupId>org.evosuite</groupId>

  3.  <artifactId>evosuite-standalone-runtime</artifactId>

  4.  <version>1.0.6</version>

  5.  <scope>test</scope>

  6. </dependency>

注意:EvoSuite的bytecode instrumentation和类似Jacoco这类工具在bytecode instrumentation上有可能有冲突,导致最后的覆盖率统计都是0

bytecode instrumentation是改变了编译器上生成的一个类的bytecode,用它可以完成如:计算一个方法被执行需要多长时间、改变它的执行流程等特别的流程。用户可以添加/改变应用程序的字节码,自从有了这个功能后,就不需要修改整个应用程序源。

EvoSuite的字节码检测

在EvoSuite的bytecode instrumentation有两种选择如下:

其一、在EvoSuite的 @RunWith(EvoRunner.class)中,会调用EvoSuite自己的classloader,而在这个过程中就调用它自己提供的bytecode instrumentation来完成对应的分析。这就导致了EvoSuite的bytecode instrumentation是早于其他代码覆盖工具完成。

其二、EvoSuite会启动一个Java的代理,代理会拦截全部的class loading,然后加入其EvoSuie的bytecode instrumentation。

EvoSuite目前默认是第一种,但是如果可以使用第二种,测者建议使用第二种,因为第二种可以有效避免和类似Jacoco工具的bytecode instrumentation的冲突,但是如果在测试在代理启动前就执行了,那么就不会起作用了范围会报EvoSuite的错误。

在使用过程中,如果发现代码覆盖报告全部是0,可以尝试通过一下方式切换上面的两种bytecode instrumentation方式。


 
  1. @RunWith(EvoRunner.class) @EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true)

修改separateClassLoader = true为false(从方式1 变成方式2),如果一切自效果,那么可以再Maven的pom中加入对应的配置:


 
  1. <configuration>

  2. <extraArgs> -Duse_separate_classloader=false </extraArgs>

  3. </configuration>

------------------------

给大家推荐一个学习资料分享群(574253227),里面大牛已经为我们整理好了许多的学习资料,有自动化,接口,性能等等的学习资料!

如何使用evosuite 小白教程,如何在命令行中运行evosuite,生成测试用例,并在eclipse下运行测试用例。 立即下载

相关推荐

高动态范围结构光三维测量技术:从多曝光融合到深度学习的演进与应用

本文深入探讨了高动态范围结构光三维测量技术的演进与应用,从传统的多曝光融合技术到深度学习驱动的创新方案。通过工业案例展示了该技术在提升测量精度和效率方面的显著优势,特别是在处理高反光、复杂表面时的突破性表现。文章还提供了针对不同工业场景的技术选型指南,帮助工程师优化三维测量解决方案。

weixin_29063979的博客 293

自动化测试junit工具evosuite踩坑记

注:开发工具idea,自动化测试junit工具evosuite 说是踩坑记,到不如说是自己对idea的“Terminal”的执行机制不是很了解,对idea、maven之间如何的调用不是很了解,只是在工程maven配置上对应的本地settings文件即可。 从去年开始,公司一直要求产品版本发版时都要通过发布平台进行,而发布平台发布有两个硬性指标,“单元测试覆盖率”、“安全测试”都要达到公司的指定要求才可以发布。 因此在单元测试覆盖率上,为了节省开发时间,没有采用手工编写单测用例代码,而是采用了基于jun

Josong的博客 2731

深入理解DQN中的Q值:核心概念和应用

在强化学习中,Q值(或称为动作价值函数)是核心概念之一。Q值函数 ( Q(s, a) ) 表示在给定状态 ( s ) 下,采取动作 ( a ) 并遵循某策略后,智能体从当前状态到未来状态所能获得的预期总回报。简言之,Q值是评估特定状态和动作对的好坏的指标。

qlkaicx的博客 2977

EvoSuite详细介绍和使用总结

EvoSuite使用总结

拾年一剑 的专栏 1万+

Applied Intelligence投稿经验分享(正在投稿中)

这几天在投稿Applied Intelligence这个期刊,过程很曲折,反反复复,因此写一篇经验分享,希望能记录一下自己的过程,也能给其他人一些帮助(可以在评论区讨论),提醒一下,一定要写一些声明,不会写、不知道写啥就看第四章的第二个问题。

weixin_55988068的博客 1万+

从踩坑到填平:我在RHEL7上给Tesla A100装驱动的完整记录(含Fabric Manager配置)

本文详细记录了在RHEL7系统上为Tesla A100安装Nvidia驱动的完整过程,包括Fabric Manager配置的关键步骤。通过分析A100架构的特殊性,提供了从驱动安装到服务配置的详细指南,并分享了常见问题的排查方法和性能调优技巧,帮助用户高效部署高性能GPU计算环境。

weixin_29291863的博客 284

Diffblue与EvoSuite工具使用对比

Diffblue 使用方法 IDEA中Setting -> Plugins -> 搜索Diffblue -> Install -> ReStart 使用此插件的前提条件 https://docs.diffblue.com/getting-started/intellij/cover-intellij-plugin/ 支持的开发工具是IntelliJ IntelliJ IDEA的插件库里面可以搜到Diffblue,但是Android Studio里面没有 .

weixin_41477689的博客 4582

CASS3D实战:高效三维房屋与地形采集绘制技巧

本文详细介绍了CASS3D在三维房屋与地形采集绘制中的高效技巧,包括智能绘房功能、不规则结构处理、特殊构件快速绘制及地形数据采集策略。通过实战案例和进阶操作指南,帮助用户快速掌握CASS3D的核心功能,提升三维采集与绘制效率。

weixin_29216049的博客 869

evosuite 对数据库的操作测试_EvoSuite: 面向对象软件的自动化测试套件生成

摘要为了发现软件中的缺陷,需要系统地执行软件的测试用例以及需要在运行这些测试用例时评估观察到的行为正确性的结果参照物。本文介绍了 EvoSuite,它是一种工具,该工具自动使用 Java 代码编写的类的断言生成测试用例。为了实现这一目标,EvoSuite 应用了一种新颖的混合方法,该方法可以生成并优化整个测试套件以满足覆盖标准。对于产生的测试套件,EvoSuite 通过添加少量有效的断言来简要总结...

weixin_32998893的博客 573

LDRA Testbed(TBrun)软件单元测试_实例讲解(对多次调用的函数打桩)

在之前的文章《LDRA Testbed(TBrun)软件单元测试_操作指南》中,已经讲解了如何使用TBrun进行软件单元测试的基本操作步骤。本篇文章将结合实例进一步讲解被测函数中包含多次调用其他函数时,如何对其打桩来实现测试目的(详细的操作流程本文不再重述,若有不清楚的,可以结合之前的操作指南一起来看)。本文以一个被测函数作为示例,讲解了如何使用Testbed(TBrun)对涉及到多次调用其他函数的被测函数进行单元测试。本文的示例可能比较简单,但是思路、方法和流程都是通用的,希望对大家有所帮助。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 1465

在 SAP 中修改 Profile 文件中的主机名需要谨慎操作,需需确保所有相关配置保持一致

在SAP系统中修改Profile文件主机名需谨慎操作,主要步骤包括:1)停止相关SAP服务;2)重命名并编辑实例级Profile文件(如ER1_D00_OLDHOST改为ER1_D00_LRPSAP),修改所有含旧主机名的参数;3)可选更新默认Profile文件;4)在Windows系统中调整注册表配置;5)验证一致性后重启服务。关键注意:保持大小写统一、修改前备份文件、集群环境需同步所有节点。通过系统日志确认新主机名生效且无报错。

金牌架构师 1051

单元测试自动生成工具Evosuite的安装使用

官网: https://www.evosuite.org/ GitHub: https://github.com/EvoSuite进入settigs中,点击plugins,搜索Evosuite,点击安装打开网页 https://plugins.jetbrains.com/plugin/18956-evosuite-xenoamess-tpm-/versions ,点击Download按钮下载插件。选择菜单File -> Settings,对话框中选择Plugins项目。单击Installed窗口顶部选项卡右

qq_45970110的博客 5540

人工智能在软件测试中的广泛应用领域

人工智能在软件测试中的应用领域涵盖了自动化测试、缺陷预测和缺陷检测、智能化测试报告生成等方面。以上提供的示例代码只是其中的一小部分,实际上,人工智能在软件测试中还有许多其他的应用。通过结合人工智能和软件测试,可以提高测试效率和质量,减少测试工作的人力成本,并帮助开发人员更好地理解和改进软件产品。人工智能(Artificial Intelligence,简称AI)在软件测试领域的应用越来越广泛。下面将介绍几个人工智能在软件测试中的主要应用领域,并提供一些相关的源代码示例。

FycPerformance的博客 463

AI测试实战:从代码扫描到缺陷预测,如何实现90%覆盖率跃升?

效率瓶颈‌:人工编写测试用例耗时占开发周期40%以上‌;‌隐性缺陷漏检‌:复杂逻辑漏洞(如并发死锁)人工发现率不足30%‌;‌维护成本高‌:代码迭代后,30%的测试用例需重构‌。深度学习历史缺陷库,生成覆盖率达95%的异常场景测试集‌动态优化用例:根据代码变更自动淘汰30%无效用例‌静态分析预测空指针、内存泄漏等风险模块,准确率超85%‌NLP解析日志,30秒定位分布式系统“幽灵锁”问题‌动态追踪高风险代码路径,某电商平台覆盖率从65%提升至92%‌热力图可视化缺陷密度,指导测试资源精准投放‌。

霍格沃兹测试学院的博客 1456

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

test plateform-01-测试平台概览

大家好,我是老马。在开始之前,我们对测试平台做一个基本的设想。商业上可以参考:apifox 之类的测试工具。我们如果想实现,最好是二开,而不是全部从零开始做。

1068

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

软件测试中引入人工智能(AI)

在软件测试中引入,能够解决传统测试的痛点(如重复劳动多、回归测试成本高、难以覆盖复杂场景、缺陷定位慢等),实现测试的。以下是AI在软件测试中的核心应用场景、技术方案、工具及实施步骤,兼顾理论与实操。

主攻大数据 人工智能 物联网 安全 低空经济等方向。mtsc 、gtest特邀分享嘉宾 2288

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

开发者工具大革新:2026版必备神器清单

【150字摘要】2026年软件测试行业迎来AI驱动变革,测试工程师角色向"质量策略设计师"转型。本文系统梳理四大类必备工具:1)自动化测试框架(如Playwright、Appium2.x)提升跨平台效率;2)AI驱动工具(如TestinXAgent)实现智能用例生成;3)API与性能测试工具保障微服务韧性;4)协作平台优化全链路管理。通过分阶段部署和人机协同策略,测试效率可提升50%以上。从业者需掌握AI指令设计等新技能,构建预测性质量保障体系,应对高频迭代挑战。

2501_94480392的博客 404

测试工程师技术栈升级:2026必备工具

2026年软件测试领域正经历AI驱动的深度变革。数字化转型加速和云原生架构兴起,迫使测试工程师从"脚本执行者"转型为"质量策略设计师"。本文解析2026年必备工具:自动化框架(Playwright、Appium)、AI驱动工具(TestinXAgent、SikuliX2.0)、API测试(Apifox)及性能工具(ChaosMeshPro)。技术栈升级路径建议分阶段实施,从低代码工具逐步过渡到AI集成,最终构建质量平台。测试工程师需平衡技术深度(45%)、业务知识(3

2501_94438416的博客 607

测试工程师技术栈升级:2026必备工具集

2026年软件测试技术栈面临AI驱动的深度变革,传统工具难以应对微服务架构、高频迭代等挑战。本文系统解析四大必备工具类别:1)自动化测试框架(如Playwright、Appium);2)AI驱动工具(如TestinXAgent、SikuliX2.0);3)API与性能测试工具(如Apifox、ChaosMeshPro);4)测试数据与协作工具。提出三阶段实施路径:短期引入低代码工具,中期集成AI技术,长期构建质量平台。强调测试工程师需从"脚本执行者"转型为"质量策略设计师&qu

2501_94449311的博客 563

LLM与动态符号执行生成测试用例的比较

本文将详细探讨LLM和动态符号执行在测试用例生成中的应用,并对这两种方法进行全面的比较分析。

伤心的辣条 937

「大模型驱动的Web UI测试脚本生成」进展

Web UI自动化测试是保障软件质量的关键环节,然而传统Selenium脚本开发面临编写成本高、维护难度大、学习曲线陡峭等挑战。随着大语言模型(LLM)技术的成熟,2025年上半年,这一领域正经历革命性变革。

software_test010的博客 1081

测试数据自动生成与注入技术:赋能软件测试的高效实践

摘要:测试数据自动生成与注入技术通过自动化手段提升测试效率与覆盖率,核心方法包括基于规则、模型和机器学习的生成策略。关键技术挑战在于数据质量与生成速度的平衡,以及多源异构数据的处理。主流工具如Pytest、EvoSuite支持参数化注入和隔离机制,在金融、电商等行业应用中显著缩短测试周期。未来趋势将聚焦AI驱动的智能生成和绿色算法,测试从业者需掌握混合方法并持续学习工具链,以应对复杂系统的测试需求。(149字)

2501_94480392的博客 567

平台搭建_异常测试平台搭建方案

作者|陈俊华、刘琳琳异常测试是有别于功能测试和性能测试的一种测试类型,通过异常测试,可以发现由系统异常、依赖服务异常、应用本身异常等原因引起的问题,提高系统的稳定性。目的在日常测试中,由于排期紧张以及异常情况难以模拟,异常测试通常被大家忽略或者放弃。只要功能没问题,就可以上线。但是线上情况千奇百怪,服务器宕机、用户走到代码的犄角旮旯、三方服务挂掉等情况无可避免,因此对于系统的健壮性和稳定...

weixin_39996750的博客 299

【亲测免费】 探索EvoSuite:自动化单元测试的革命性工具

EvoSuite,一个基于Java的强大工具,能够自动生成JUnit测试套件,针对代码覆盖率标准如分支覆盖。它利用遗传算法来演进测试用例,并注重生成的单元测试的可读性和简洁性。更令人印象深刻的是,EvoSuite还会添加回归断言,以捕捉被测试类的行为。 ## 项目技术分析 EvoSuite的核心是其进化算法,该算法通过模拟生物进化的过程来优化测试用例集。在每次迭代中,不合适的测试用例会被淘汰,...

gitblog_00044的博客 665

软件测试/测试开发/人工智能丨使用 EvoSuite 自动生成单元测试用例

EvoSuite的主要目标之一是生成具有高代码覆盖率的测试用例,帮助发现潜在的程序缺陷。EvoSuite使用遗传算法等搜索算法,通过迭代演化生成测试用例的群体,不断改进测试用例以满足指定的测试标准。EvoSuite可以集成到常见的Java开发环境(如Eclipse)中,以方便开发人员在他们的工作流程中使用。

Tester_muller的博客 359
上一篇: 性能测试之SWAP的监控
下一篇: 软件测试实用技术与常用模板—因果图法
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值