在线 OJ 平台的测试项目实践

一、项目启动,介入了解需求

项目背景:根据学习过的 JavaEE 初阶知识,实现一个可以进行在线 OJ 的平台。

目标:完成两个页面,一个页面提供 OJ 练习题,选择题目将可以跳转到第二个页面进行编码,提交,执行。

时间:2023-1-15 到 2023-1-31

项目成员:

  • 项目经理:czh
  • 产品经理:czh
  • 开发:czh
  • 测试:czh

二、需求分析

功能需求:

实现 OJ 平台首页,首页显示 OJ 练习题可供选择;
实现 OJ 平台练习题页,显示 OJ 练习题的标题,内容,提供代码编辑框,提供提交按钮,提供代码编译后结果。

界面需求:

布局、排版美观,设计符合当下时代。
界面的按键和跳转能够正常使用。
界面的文字题目能够正常显示,且适应窗口缩放。

性能需求:

启动程序不超过 1 分钟。跳转页面不超过 1 秒。
提交编译执行代码,得出结果不超过 5 秒。

兼容性需求:

Windows7,Windows8,Windows10 都能使用。
各种不同浏览器的访问。

易用性需求:

操作简单、方便。
页面功能按钮设计直观易用。

安全需求:

输入页面的信息合理保存。
保证用户的数据安全,不被盗用,不遗失等。


三、制定测试方案(计划 + 策略)

测试范围以及测试点:

在线 OJ 平台首页,OJ 练习题页面。
页面的链接跳转,页面的数据刷新显示,代码的提交编译。

测试方法: 手工

测试所涉及的类型:

功能:依照功能测试用例全部执行。

界面:依照界面测试用例全部执行。

性能:依照性能测试用例全部执行。

兼容性:依照兼容性测试用例全部执行。

易用性:依照易用性测试用例全部执行。

安全:依照安全测试用例全部执行。

测试资源:

计划:

风险:

测试轮数:

第一轮测试:冒烟测试,系统测试

第二轮测试:冒烟测试,BUG 验证,回归测试

第三轮测试:冒烟测试,BUG 验证,系统测试

第四轮测试:验收测试

配置管理:

源代码将上传至:https://gitee.com/chen-zonghao/java-learning/tree/master/java_oj_2021

项目中产出的所有文档将上传至:https://gitee.com/chen-zonghao/software-test-learning/tree/master/java_oj_test

变更管理:

评审管理:

准入准出标准:

准入测试:冒烟测试通过。

准出测试:严重、重要 BUG 无遗留,一般、次要 BUG 合计不超过 3 个。


四、测试执行流程

1、 需求测试

基于需求的测试方法是基本的测试方法,而需求的质量直接影响到后续的开发和测试工作。

  • 需求审核
  • 需求测试
  • 测试设计中进行需求测试
  • 需求测试要素:正确性,必要性,完整性,一致性
  • 需求测试应该尽早开始

2、 提测版本测试

  • 冒烟测试
  • 版本测试中信息传递:修改内容,配置管理

3、 系统测试

  • 根据测试用例执行测试
  • 缺陷管理

4、 回归测试

  • 确认回归内容
  • 确认回归方式为手工
  • 用例的回归
  • bug 的回归

5、 编写测试报告

  • 缺陷分析
  • 测试结论

五、编写测试用例

请添加图片描述


六、测试执行

6.1 环境搭建

将编辑好的项目源代码文件保存到测试电脑上,启动 MySQL 服务,启动 tomcat 服务,配置好相关 Java 版本,导入需要的依赖。

6.2 准备工作

代码编辑框代码题目准备

6.3 执行

第一轮测试:冒烟测试,系统测试
第二轮测试:冒烟测试,BUG 验证,回归测试
第三轮测试:冒烟测试,BUG 验证,回归测试
第四轮测试:验收测试

6.4 缺陷管理

需要通过禅道开源项目管理工具完成…

发现缺陷、记录缺陷、沟通缺陷、跟踪缺陷、关闭缺陷


七、输出测试报告

需要通过禅道开源项目管理工具完成…

缺陷分析:

  • 版本 Bug 数量
  • 模块 Bug 数量
  • Bug 严重度
  • Bug 类型
  • Bug 状态

测试结论:


八、版本发布

  • 将项目源代码上传至 Git.

  • 将项目写成博客发布至 CSDN.


九、项目总结

做好的,值得其它项目借鉴:
测试用例根据用户需求分析来设计,而且有整体框架,算是比较详细全面。

有待改善的地方:
系统中有一些模块的功能是类似的,导致设计测试用例的时候重复,略显冗余。
系统中的一些功能模块不好设计出较冷门的用例,建议多多练习设计测试用例,提高经验。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 一本通 OJ 题库的测试数据,通常是用来验证提交的代码在各种情况下的正确性。测试数据可以分为两种类型,手动和自动。 手动测试数据是由题目的出题人根据题意和数据范围设计的一组数据,用来检测程序的正确性和运行效率。手动测试数据的优点是能够涵盖各种情况,但缺点是数量相对较少,不足以覆盖所有可能的情况。 自动测试数据是由程序自动生成的一组数据,可以生成大量的数据以检测程序的健壮性和效率。自动测试数据的优点是数量大且可以自动生成,但缺点是可能无法覆盖某些特殊情况,导致漏洞。 对于提交的代码,一本通 OJ 题库会对其进行编译和运行,然后与测试数据进行比较,判断代码的正确性和效率。如果代码通过了测试数据,就会被判定为正确,否则会被判定为错误,并给出具体的错误信息,供用户进行调试和改进。 综上所述,一本通 OJ 题库的测试数据是一个重要的组成部分,它可以帮助用户测试代码的正确性和运行效率,提高用户的编程技能,同时也可以帮助出题人设计更好的题目,并保证题目的质量和难度。 ### 回答2: 一本通 oj题库是一个在线的程序设计竞赛平台,提供了丰富的编程题目和测试数据。测试数据是用于对程序进行测评的输入和输出数据集合。在题目描述中,会对问题进行详细的解释和要求,并提供多组测试数据作为样例,让程序员运行他们的代码,并得到程序的输出结果。 测试数据通常包括正向测试数据和反向测试数据。正向测试数据是指符合题目条件的测试数据,覆盖了大多数情况,测试程序是否正确;而反向测试数据则是用于测试程序是否能够正确处理异常情况。 在使用一本通 oj题库时,程序员不仅需要通过编写算法和程序的方式解决问题,还需要通过分析测试数据来判断自己的代码是否正确。而一本通 oj题库的丰富数据集合为程序员提供了充足的测试数据,帮助程序员准确地检测代码中存在的漏洞和错误。 总之,一本通 oj题库提供了全面的测试数据来测试程序员的代码是否满足题目描述和要求,是程序员进行程序设计竞赛、算法练习和编程学习的良好平台

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值