基于SpringBoot+Vue测试用例管理系统

news2024/11/27 3:30:39

✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌

🍅文末获取项目下载方式🍅


一、项目背景介绍:

随着信息技术的不断发展,软件已经成为现代社会各行各业的重要工具。无论是政府部门、企事业单位,还是个人开发者,都需要软件来支持和优化其工作和生活。而软件开发的过程中,测试是一个非常重要的环节,能够有效地保证软件的质量和稳定性。因此,如何更好地管理测试用例和测试过程成为了软件开发人员和测试人员需要面对的问题。

二、项目技术简介:

  1. JAVA:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
  2. Element-UI:Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。
  3. SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
  4. Mybatis-Plus:MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。

三、系统功能模块介绍:

功能模块图

四、数据库设计:

1:‘Blob类型的触发器表’(QRTZ_BLOB_TRIGGERS)

字段名类型默认值列注释
sched_namevarcharNULL调度名称
trigger_namevarcharNULLqrtz_triggers表trigger_name的外键
trigger_groupvarcharNULLqrtz_triggers表trigger_group的外键
blob_datablobNULL存放持久化Trigger对象

2:‘日历信息表’(QRTZ_CALENDARS)

字段名类型默认值列注释
sched_namevarcharNULL调度名称
calendar_namevarcharNULL日历名称
calendarblobNULL存放持久化calendar对象

3:‘Cron类型的触发器表’(QRTZ_CRON_TRIGGERS)

字段名类型默认值列注释
sched_namevarcharNULL调度名称
trigger_namevarcharNULLqrtz_triggers表trigger_name的外键
trigger_groupvarcharNULLqrtz_triggers表trigger_group的外键
cron_expressionvarcharNULLcron表达式
time_zone_idvarcharNULL时区

4:‘已触发的触发器表’(QRTZ_FIRED_TRIGGERS)

字段名类型默认值列注释
sched_namevarcharNULL调度名称
entry_idvarcharNULL调度器实例id
trigger_namevarcharNULLqrtz_triggers表trigger_name的外键
trigger_groupvarcharNULLqrtz_triggers表trigger_group的外键
instance_namevarcharNULL调度器实例名
fired_timebigintNULL触发的时间
sched_timebigintNULL定时器制定的时间
priorityintNULL优先级
statevarcharNULL状态
job_namevarcharNULL任务名称
job_groupvarcharNULL任务组名
is_nonconcurrentvarcharNULL是否并发
requests_recoveryvarcharNULL是否接受恢复执行

5:‘任务详细信息表’(QRTZ_JOB_DETAILS)

字段名类型默认值列注释
sched_namevarcharNULL调度名称
job_namevarcharNULL任务名称
job_groupvarcharNULL任务组名
descriptionvarcharNULL相关介绍
job_class_namevarcharNULL执行任务类名称
is_durablevarcharNULL是否持久化
is_nonconcurrentvarcharNULL是否并发
is_update_datavarcharNULL是否更新数据
requests_recoveryvarcharNULL是否接受恢复执行
job_datablobNULL存放持久化job对象

6:‘存储的悲观锁信息表’(QRTZ_LOCKS)

字段名类型默认值列注释
sched_namevarcharNULL调度名称
lock_namevarcharNULL悲观锁名称

7:‘暂停的触发器表’(QRTZ_PAUSED_TRIGGER_GRPS)

字段名类型默认值列注释
sched_namevarcharNULL调度名称
trigger_groupvarcharNULLqrtz_triggers表trigger_group的外键

8:‘调度器状态表’(QRTZ_SCHEDULER_STATE)

字段名类型默认值列注释
sched_namevarcharNULL调度名称
instance_namevarcharNULL实例名称
last_checkin_timebigintNULL上次检查时间
checkin_intervalbigintNULL检查间隔时间

9:‘简单触发器的信息表’(QRTZ_SIMPLE_TRIGGERS)

字段名类型默认值列注释
sched_namevarcharNULL调度名称
trigger_namevarcharNULLqrtz_triggers表trigger_name的外键
trigger_groupvarcharNULLqrtz_triggers表trigger_group的外键
repeat_countbigintNULL重复的次数统计
repeat_intervalbigintNULL重复的间隔时间
times_triggeredbigintNULL已经触发的次数

