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 源代码模板。

相关推荐
oscar9991 小时前
测试用例模板与编写指南
测试用例
努力学习的小廉2 小时前
【QT(七)】—— 常用控件(四)
开发语言·qt
Coder_Boy_2 小时前
基于SpringAI的在线考试系统-DDD(领域驱动设计)核心概念及落地架构全总结(含事件驱动协同逻辑)
java·人工智能·spring boot·微服务·架构·事件驱动·领域驱动
CoderCodingNo2 小时前
【GESP】C++六级考试大纲知识点梳理, (3) 哈夫曼编码与格雷码
开发语言·数据结构·c++
froginwe112 小时前
C 标准库 - `<errno.h>`
开发语言
黎雁·泠崖2 小时前
Java&C语法对比:分支与循环结构核心全解析
java·c语言
鹿角片ljp2 小时前
Java IO流案例:使用缓冲流恢复《出师表》文章顺序
java·开发语言·windows
毕设源码-郭学长2 小时前
【开题答辩全过程】以 广告投放管理系统为例,包含答辩的问题和答案
java
纵有疾風起2 小时前
【Linux 系统开发】基础开发工具详解:自动化构建、版本控制与调试器开发实战
linux·服务器·开发语言·c++·经验分享·开源·bash
小北方城市网2 小时前
SpringBoot 集成 RabbitMQ 实战(消息队列解耦与削峰):实现高可靠异步通信
java·spring boot·python·微服务·rabbitmq·java-rabbitmq·数据库架构