基于Springboot实现的自动化测试平台

简介: 基于Springboot实现的自动化测试平台

项目编号:BS-XX-063

运行环境:

开发工具:IDEA / ECLIPSE

管理工具:MAVEN

数据库:MYSQL5.7

应用服务器:TOMCAT8.5.31

开发方式:前后端分离

开发技术:

后台:Springboot+springmvc+mybatis-plus

前端:Vue

本系统选题新颖,技术先进,采用前后端分离的方式开发实现,后台开发采用Springboot开发,前端开发采用VUE开发。功能全面,页面简洁大方,是一款优秀的毕业设计作品。


本文主要基于研究的目的,实现了一个自定义的接口管理平台,并可以在这个接口管理平台上实现接口的自动测试功能。有了这套接口管理平台,软件项目开发时,就可以将项目开发的接口通过这个平台来进行管理,就不用再像以前用WORD文档来管理了。一是原来的这种管理方式十分不便,二是当接口修改变更时不能及时发布同步更新。而新的接口管理平台上线,则有效的解决了这一问题,前端和后端开发人员可以通过平台实时查看接口说明和标准,并及时收到接口的更新变化,并可以在平台上模拟数据进行接口测试。这无疑对我们软件开发的接口管理和测试带来了极大的便利。


本项目采用前后端分离的方式开发实现,系统后台使用Springboot作为系统后台开发的主要使用技术,结合Springmvc和Mybati-plus来进行自动化接口测试平台的后台开发。系统前端采用Vue脚手架开发实现,基于NodeJs环境运行,使用Axios远程调用后端服务接口来实现。通过对相关技术的研究学习,最终完成了一个完整的接口管理平台,并可以实现在线接口测试功能。


系统使用Springboot创建开发项目,使用Springmvc完成请求处理,使用Mybatis-plus完成持久层开发,使用Maven来管理后台相关依赖库;使用Vue-cli搭建开发前端工程,使用Nodejs作为前端运行环境,采用NPM来管理前端的相关依赖库;使用RestTemplate来完成对接口的http请求调用。

image.png

系统整体的架构图

image.png

系统功能模块图


下面我们详细介绍一下这些模块的具体实现功能:


用户管理模块:此模块主要实现对系统用户的管理,主要完成用系统操作用户的新增和查询操作。

项目管理模块:此模块主要实现对项目的信息管理功能。管理员登陆系统后可以添加要进行测试的项目信息,可以根据需要进行查询、修改或删除项目信息。

模块管理功能:此模块主要实现对项目的功能模块管理功能。管理员登陆系统后可以添加要进行测试项目的功能模块信息,可以根据需要进行查询、修改或删除项目功能模块信息。

接口管理功能:此模块主要实现对项目中定义的接口进行管理。管理员登陆系统后可以添加要进行测试项目的接口信息,可以根据需要进行查询、修改或删除项目接口信息。

测试管理功能:此模块主要实现对对定义的测试用例和测试合集进行管理。管理员登陆系统后可以添加为测试设计的测试用例信息,可以根据设计好的测试用例实现在线执行测试。也可以添加测试合集,同时测试多个接口的功能,并将测试的结果记录在数据库表中。

3.2  主要功能模块的设计与实现


3.2.1  用户管理

用户管理模块主要实现了系统用户的管理功能,管理员进入系统后台可以在左边的菜单中选择用户管理模块,进入后可以对用户进行添加操作。也可以根据需要输入组件条件进行搜索查询列表,列表中的用户以分页的形式显示,主要展示用户的姓名、昵称、性别、电话、邮箱、用户类型、创建时间信息。

系统的运行实现如下图3-3所示:

image.png

图3-3 用户管理模块


用户管理模块的核心代码如下:


列表查询直接调用UserInfoService的page方法,而UserInfoService又继承使用了Mybatis-plus所封装的业务实现类ServiceImpl,所在不必再定义page方法,十分方便快捷。

3.2.2  项目管理