10:‘同步机制的行锁表’(QRTZ_SIMPROP_TRIGGERS)

字段名类型默认值列注释
sched_namevarcharNULL调度名称
trigger_namevarcharNULLqrtz_triggers表trigger_name的外键
trigger_groupvarcharNULLqrtz_triggers表trigger_group的外键
str_prop_1varcharNULLString类型的trigger的第一个参数
str_prop_2varcharNULLString类型的trigger的第二个参数
str_prop_3varcharNULLString类型的trigger的第三个参数
int_prop_1intNULLint类型的trigger的第一个参数
int_prop_2intNULLint类型的trigger的第二个参数
long_prop_1bigintNULLlong类型的trigger的第一个参数
long_prop_2bigintNULLlong类型的trigger的第二个参数
dec_prop_1decimalNULLdecimal类型的trigger的第一个参数
dec_prop_2decimalNULLdecimal类型的trigger的第二个参数
bool_prop_1varcharNULLBoolean类型的trigger的第一个参数
bool_prop_2varcharNULLBoolean类型的trigger的第二个参数

11:‘触发器详细信息表’(QRTZ_TRIGGERS)

字段名类型默认值列注释
sched_namevarcharNULL调度名称
trigger_namevarcharNULL触发器的名字
trigger_groupvarcharNULL触发器所属组的名字
job_namevarcharNULLqrtz_job_details表job_name的外键
job_groupvarcharNULLqrtz_job_details表job_group的外键
descriptionvarcharNULL相关介绍
next_fire_timebigintNULL上一次触发时间(毫秒)
prev_fire_timebigintNULL下一次触发时间(默认为-1表示不触发)
priorityintNULL优先级
trigger_statevarcharNULL触发器状态
trigger_typevarcharNULL触发器的类型
start_timebigintNULL开始时间
end_timebigintNULL结束时间
calendar_namevarcharNULL日程表名称
misfire_instrsmallintNULL补偿执行的策略
job_datablobNULL存放持久化job对象

12:‘缺陷’(flaw)

字段名类型默认值列注释
idbigintNULL缺陷编号
flaw_namevarcharNULL缺陷名称
detail_infotextNULL详细信息
project_idbigintNULL所属项目
expect_resulttextNULL预期结果
reality_resulttextNULL实际结果
leavesintNULL缺陷级别
statusintNULL缺陷状态
user_idbigintNULL作者
solve_user_idbigintNULL处理人

13:‘代码生成业务表’(gen_table)

字段名类型默认值列注释
table_idbigintNULL编号
table_namevarcharNULL表名称
table_commentvarcharNULL表描述
sub_table_namevarcharNULL关联子表的表名
sub_table_fk_namevarcharNULL子表关联的外键名
class_namevarcharNULL实体类名称
tpl_categoryvarcharNULL使用的模板(crud单表操作 tree树表操作)
package_namevarcharNULL生成包路径
module_namevarcharNULL生成模块名
business_namevarcharNULL生成业务名
function_namevarcharNULL生成功能名
function_authorvarcharNULL生成功能作者
gen_typecharNULL生成代码方式(0zip压缩包 1自定义路径)
gen_pathvarcharNULL生成路径(不填默认项目路径)
optionsvarcharNULL其它生成选项
create_byvarcharNULL创建者
create_timedatetimeNULL创建时间
update_byvarcharNULL更新者
update_timedatetimeNULL更新时间
remarkvarcharNULL备注

14:‘代码生成业务表字段’(gen_table_column)

字段名类型默认值列注释
column_idbigintNULL编号
table_idvarcharNULL归属表编号
column_namevarcharNULL列名称
column_commentvarcharNULL列描述
column_typevarcharNULL列类型
java_typevarcharNULLJAVA类型
java_fieldvarcharNULLJAVA字段名
is_pkcharNULL是否主键(1是)
is_incrementcharNULL是否自增(1是)
is_requiredcharNULL是否必填(1是)
is_insertcharNULL是否为插入字段(1是)
is_editcharNULL是否编辑字段(1是)
is_listcharNULL是否列表字段(1是)
is_querycharNULL是否查询字段(1是)
query_typevarcharNULL查询方式(等于、不等于、大于、小于、范围)
html_typevarcharNULL显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)
dict_typevarcharNULL字典类型
sortintNULL排序
create_byvarcharNULL创建者
create_timedatetimeNULL创建时间
update_byvarcharNULL更新者
update_timedatetimeNULL更新时间

