1.测试概述
1.1综述
本测试报告为计算机程序能力在线测评系统的黑盒测试,黑盒测试可以在不知道程序内部结构和代码的情况下进行,用来测试软件功能是否符合用户需求,是否达到用户预期目标,是否拥有较好的人机交互体验。
图1.1 黑盒测试流程
1.2测试任务与测试范围
主要功能包括:①登录模块,②在线考试模块,③试题管理模块,④生成试卷模块,⑤成绩查询模块。
测试主要根据用户的需求说明书和软件需求规格说明书以及相应的文档进行上述功能的测试。
表 1.1 功能分解总览
图1.2 功能分解后总览
1.3缺陷等级划分
表 1.2 缺陷等级划分
等级 | 描述 | 说明 |
---|---|---|
5-紧急 | 发现可重复出现的致命问题 | ——导致系统崩溃; ——导致程序模块丢失; ——主业务流程出现断点; ——内存泄漏; ——导致死机 |
4-非常高 | 发现可重复出现的严重问题 | ——被测功能不能正确实现; ——软件错误导致数据丢失; ——被测数据处理错误; ——用户需求未实现。 |
3-高 | 一般性的错误或功能实现有不完美处 | ——操作界面错误; ——打印内容、格式错误; ——简单的输入限制未放在前台进行控制; ——删除操作未给出提示。 |
2-中 | 细小的错误 | ——界面不规范; ——辅助说明描述不清楚; ——输入输出不规范; ——长操作未给用户提示; ——提示窗口文字未采用行业术语。 |
1-低 | 建议类错误 | 需求说明书、用户手册中未说明,但影响用户对软件使用的方便性等 |
2.测试步骤与测试目的
2.1 测试环境与工具
表 2.1测试环境与工具
软件 | 硬件 |
---|---|
Browser:Chrome浏览器与IE浏览器 OS:Window10与MacOS | >10M带宽网络 >512M内存 2G硬盘/SSD intel处理器 |
2.2 黑盒测试步骤
- 设计测试计划
- 等价类划分
- 边界值分析
- 以功能为单位,根据等价类划分和边界值分析的结果进行测试的执行
- 其他黑盒测试方法
3.功能测试
3.1 登录系统
图3.1 登录系统样式
表3.1 登录系统等价类划分
输入等价类 | 有效等价类 | 无效等价类 |
---|---|---|
邮箱地址 | ①以字符数字下划线组成的字符+@+域名地址 | ③没有@ ④@前为空 ⑤@后为空 ⑥含有非法字符 ⑨输入已存在的名称 |
密码 | ②以字符数字下划线组成的不少于8位的字符串不超过20位 | ⑦密码长度少于8位 ⑧密码长度大于8位 |
表3.2 登录系统功能测试
编号 | 场景/条件 | 操作/输入(等价类) | 预期结果 | 实际结果 |
---|---|---|---|---|
testlogin001 | 用户登录 | ①:644327005@qq.com ② : cdscdsc | 在用户名和密码验证码正确情况下正确登录系统 当用户名密码验证码其中一项不正确给出准确错误信息 | 密码正确登录成功 密码错误登录失败 |
testlogin002 | 用户登录 | ③:qq.com | 无法点击登录按钮 | 无法点击登录按钮 |
testlogin003 | 用户登录 | ④:@qq.com | 无法点击登录按钮 | 无法点击登录按钮 |
testlogin004 | 用户登录 | ⑤:ddd@ | 无法点击登录按钮 | 无法点击登录按钮 |
testlogin005 | 用户登录 | ⑥:\ncr | 无法点击登录按钮 | 无法点击登录按钮 |
testlogin006 | 用户登录 | ⑦:xds | 无法点击登录按钮 | 无法点击登录按钮 |
testlogin007 | 用户登录 | ⑧:cdscdfcvdfvcdfvdfvdfd | 无法点击登录按钮 | 无法点击登录按钮 |
testlogin008 | 忘记密码 | 点击找回忘记密码,根据提示找回了密码 | 进入找回密码页面 | 进入找回密码页面 |
testlogin009 | 记住我 | 重新打开浏览器 | 密码自动保存 | 密码自动保存 |
testlogin010 | 验证码滑块 | 将滑块移动到对应的位置 | 验证通过 | 验证通过 |
testlogin011 | 用户登录 | ⑨:admin | 用户名存在 | 用户名存在 |
testlogin012 | 用户登录 | 利用复制,粘贴等操作强制输入密码 | 无法复制粘贴 | 可以复制粘贴 |
3.2 学生在线测试
图3.2 在线测试选题页面样式
表3.3 在线测试部分的功能测试
编号 | 场景/条件 | 操作/输入(等价类) | 预期结果 | 实际结果 |
---|---|---|---|---|
testloj001 | 选择题目列表 | 点击题目列表按钮 | 显示题目列表 | 显示题目列表 |
testloj002 | 选择提交列表 | 点击提交列表按钮 | 显示提交列表 | 显示提交列表 |
testloj003 | 选择排名 | 点击排名按钮 | 显示排名 | 显示排名 |
testloj004 | 选择题号 | 点击题号 | 进入当前题目 | 进入当前题目 |
testloj005 | 选择提交反馈 | 点击提交反馈按钮 | 自动跳出当前系统的邮件APP,当前页面不动 | 自动跳出当前系统的邮件APP,跳转至未知页面 |
图3.2 在线测试答题页面样式
表3.4 代码文本的等价类划分
输入等价类 | 有效等价类 | 无效等价类 |
---|---|---|
输入相应代码文本 | ①基于utf-8编码组成的一定长度的字符串 | ②空字符 ③大于10万行的超长基于utf-8编码组成 |
表3.5 在线测试的功能测试
编号 | 场景/条件 | 操作/输入(等价类) | 预期结果 | 实际结果 |
---|---|---|---|---|
testloj006 | 输入代码,点击提交按钮 | 输入等价类①,点击提交 | 显示该代码相应的结果(包括答案正确,编译错误,段错误,超时等) | 预期结果正常 |
testloj007 | 输入代码,点击提交按钮 | 输入等价类②,点击提交 | 无法提交,或显示答案错误 | 提交按钮为空 |
testloj008 | 输入代码,点击提交按钮 | 输入等价类③,点击提交 | 显示该代码相应的结果(包括答案正确,编译错误,段错误,超时等) | 显示网站崩溃或服务器错误 |
testloj009 | 点击显示提交结果 | 点击该按钮 | 能够看到相应的提交结果 | 能够看到相应的提交结果 |
testloj010 | 检查代码编辑器 | 检查shift选中条目,按ctrl选中条目和直接用鼠标选中多项条目的情况 | 能够选中相应位置的代码,能够复制与粘贴 | 能够选中相应位置的代码,能够复制与粘贴 |
testoj011 | 滚动条上下移动 | 拖动滚动条,检查屏幕刷新情况,并查看是否有乱码 | 刷新正常,无乱码 | 刷新正常,无乱码 |
图3.3 testloj008测试用例1(300万行代码)
图3.4 testloj008测试用例2(276万行代码)与结果1
图3.5 testloj008显示结果2
3.3 成绩查询
图3.6 成绩查询页面
表3.6 成绩查询的功能测试
编号 | 场景/条件 | 操作/输入(等价类) | 预期结果 | 实际结果 |
---|---|---|---|---|
testlsc001 | 选择其他页面按钮 | 点击其他页面按钮 | 转到其他页面 | 转到其他页面 |
testlsc002 | 查看下一页 | 点击下一页按钮 | 进入下一页 | 进入下一页 |
testlsc003 | 选择排名 | 点击排名按钮 | 显示排名 | 显示排名 |
3.4 试题管理与考试管理
该部分需要管理员账号,因此该部分无法进行实际测试。因此,根据逆向工程的结果,设计测试用例。
表3.7 题管理与考试管理的功能测试
编号 | 场景/条件 | 操作/输入(等价类) | 预期结果 | 实际结果 |
---|---|---|---|---|
testadmin001 | 查看题库 | 管理员点击题库 | 可以查看查看题库的所有类型 | |
testadmin002 | 退出题库 | 管理员点击关闭题库,不做任何操作,点击关闭按钮 | 系统退出 | |
testadmin003 | 提交题库 | 管理员点击题库,连续点击保存多次提交 | 操作不会重复执行,数据不会重复提交 | |
testadmin004 | 新增题库 | 管理员点击新增题库 | 页面将跳到新建页面,最大可以输入的汉字字数符合实际;有效字符的验证(不是所有的字符都可以保存) | |
testadmin005 | 保存题库 | 输入所有必填项,点击保存按钮 | 可以在题库管理的列表中看到新添加的题库 | |
testadmin006 | 删除题库 | 管理员选择某一题库记录再点击删除按钮,并确认 | 选择的题库被删除,返回列表 | |
testadmin007 | 查询题库 | 在文本框里面输入题库名称 | 可以查询其题库,双击题库记录可以查看题库的详细信息 | |
testadmin008 | 进入测试记录管理 | 管理员点击测试里面的测试记录管理 | 可以查看测试记录管理的全部列表 | |
testadmin009 | 查询测试记录 | 在文本框里面输入测试记录管理名称 | 可以查询其测试记录管理,双击测试记录管理记录可以查看测试记录管理的详细信息 |
3.5 Web安全性测试
表 3.8安全性测试项目
编号 | 大类 | 细项 | 结果 |
---|---|---|---|
testse001 | 上传 | 绕过图片(头像)上传检查 | 安全 |
testse002 | 上传文件大小和次数限制 | 安全 | |
testse003 | 登录功能 | 注册请求是否安全传输 | 安全 |
testse004 | 注册时密码复杂度是否后台检验 | 安全 | |
testse005 | 激活链接测试 | 安全 | |
testse006 | 重复注册 | 安全 | |
testse007 | 批量注册问题 | 安全 | |
testse008 | 登录请求是否安全传输 | 安全 | |
testse009 | 会话固定 | 安全 | |
testse010 | 关键Cookie是否HttpOnly | 安全 | |
testse011 | 登录请求错误次数限制 | 安全 | |
testse012 | “记住我”功能 | 安全 | |
testse013 | 本地存储敏感信息 | 安全 | |
testse014 | 验证码 | 验证码绕过 | 安全 |
testse015 | 短信验证码轰炸 | 安全 | |
testse016 | 验证码的一次性 | 安全 | |
testse017 | 找回密码 | 找回密码 | 安全 |
testse018 | SQL注入测试 | SQL注入测试 | 安全 |
testse019 | URL重定向测试 | URL重定向测试 | 安全 |
testse020 | 敏感信息泄露 | SVN信息泄露 | ?(未知) |
testse021 | 页面泄露敏感信息 | 安全 |
4.测试总结
本系统主要功能包括:①登录模块,②在线考试模块,③试题管理模块,④考试管理模块,⑤成绩查询模块。
下面给出本系统的黑盒测试结果:
表4.1 测试总结
系统名称 | 计算机程序能力在线测评系统 | |
---|---|---|
测试人员(负责人) | OmegaXYZ.com | |
测试方法 | 黑盒测试(等价类划分) | |
登录模块 | testlogin012(缺陷等级2) | |
在线考试模块 | testloj005(缺陷等级1)、testloj008(缺陷等级3) | |
试题管理模块 | \ | |
考试管理模块 | \ | |
成绩查询模块 | 正常 | |
安全性测试 | 基本安全 | |
测试日期 | 2019年4月15日星期一 | |
缺陷审核员核准 | ||