项目管理模块主要实现了对于参与测试的软件项目信息的管理功能,管理员进入系统后台可以在左边的菜单中选择项目管理模块,进入后可以对待测试的项目进行添加、修改、删除操作。也可以根据需要输入组件条件进行搜索查询列表,列表中的项目以分页的形式显示,主要展示项目名称、创建时间、修改时间、项目说明信息。


系统的运行实现如下图3-4所示:

image.png

图3-4 项目管理模块


项目管理模块的核心代码如下:


列表查询直接调用ProjectInfoService的page方法,而ProjectInfoService又继承使用了Mybatis-plus所封装的业务实现类ServiceImpl,所在不必再定义page方法,十分方便快捷。


项目管理模块的核心代码如下:


列表查询直接调用ProjectInfoService的page方法,而ProjectInfoService又继承使用了Mybatis-plus所封装的业务实现类ServiceImpl,所在不必再定义page方法,十分方便快捷。

3.2.3  模块管理


模块管理模块主要实现了对于参与测试的软件项目中相关的功能模块的管理功能,管理员进入系统后台可以在左边的菜单中选择模块管理模块,进入后可以对待测试的功能模块进行添加、修改、删除操作。也可以根据需要输入组件条件进行搜索查询列表,列表中的项目以分页的形式显示,主要展示模块名称、模块运行的IP地址、模块所属项目名称、修改时间、创建时间信息。


系统的运行实现如下图3-5所示:

image.png

图3-5 模块管理模块


模块管理的核心代码如下:此处展示模块的添加操作,查询功能同上面两个模块相拟。


通过@RequestBody注解得到前端请求的请求体数据直接封装到SaveModelPO对象中,然后调ModuleInfoService的saveOrUpdate方法实施保存操作。此方法仍然是Mybatis-plus框架所提示的业务封装实现类ServiceImpl中所定义,我们直接继承使用即可。如果数据库中有相关的对象信息,则执行更新操作,如果没有,则执行插入操作。

3.2.4  接口管理模块


接口管理模块主要实现了对于参与测试的软件项目中相关的接口的管理功能,管理员进入系统后台可以在左边的菜单中选择接口管理模块,进入后可以对待测试的接口进行添加、修改操作。也可以根据需要输入组合条件进行搜索查询接口信息列表,列表中的接口以分页的形式显示,主要展示接口名称、参数类型、请求方式、请求路径、所属模块、所属项目、接口说明、创建时间、修改时间。


系统的运行实现如下图3-6所示:

image.png

图3-6 接口管理模块


接口管理的核心代码如下:此处展示模块的添加操作,查询功能同上面两个模块相拟。


通过@RequestBody注解得到前端请求的请求体数据直接封装到SaveModelPO对象中,然后调InterfaceInfoService的saveOrUpdate方法实施保存操作。此方法仍然是Mybatis-plus框架所提示的业务封装实现类ServiceImpl中所定义,我们直接继承使用即可。如果数据库中有相关的对象信息,则执行更新操作,如果没有,则执行插入操作。

3.2.5  测试管理


测试管理模块主要实现了对于设计的测试用例的管理功能,管理员进入系统后台可以在左边的菜单中选择测试管理模块,此模块包含两个子模块,分别是用例管理和测试集合管理。用例管理主要实现对单个用例的管理功能,测试集合可以定义一个用例集合,一起测试集合的所有测试用例。在用例管理模块进入后可以进行添加测试用例、修改测试用例操作。也可以根据需要输入组合条件进行搜索查询测试用例信息列表,列表中的测试用例以分页的形式显示,主要展示测试接口名称、参数类型、请求方式、请求路径、IP地址、所属模块、所属项目、接口说明、创建时间、修改时间等。点击执行可以在线执行测试接口运行结果,并可以在详情中查询用例定义及其测试的结果详情信息。在详情页面可以自己根据接口定义的参数类型添加测试参数数据并展示测试结果。


系统的运行实现如下图3-7、3-8所示:

image.png

图3-7 测试用例列表

image.png

图3-8 测试用例详情


用例管理的核心代码如下:主要展示用例执行调用接口的方法


