test-04-test case generate 测试用例生成 tcases A model-based test case generator

拓展阅读

junit5 系列
基于 junit5 实现 junitperf 源码分析

Auto generate mock data for java test.(便于 Java 测试自动生成对象信息)

Junit performance rely on junit5 and jdk8+.(java 性能测试框架。性能测试。压测。测试报告生成。)

自动生成测试用例

Tcases:基于模型的测试用例生成器

新特性

  • 最新版本 (Tcases 4.0.2) 现在已在Maven Central Repository中提供。

    请查看 如何下载 Tcases 获取下载指南。

  • 在使用 Tcases 时遇到问题?查看这些提示

  • 有问题需要咨询?需要一些建议?开始一个讨论

它是做什么的?

Tcases是一个设计测试的工具。无论你正在测试什么类型的系统 ------ 是 UI、命令行,还是RESTful API,又或者是后端。也无论你正在测试系统的哪个级别 ------ 单元、子系统,或者是完整系统。你都可以使用Tcases在任何这些情况下设计你的测试。使用Tcases,你定义系统被测系统的输入空间以及你想要的覆盖级别。然后,Tcases生成一个最小的满足你要求的测试用例集。

Tcases 主要是一个用于黑盒测试设计的工具。对于这样的测试,"覆盖" 的概念与结构测试标准(如行覆盖、分支覆盖等)是不同的。相反,Tcases 是根据系统输入空间的覆盖来指导的。

Tcases 提供了一种以简洁而全面的形式定义系统输入空间的方法。然后,Tcases 允许你通过指定想要的覆盖级别来控制你的样本子集中的测试用例数量。你可以从基本覆盖级别开始,Tcases 将生成一小组测试用例,涵盖输入空间的每个重要元素。然后,你可以通过有选择地在特定高风险区域添加覆盖来改进你的测试。例如,你可以指定对所选输入变量的成对覆盖或更高阶的组合。

它是如何工作的?

首先,你创建一个系统输入定义,这是一个将系统定义为一组功能的文档。对于每个系统功能,系统输入定义定义了表征函数输入空间的变量。如果你正在测试 Web 服务 API,甚至可以自动生成系统输入定义

从 OpenAPI 定义。

然后,你可以创建一个生成器定义。这是另一份定义了每个系统功能所需覆盖的文档。生成器定义是可选的。你可以跳过此步骤,仍然获得基本的覆盖级别。

最后,你运行 Tcases。Tcases 是一个 Java 程序,你可以从命令行运行,也可以使用
Tcases Maven 插件。Tcases 的命令行版本带有内置的

支持,可以使用一个 shell 脚本或 ant 目标来运行。使用你的输入定义和生成器定义,Tcases 生成一个系统测试定义。系统测试定义是一份文档,列出了每个系统功能的一组测试用例,提供了指定级别的覆盖。每个测试用例为每个函数输入变量定义了特定的值。Tcases 不仅生成定义成功测试用例的有效输入值,还为需要验证预期错误处理的测试用例生成无效值。

当然,系统测试定义不是你可以直接执行的东西。(除非它是
从 OpenAPI 定义自动派生的!)

但它遵循一个明确定义的架构,这意味着你可以使用各种转换工具将其转换为适合测试系统的形式。例如,Tcases 带有一个内置的转换器,将系统测试定义转换为 JUnit 或 TestNG 测试类的 Java 源代码模板。

相关推荐
集成显卡9 小时前
Rust实战七 |基于带 colored 颜色文字控制台的批量文件删除工具
开发语言·后端·rust
刀法如飞10 小时前
AI时代:DDD领域驱动建模与Ontology语义建模的区别
java·设计模式·架构
jeffer_liu10 小时前
Spring AI 生产级实战:工具调用
java·人工智能·后端·spring·ai编程
比昨天多敲两行10 小时前
linux 线程概念与控制
java·开发语言·jvm
huaweichenai10 小时前
php 根据每个类型的抽签范围实现抽签功能
开发语言·php
8Qi810 小时前
LeetCode 75:颜色分类(荷兰国旗问题)—— Java 题解 ✅
java·算法·leetcode·指针·排序
zzhongcy11 小时前
@Transactional 同类内部调用失效 + 两种自代理解决方案
java
AutumnWind042011 小时前
【Intelij IDEA使用手册】
java·ide·intellij-idea
codeejun12 小时前
每日一Go-73、云原生成本优化 —— 资源限制 & 指标驱动扩容
开发语言·云原生·golang
就叫_这个吧12 小时前
Java注解、元注解、自定义注解定义及应用
java·开发语言·注解