15:‘项目管理’(project)

字段名类型默认值列注释
idbigintNULL项目编号
project_namevarcharNULL项目名称
project_infovarcharNULL项目介绍
start_timedatetimeNULL开始时间
end_timedatetimeNULL结束时间
file_urlvarcharNULL介绍文件

16:‘参数配置表’(sys_config)

字段名类型默认值列注释
config_idintNULL参数主键
config_namevarcharNULL参数名称
config_keyvarcharNULL参数键名
config_valuevarcharNULL参数键值
config_typecharNULL系统内置(Y是 N否)
create_byvarcharNULL创建者
create_timedatetimeNULL创建时间
update_byvarcharNULL更新者
update_timedatetimeNULL更新时间
remarkvarcharNULL备注

17:‘部门表’(sys_dept)

字段名类型默认值列注释
dept_idbigintNULL部门id
parent_idbigintNULL父部门id
ancestorsvarcharNULL祖级列表
dept_namevarcharNULL部门名称
order_numintNULL显示顺序
leadervarcharNULL负责人
phonevarcharNULL联系电话
emailvarcharNULL邮箱
statuscharNULL部门状态(0正常 1停用)
del_flagcharNULL删除标志(0代表存在 2代表删除)
create_byvarcharNULL创建者
create_timedatetimeNULL创建时间
update_byvarcharNULL更新者
update_timedatetimeNULL更新时间

18:‘字典数据表’(sys_dict_data)

字段名类型默认值列注释
dict_codebigintNULL字典编码
dict_sortintNULL字典排序
dict_labelvarcharNULL字典标签
dict_valuevarcharNULL字典键值
dict_typevarcharNULL字典类型
css_classvarcharNULL样式属性(其他样式扩展)
list_classvarcharNULL表格回显样式
is_defaultcharNULL是否默认(Y是 N否)
statuscharNULL状态(0正常 1停用)
create_byvarcharNULL创建者
create_timedatetimeNULL创建时间
update_byvarcharNULL更新者
update_timedatetimeNULL更新时间
remarkvarcharNULL备注

19:‘字典类型表’(sys_dict_type)

字段名类型默认值列注释
dict_idbigintNULL字典主键
dict_namevarcharNULL字典名称
dict_typevarcharNULL字典类型
statuscharNULL状态(0正常 1停用)
create_byvarcharNULL创建者
create_timedatetimeNULL创建时间
update_byvarcharNULL更新者
update_timedatetimeNULL更新时间
remarkvarcharNULL备注

20:‘定时任务调度表’(sys_job)

字段名类型默认值列注释
job_idbigintNULL任务ID
job_namevarcharNULL任务名称
job_groupvarcharNULL任务组名
invoke_targetvarcharNULL调用目标字符串
cron_expressionvarcharNULLcron执行表达式
misfire_policyvarcharNULL计划执行错误策略(1立即执行 2执行一次 3放弃执行)
concurrentcharNULL是否并发执行(0允许 1禁止)
statuscharNULL状态(0正常 1暂停)
create_byvarcharNULL创建者
create_timedatetimeNULL创建时间
update_byvarcharNULL更新者
update_timedatetimeNULL更新时间
remarkvarcharNULL备注信息

21:‘定时任务调度日志表’(sys_job_log)

字段名类型默认值列注释
job_log_idbigintNULL任务日志ID
job_namevarcharNULL任务名称
job_groupvarcharNULL任务组名
invoke_targetvarcharNULL调用目标字符串
job_messagevarcharNULL日志信息
statuscharNULL执行状态(0正常 1失败)
exception_infovarcharNULL异常信息
create_timedatetimeNULL创建时间

22:‘系统访问记录’(sys_logininfor)