测试合集则主要是将多个测试用例集成到一起进行测试管理,以便测试一些接口的依赖相关性。在测试合集管理模块进入后可以进行添加测试用例合集操作。也可以根据需要输入组合条件进行搜索查询测试用例合集信息列表,列表中的测试用例合集以分页的形式显示,主要展示测试合集名称、合集中的测试用例ID列表、创建时间等。点击执行可以在线执行合集内所有接口运行结果,并可以在详情中查看合集内用例的列表信息,并可以在此处添加合集内的测试用例并查看合集内单个测试用例的执行结果。


测试合集的运行结果如下图3-9、3-10所示:

image.png

图3-9 测试合集列表

image.png

3.2.6  用户登陆


用户登陆是系统的入口,完成用户名和密码的校验工作后方可进入后台执行接口测试工作。用户账户由管理员在后台分配,分配的账户信息存入数据库表中。

用户登陆的运行界面如下图3-11所示:

image.png

图3-11用户登陆界面

以上是关于本自动化测试平台的部分介绍及功能展示,本系统选题新颖,技术先进,采用前后端分离的方式开发实现,后台开发采用Springboot开发,前端开发采用VUE开发。功能全面,页面简洁大方,

相关文章
|
3月前
|
Java 测试技术 开发者
必学!Spring Boot 单元测试、Mock 与 TestContainer 的高效使用技巧
【10月更文挑战第18天】 在现代软件开发中,单元测试是保证代码质量的重要手段。Spring Boot提供了强大的测试支持,使得编写和运行测试变得更加简单和高效。本文将深入探讨Spring Boot的单元测试、Mock技术以及TestContainer的高效使用技巧,帮助开发者提升测试效率和代码质量。
469 2
|
1天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
16 2
|
17天前
|
Java 测试技术 应用服务中间件
Spring Boot 如何测试打包部署
本文介绍了 Spring Boot 项目的开发、调试、打包及投产上线的全流程。主要内容包括: 1. **单元测试**:通过添加 `spring-boot-starter-test` 包,使用 `@RunWith(SpringRunner.class)` 和 `@SpringBootTest` 注解进行测试类开发。 2. **集成测试**:支持热部署,通过添加 `spring-boot-devtools` 实现代码修改后自动重启。 3. **投产上线**:提供两种部署方案,一是打包成 jar 包直接运行,二是打包成 war 包部署到 Tomcat 服务器。
42 10
|
15天前
|
消息中间件 监控 小程序
电竞陪玩系统架构优化设计,陪玩app如何提升系统稳定性,陪玩小程序平台的测试与监控
电竞陪玩系统架构涵盖前端(React/Vue)、后端(Spring Boot/php)、数据库(MySQL/MongoDB)、实时通信(WebSocket)及其他组件(Redis、RabbitMQ、Nginx)。通过模块化设计、微服务架构和云计算技术优化,提升系统性能与可靠性。同时,加强全面测试、实时监控及故障管理,确保系统稳定运行。
|
1月前
|
安全 Java 测试技术
springboot之SpringBoot单元测试
本文介绍了Spring和Spring Boot项目的单元测试方法,包括使用`@RunWith(SpringJUnit4ClassRunner.class)`、`@WebAppConfiguration`等注解配置测试环境,利用`MockMvc`进行HTTP请求模拟测试,以及如何结合Spring Security进行安全相关的单元测试。Spring Boot中则推荐使用`@SpringBootTest`注解简化测试配置。
|
2月前
|
Java 测试技术 API
详解Swagger:Spring Boot中的API文档生成与测试工具
详解Swagger:Spring Boot中的API文档生成与测试工具
72 4
|
2月前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
|
3月前
|
安全 Java 数据库
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
这篇文章是关于Apache Shiro权限管理框架的详细学习指南,涵盖了Shiro的基本概念、认证与授权流程,并通过Spring Boot测试模块演示了Shiro在单应用环境下的使用,包括与IniRealm、JdbcRealm的集成以及自定义Realm的实现。
66 3
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
|
2月前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
188 1
|
2月前
|
Java 测试技术 数据库连接
使用Spring Boot编写测试用例:实践与最佳实践
使用Spring Boot编写测试用例:实践与最佳实践
149 0