对OJ系统手动进行功能测试
一、项目背景
该项目为轻量级测试型OJ系统,部署于公网测试环境,定位为教学演示、功能验证与测试练手平台,非商用生产环境。
- 建设目的:用于OJ系统功能原型验证、教学演示、测试人员实战练习,覆盖核心模块的基础展示与交互能力。
- 部署环境:公网IP(49.235.61.184)+9090端口,基于Web的前后端分离架构,支持浏览器直接访问。
- 现状定位:基础功能可用、核心判题链路待完善、数据量小、仅支持游客只读浏览,适合学习与测试,不承载正式教学或竞赛任务。
二、项目核心功能
该OJ系统聚焦基础展示与核心模块的轻量级实现,功能覆盖登录、首页、题目、竞赛、排名模块,具体如下:
1.登录模块
- 系统首页提供独立登录入口,游客点击可跳转专属登录页面;
- 所有核心业务(做题、参赛、个人中心、后台管理)全部需要登录后才可访问;
2.首页展示模块
- 系统基础信息:展示系统名称(oj测试项目)、欢迎语、访问入口。
- 公告轮播:最新公告按时间倒序展示,支持查看公告标题、发布时间与摘要。
- 数据统计:近一周提交量(Submissions In The Last Week)等核心数据可视化展示。
- 快捷入口:题目列表、竞赛、排名、外部OJ支持的快速跳转。
- 底部信息:系统支持的远程OJ列表、版权与技术支持说明。
3. 题目管理模块(Latest Problem)
- 题目列表:展示题目ID、标题、更新时间,支持基础排序(默认按更新时间倒序)。
- 题目数据:包含基础题(ID=1,标题为空)、测试题(ID=22、111等),更新时间显示为“X days ago/a month ago”格式。
- 异常兼容:支持空标题、长串字符等脏数据展示,无页面崩溃。
- 权限控制:游客可浏览列表,无题目详情、代码提交入口(核心交互待完善)。
4. 竞赛管理模块(Recent Contest)
- 竞赛列表:展示竞赛ID、状态(Running/Ended)、类型(ACM)、可见范围(Public)、起止时间。
- 竞赛状态:支持Running(进行中)状态实时标识,时间格式统一(MM-DD HH:MM)。
- 权限控制:仅展示单场测试竞赛,无报名、进入竞赛、提交代码入口。
5. 排名统计模块(Rank: Accepted In The Last Week)
- 排名列表:展示前10名用户,包含排名(#1~#10)、用户名、AC数(近一周)。
- 匿名脱敏:用户名支持明文与脱敏展示(如*7ain/*6ain),保护用户隐私。
- 数据展示:AC列默认全为0(无提交数据),列表无分页、搜索、排序切换功能。
三、对项目进行测试
1.测试用例
2.测试步骤(选取几个作为展示)
(1)登录模块
(2)首页模块
(3)题目管理模块
(4)竞赛管理模块
(5)排名统计模块
四、项目总结
本次测试的OJ在线判题系统,整体为轻量化实训类Web项目,系统业务逻辑清晰、模块划分规范,项目核心覆盖登录模块、首页模块、题目模块、竞赛模块、排名模块五大核心业务,完整复刻了主流在线编程判题系统的基础架构与权限体系,适用于Web功能学习与软件手动功能测试实训。
在整体架构上,系统以登录权限模块为核心基石,搭建了完整的角色权限体系,严格区分游客、普通用户与管理员三种用户身份,实现权限分级管控。未登录游客仅拥有页面只读浏览权限,无法操作做题、参赛、个人信息管理等核心功能;普通用户登录后解锁刷题、参与竞赛、查看个人数据等业务权限;管理员登录后可完成题目、公告、竞赛的后台运维管理,权限逻辑闭环完整,保障了系统数据安全性与业务规范性。
首页模块作为系统门户,承担了数据聚合与导航跳转的作用,整合了系统公告、最新题目、在线竞赛、用户排行榜、平台合作OJ等关键信息,集中展示系统核心数据,页面布局规整,能够让用户快速了解系统状态与最新动态,是串联系统所有业务模块的入口载体。
题目模块是OJ系统的核心业务模块,支撑平台最基础的刷题学习功能。系统支持题目信息展示、题目数据更新,依托登录权限区分浏览与操作权限,精准划分游客只读、登录用户刷题、管理员运维的差异化功能。同时系统存在少量测试脏数据,能够有效检验系统的页面容错能力,整体展示功能稳定,满足基础编程练习平台的设计需求。
竞赛模块是OJ系统的拓展核心业务,面向线上编程考核与算法竞赛场景,可展示竞赛状态、竞赛类型、竞赛时间等关键信息。依托权限体系,区分普通用户参赛权限与管理员赛事管理权限,实现了编程竞赛场景的基础业务闭环,模拟了高校课程考核、线上算法比赛的真实业务场景。
排名模块是系统的数据统计展示模块,依托用户刷题、代码提交数据,统计用户解题通过率与AC数量,生成用户排行榜,直观展示用户编程学习成果。不仅可以激励用户刷题练习,同时完善了OJ系统学习、竞赛、数据统计的完整业务链路,丰富了平台的功能性与实用性。
综合来看,该OJ五大核心模块分工明确、相互联动,以登录权限为基础,首页为载体,题目、竞赛为核心业务,排名为数据反馈,构成了一套完整的轻量化在线判题系统。系统整体运行稳定、页面兼容性良好、业务逻辑符合主流OJ设计规范,虽然部分交互功能仅做基础展示、未完全落地,但整体架构完整、业务场景真实,非常适合用于Web系统认知、手动功能测试练习以及课程实训学习。