字段名类型默认值列注释
info_idbigintNULL访问ID
user_namevarcharNULL用户账号
ipaddrvarcharNULL登录IP地址
login_locationvarcharNULL登录地点
browservarcharNULL浏览器类型
osvarcharNULL操作系统
statuscharNULL登录状态(0成功 1失败)
msgvarcharNULL提示消息
login_timedatetimeNULL访问时间

23:‘菜单权限表’(sys_menu)

字段名类型默认值列注释
menu_idbigintNULL菜单ID
menu_namevarcharNULL菜单名称
parent_idbigintNULL父菜单ID
order_numintNULL显示顺序
pathvarcharNULL路由地址
componentvarcharNULL组件路径
queryvarcharNULL路由参数
is_frameintNULL是否为外链(0是 1否)
is_cacheintNULL是否缓存(0缓存 1不缓存)
menu_typecharNULL菜单类型(M目录 C菜单 F按钮)
visiblecharNULL菜单状态(0显示 1隐藏)
statuscharNULL菜单状态(0正常 1停用)
permsvarcharNULL权限标识
iconvarcharNULL菜单图标
create_byvarcharNULL创建者
create_timedatetimeNULL创建时间
update_byvarcharNULL更新者
update_timedatetimeNULL更新时间
remarkvarcharNULL备注

24:‘通知公告表’(sys_notice)

字段名类型默认值列注释
notice_idintNULL公告ID
notice_titlevarcharNULL公告标题
notice_typecharNULL公告类型(1通知 2公告)
notice_contentlongblobNULL公告内容
statuscharNULL公告状态(0正常 1关闭)
create_byvarcharNULL创建者
create_timedatetimeNULL创建时间
update_byvarcharNULL更新者
update_timedatetimeNULL更新时间
remarkvarcharNULL备注

25:‘操作日志记录’(sys_oper_log)

字段名类型默认值列注释
oper_idbigintNULL日志主键
titlevarcharNULL模块标题
business_typeintNULL业务类型(0其它 1新增 2修改 3删除)
methodvarcharNULL方法名称
request_methodvarcharNULL请求方式
operator_typeintNULL操作类别(0其它 1后台用户 2手机端用户)
oper_namevarcharNULL操作人员
dept_namevarcharNULL部门名称
oper_urlvarcharNULL请求URL
oper_ipvarcharNULL主机地址
oper_locationvarcharNULL操作地点
oper_paramvarcharNULL请求参数
json_resultvarcharNULL返回参数
statusintNULL操作状态(0正常 1异常)
error_msgvarcharNULL错误消息
oper_timedatetimeNULL操作时间
cost_timebigintNULL消耗时间

26:‘岗位信息表’(sys_post)

字段名类型默认值列注释
post_idbigintNULL岗位ID
post_codevarcharNULL岗位编码
post_namevarcharNULL岗位名称
post_sortintNULL显示顺序
statuscharNULL状态(0正常 1停用)
create_byvarcharNULL创建者
create_timedatetimeNULL创建时间
update_byvarcharNULL更新者
update_timedatetimeNULL更新时间
remarkvarcharNULL备注

27:‘角色信息表’(sys_role)

字段名类型默认值列注释
role_idbigintNULL角色ID
role_namevarcharNULL角色名称
role_keyvarcharNULL角色权限字符串
role_sortintNULL显示顺序
data_scopecharNULL数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)
menu_check_strictlytinyintNULL菜单树选择项是否关联显示
dept_check_strictlytinyintNULL部门树选择项是否关联显示
statuscharNULL角色状态(0正常 1停用)
del_flagcharNULL删除标志(0代表存在 2代表删除)
create_byvarcharNULL创建者
create_timedatetimeNULL创建时间
update_byvarcharNULL更新者
update_timedatetimeNULL更新时间
remarkvarcharNULL备注

28:‘角色和部门关联表’(sys_role_dept)

字段名类型默认值列注释
role_idbigintNULL角色ID
dept_idbigintNULL部门ID

29:‘角色和菜单关联表’(sys_role_menu)

字段名类型默认值列注释
role_idbigintNULL角色ID
menu_idbigintNULL菜单ID

30:‘用户信息表’(sys_user)

字段名类型默认值列注释
user_idbigintNULL用户ID
dept_idbigintNULL部门ID
user_namevarcharNULL用户账号
nick_namevarcharNULL用户昵称
user_typevarcharNULL用户类型(00系统用户)
emailvarcharNULL用户邮箱
phonenumbervarcharNULL手机号码
sexcharNULL用户性别(0男 1女 2未知)
avatarvarcharNULL头像地址
passwordvarcharNULL密码
statuscharNULL帐号状态(0正常 1停用)
del_flagcharNULL删除标志(0代表存在 2代表删除)
login_ipvarcharNULL最后登录IP
login_datedatetimeNULL最后登录时间
create_byvarcharNULL创建者
create_timedatetimeNULL创建时间
update_byvarcharNULL更新者
update_timedatetimeNULL更新时间
remarkvarcharNULL备注

31:‘用户与岗位关联表’(sys_user_post)

字段名类型默认值列注释
user_idbigintNULL用户ID
post_idbigintNULL岗位ID

32:‘用户和角色关联表’(sys_user_role)

字段名类型默认值列注释
user_idbigintNULL用户ID
role_idbigintNULL角色ID

33:‘测试用例’(test_example)

字段名类型默认值列注释
idbigintNULL用例编号
ex_namevarcharNULL用例名称
leavesintNULL用例级别
before_conditiontextNULL前置条件
steptextNULL操作步骤
result_infotextNULL实际结果
expect_resulttextNULL预期结果
project_idbigintNULL所属项目
user_idbigintNULL所属用户
create_timedatetimeNULL创建时间

五、功能模块:

  1. 项目管理结构设计:有着项目管理界面管理权限的角色可以在项目管理界面对系统现有的项目进行删除、修改、查询操作和添加新的项目的功能

    项目管理结构设计

  2. 缺陷管理结构设计:有着缺陷管理权限的角色可以在缺陷管理界面对系统现有的缺陷进行删除、修改、查询操作和添加新的缺陷的功能

    缺陷管理结构设计

  3. 用例管理结构设计:有着用例管理界面管理权限的角色可以在用例管理界面对系统现有的用例进行删除、修改、查询操作和添加新的用例的功能

    用例管理结构设计

  4. 用户管理总体结构设计:有着用户管理界面管理权限的角色可以在用户管理界面对系统现有的用户进行删除、修改、查询操作和添加新的用户的功能

    用户管理总体结构设计

  5. 角色管理总体结构设计:有着角色管理界面管理权限的角色可以在角色管理界面对系统现有的角色进行删除、修改、查询操作和添加新的角色的功能

    角色管理总体结构设计

  6. 菜单管理总体结构设计:有着菜单管理界面管理权限的角色可以在菜单管理界面对系统现有的菜单进行删除、修改、查询操作和添加新的项目的功能

    菜单管理总体结构设计

  7. 部门管理总体结构设计:有着部门管理界面管理权限的角色可以在部门管理界面对系统现有的部门进行删除、修改、查询操作和添加新的部门的功能

    部门管理总体结构设计

  8. 岗位管理总体结构设计:有着岗位管理界面管理权限的角色可以在岗位管理界面对系统现有的岗位进行删除、修改、查询操作和添加新的岗位的功能

    岗位管理总体结构设计

六、代码示例:

    /**
     * 生成验证码
     */
    @GetMapping("/captchaImage")
    public AjaxResult getCode(HttpServletResponse response) throws IOException
    {
        AjaxResult ajax = AjaxResult.success();
        boolean captchaEnabled = configService.selectCaptchaEnabled();
        ajax.put("captchaEnabled", captchaEnabled);
        if (!captchaEnabled)
        {
            return ajax;
        }

        // 保存验证码信息
        String uuid = IdUtils.simpleUUID();
        String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid;

        String capStr = null, code = null;
        BufferedImage image = null;

        // 生成验证码
        String captchaType = RuoYiConfig.getCaptchaType();
        if ("math".equals(captchaType))
        {
            String capText = captchaProducerMath.createText();
            capStr = capText.substring(0, capText.lastIndexOf("@"));
            code = capText.substring(capText.lastIndexOf("@") + 1);
            image = captchaProducerMath.createImage(capStr);
        }
        else if ("char".equals(captchaType))
        {
            capStr = code = captchaProducer.createText();
            image = captchaProducer.createImage(capStr);
        }

        redisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
        // 转换流信息写出
        FastByteArrayOutputStream os = new FastByteArrayOutputStream();
        try
        {
            ImageIO.write(image, "jpg", os);
        }
        catch (IOException e)
        {
            return AjaxResult.error(e.getMessage());
        }

        ajax.put("uuid", uuid);
        ajax.put("img", Base64.encode(os.toByteArray()));
        return ajax;
    }
    /**
     * 通用的本地文件上传
     *
     * @param multipartFile 文件对象
     * @return 文件访问链接URL
     */
    @PostMapping("/file")
    public SimpleResponse uploadImg(@RequestParam("file") MultipartFile file) {
        // 文件后缀
        String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
        File savePathFile = new File(newTomcatFolder);
        if (!savePathFile.exists()) {
            // 若不存在该目录,则创建目录
            savePathFile.mkdir();
        }
        // 通过UUID生成唯一文件名
        String filename = UUID.randomUUID() + "." + suffix;
        try {
            // 将文件保存指定目录
            file.transferTo(new File(newTomcatFolder + filename));
        } catch (Exception e) {
            e.printStackTrace();
            return SimpleResponse.error("保存文件异常");
        }
        // 返回访问链接
        return SimpleResponse.success(newTomcatHost + filename);
    }
@PostMapping("/login")
    public ReturnMsg manageLogin(@RequestBody Map<String, String> param) {
        if (StrUtil.isEmpty(param.get("username")) || StrUtil.isEmpty(param.get("password"))) {
            return ReturnMsg.error("用户名或密码错误!");
        }
        ManageDTO manageDTO = new ManageDTO();
        manageDTO.setUserName(param.get("username"));
        manageDTO.setPassWord(param.get("password"));
        QueryWrapper<ManageDTO> manageDTOQueryWrapper = new QueryWrapper<>(manageDTO);
        manageDTOQueryWrapper.last("limit 1");
        ManageDTO adminDTOS = manageService.getOne(manageDTOQueryWrapper);
        if (adminDTOS == null) return ReturnMsg.error("用户名或密码错误!");
        Map<String, Object> map = new HashMap<>();
        map.put("avatar", StrUtil.isNotBlank(adminDTOS.getPhotoImg()) ? adminDTOS.getPhotoImg() : "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif");
        map.put("introduction", adminDTOS.getName() + ",你好!");
        map.put("name", adminDTOS.getName());
        map.put("roles", Arrays.asList("admin"));
        map.put("type", adminDTOS.getStatus());
        Map<String, String> returnMap = new HashMap<>();
        String uuid = UUID.randomUUID().toString();
        returnMap.put("token", uuid);
        userInfoMap.put(uuid, JSON.toJSONString(map));
        return ReturnMsg.ok(returnMap);
    }

七、论文参考:

论文参考···论文参考图

八、项目总结:

在本次项目中,我们设计了一个测试用例管理系统,通过系统的用户管理、角色管理、菜单管理、部门管理、岗位管理、操作日志管理、登录日志管理等模块,实现了对测试用例进行管理的功能。在技术方面,我们使用了Spring Boot框架、MyBatis框架、MySQL数据库以及ElementUI等技术进行开发,并且在开发过程中遵循了敏捷开发和测试驱动开发的原则,保证了开发效率和软件质量。
通过本次项目的开发,我们不仅学习了如何进行系统开发和数据库设计,还掌握了如何进行敏捷开发和测试驱动开发的方法。同时,我们也发现了在开发过程中存在的问题,比如需求不够明确、任务分配不够合理等,这些问题需要我们在未来的项目开发中加以改进。
在本次项目中,我们设计了一个测试用例管理系统,通过系统的用户管理、角色管理、菜单管理、部门管理、岗位管理、操作日志管理、登录日志管理等模块,实现了对测试用例进行管理的功能。在技术方面,我们使用了Spring Boot框架、MyBatis框架、MySQL数据库以及ElementUI等技术进行开发,并且在开发过程中遵循了敏捷开发和测试驱动开发的原则,保证了开发效率和软件质量。

九、源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取项目下载链接,博主联系方式👇🏻👇🏻👇🏻

链接点击直达:下载链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/577087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Vue】学习笔记-Vue中的Ajax配置代理

回顾 常用的发送Ajax请求的方法有哪些&#xff1f; xhr​​ new XMLHttpRequest() xhr.open()、xhr.send()(真正开发中很少用到&#xff0c;太麻烦了&#xff0c;我们一般使用的都是他的二次封装) ​jQuery​​ 其对xhr有二次封装 . g e t ( ) 、 .get()、 .get()、.post ​…

【一起啃书】《机器学习》第八章集成学习

文章目录 第八章 集成学习8.1 个体与集成8.2 Boosting8.3 Bagging与随机森林8.4 结合策略8.5 多样性 第八章 集成学习 8.1 个体与集成 集成学习通过构建并结合多个学习器来完成学习任务&#xff0c;有时也被称为多分类器系统、基于委员会的学习等&#xff0c;下面是集成学习的…

Mac下好用的日记、电子书阅读器、RSS订阅软件​

Mac下好用的日记笔记本、电子书阅读器和RSS订阅、播客订阅等软件推荐。我们收录到 Mac下好用的日记、电子书阅读器、RSS订阅软件​http://www.webhub123.com/#/home/detail?pLZPL-2ofIu 收录效果如下 ​也可以使用分组视图来查看各类软件网址 ​ 登录后可一键保存全部软件网址…

Java 集合 - Queue 接口

文章目录 1.Queue 接口2.LinkedList3.ArrayDeque4.PriorityQueue5.总结 队列是一种特殊的线性数据结构&#xff0c;在数据的尾部插入元素&#xff0c;在数据的头部删除元素。通常以 FIFO&#xff08;先进先出&#xff09;的方式存储和访问数据。Java 中提供了 Queue 接口来实现…

element-ui对话框dialog详解

效果展示 先给大家展示一下大致的样式 代码 <el-dialog draggable destroy-on-close v-model"dialogAddVisible" title"添加用户" width"35%" center><el-form :inline"true" :model"addFormInfo" status-icon …

Java中的String数据类型,String类(字符串)详解

目录 第一章、String概述1&#xff09;String是什么2&#xff09;String长什么样3&#xff09;String的构造方法(声明方式) 第二章、String类的详解1&#xff09;String底层是什么2&#xff09;字符串存储的内存原理/字符串常量池(String Constant Pool&#xff09;3&#xff0…

C语言-【指针二】-【指针运算/指针和数组】

好久不见吖&#xff0c;好啦&#xff0c;言归正传&#xff0c;这篇文章接着上篇文章的尾巴接着介绍指针相关知识哦&#xff01; 一.指针运算 &#xff08;1&#xff09;指针-整数 &#xff08;2&#xff09;指针-指针 &#xff08;3&#xff09;指针的关系运算 接下来&…

Apache Kafka - 高性能原因探究

文章目录 概述图解 概述 Kafka 的高性能主要依赖于以下几个关键因素: 分布式架构:Kafka 采用分布式集群架构,可以水平扩展到上万个节点,支持每秒处理百万级消息。持久化存储:Kafka 使用文件系统持久化存储消息,避免了数据库成为性能瓶颈,大大提高了吞吐量。顺序读写:Kafka 的…

计算机视觉:卷积核的运行过程

本文重点 我们前面从直观角度理解了卷积神经网络的卷积在特征提取的作用,本节课程我们从数学角度来看一下,卷积是如何计算的? 计算步骤 1. 将卷积核与输入图像的某一部分进行逐元素相乘。 2. 将相乘后的结果求和,得到卷积核在该部分的输出值。 3. 重复以上步骤,将卷积核…

达梦8逻辑备份导出导入dexp/dimp

逻辑导出&#xff08;dexp&#xff09;和逻辑导入&#xff08;dimp&#xff09;是 DM 数据库的两个命令行工具&#xff0c;分别用来实现对 DM 数据库的逻辑备份和逻辑还原。逻辑备份和逻辑还原都是在联机方式下完成&#xff0c;联机方式是指数据库服务器正常运行过程中进行的备…

数据结构作业4-图

图数据结构的小练习&#xff1a; 文章目录 数据结构作业4-图3 对图1所示的带权无向图。&#xff08;40分&#xff09;解&#xff1a; 4 对于图1所示的带权无向图。&#xff08;20分&#xff09;解&#xff1a; 5 已知带权有向图如下图所示&#xff0c;请利用Dijkstra算法从顶点…

基于操作系统的基础IO

1.c语言中的文件输入输出 在观看本章节的时候&#xff0c;大家可以去看看之前c语言的文件输入输出的有关博客。 好那么废话不多说之间进入本章正题: 我们都知道c程序默认会打开三个输入输出流&#xff1a; stdin&#xff1a;相当于键盘 stdout&#xff1a;相当于显示器 st…

【Linux】基本指令(四)

目录 &#x1f348;一.sort指令&#x1f348; &#x1f349;二.uniq指令&#x1f349; &#x1f34a;三.wc指令&#x1f34a; &#x1f34b;四.which指令&#x1f34b; &#x1f34e;五.whereis指令&#x1f34e; &#x1f34f;六.top指令&#x1f34f; &#x1f350;七…

【玩转 Cloud Studio】腾讯Cloud Studio 云端开发环境上手体验

目录 1、Cloud Studio简介 2、功能体验 3、Cloud Studio优点 4、总结 1、Cloud Studio简介 Cloud Studio&#xff08;云端 IDE&#xff09;是基于浏览器的集成式开发环境&#xff0c;为开发者提供了一个稳定快速的云端工作站。用户在使用 Cloud Studio 时无需安装&#xff0c;只…

【LCD应用编程】绘制点、线、矩形框

之前获取LCD屏幕参数信息时了解到&#xff0c;LCD屏是 FrameBuffer 设备&#xff0c;操作 FrameBuffer 设备 其实就是在读写 /dev/fb0 文件。除此之外&#xff0c;LCD屏上包含多个像素点&#xff0c;绘制点、线、矩形框本质是在修改这些像素点的颜色。 目录 1、定义 lcd_color…

VS+Qt — Vistual Studio 2022+Qt6安装教程以及解决Qt Vistual Studio Tools下载慢和VS无法打开.ui进行设计的问题

目录 Vistual Studio 2022下载 Qt下载 Qt Vistual Studio Tools下载 方法1 方法2 方法3 方法4 Vistual Studio 2022配置Qt6 创建Qt项目 若VS无法打开.ui进行设计 Vistual Studio 2022下载 以前因为安装库的关系&#xff0c;已经下载过VS2022了&#xff0c;详细请看这…

C++ 学习 ::【基础篇:05】:C++ 函数重载认识及使用、简单介绍:C++ 支持函数重载的原因

本系列 C 相关文章 仅为笔者学习笔记记录&#xff0c;用自己的理解记录学习&#xff01;C 学习系列将分为三个阶段&#xff1a;基础篇、STL 篇、高阶数据结构与算法篇&#xff0c;相关重点内容如下&#xff1a; 基础篇&#xff1a;类与对象&#xff08;涉及C的三大特性等&#…

CSS之基础扫盲

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE初阶 目录 文章目录 二、CSS基础语法 2.1 CSS引入方式 2.1.1 内部样式 2.1.2 外部样式 2.1.3 内联样式 2.2 CSS选择器 2.2.1 标签选择器 2.2.2 类选择器 2.2.3 id选择器 2.2.4 通配符选择器 2.2…

HNU-操作系统OS-实验Lab7

OS_Lab7_Experimental report 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 实验目的 理解操作系统的同步互斥的设计实现;理解底层支撑技术:禁用中断、定时器、等待队列;在ucore中理解信号量(semaphore)机制的具体实现;理解管程机制,在ucore内…

动力电池管理系统(BMS)

BMS技术 目录 BMS技术 一、BMS简介 二、BMS主要功能 1、参数检测 2、剩余电量&#xff08;SOC&#xff09;估计 3、充放电控制 4、热管理 5、均衡控制 6、故障诊断 7、信息监控 8、参数标定 9、CAN总线接口 三、BMS架构组成 1、BMS的拓扑架构 1、1集中式架构的B…