哈尔滨工业大学
计算学部/软件学院
2022年秋季学期
2020级本科《软件过程与工具》课程(3.0学分)
作业报告
作业3:软件测试报告
姓名 |
学号 |
联系方式 |
石卓凡 |
120L021011 |
[email protected]/18974330318 |
目 录
1 作业目的与要求........................................................................................................ 1
2 软件测试环境搭建.................................................................................................... 1
2.1 自定测试项目环境搭建.................................................................................. 1
2.2 指定软件系统测试环境搭建.......................................................................... 1
2.2.1 环境配置描述............................................................................................... 2
2.2.2 搭建过程描述............................................................................................... 2
3 软件测试过程及结果................................................................................................ 2
3.1 白盒测试(单元测试).................................................................................. 2
3.1.1 顺序结构程序测试....................................................................................... 2
3.1.2 分支结构程序测试....................................................................................... 5
3.1.3 循环结构程序测试....................................................................................... 9
3.2 集成/系统测试............................................................................................... 15
3.2.1 学校本科生统一身份认证系统部分功能模块测试................................. 15
3.2.2 学校本科生门户平台系统UI可用性测试与评价.................................. 21
(1)学习软件测试的基本方法;
(2)实践软件测试的基本过程;
(3)掌握单元测试、集成测试的方法;
(4)掌握白盒测试和黑盒测试的基本方法;
(5)学习UI的基本测评和用户体验;
(6)本次作业要求主要由个人独立完成。
X64 CPU;2GHz;2G RAM;256GHD Disk 以上
Windows7/10 64位以上;VirtualBox/Vmware 11以上;Ubuntu 16.04 LTS 64位/优麒麟 64位 以上;
IDEA
下载IDEA
软件构造Lab3---投票系统部分代码
X64 CPU;2GHz;2G RAM;256GHD Disk 以上
Windows7/10 64位以上;VirtualBox/Vmware 11以上;Ubuntu 16.04 LTS 64位/优麒麟 64位 以上;
Google浏览器
EasyConnect校内网
哈工大统一身份认证,今日哈工大
http://ids-hit-edu-cn-s.i.hit.edu.cn/
3.1.1.1测试对象
源代码
流程图
根据传入的Map,创建一个投票类型对象
图3.1.1.1流程图
3.1.1.2测试用例设计
分类 |
细则 |
样例 |
|
不存在投票选项 |
空白 |
Null |
|
存在投票选项 |
Key符合条件 |
options2.put("喜欢",2); options2.put("不喜欢",0); options2.put("无所谓",1); |
|
Key不符合条件 |
options3.put("特别特别的喜欢",2); options3.put(" ",0); options3.put("无 所 谓",1); |
3.1.1.3测试过程与结果
测试步骤:
针对VoteType(Map
1.不存在投票选项
2.存在投票选项
2.1Key符合条件
2.2Key不符合条件
结果:
3.1.1.4 Driver或Stub程序的编制
3.1.2.1测试对象
源代码
流程图
根据满足特定语法规则的字符串,创建一个投票类型对象
@param regex 遵循特定语法的、包含投票类型信息的字符串(待任务12再考虑)
该字符串的语法规则如下:
// “喜欢”(2)|“不喜欢”(0)|“无所谓”(1)
// 其中,用双引号括起来的文字部分是一个投票选项,长度不超过 5,其中不
// 允许出现空格;用括号括起来的数字是投票选项对应的分数,可以是正整数、0
// 或负整数,不能带小数,正整数不需要使用“+”,但负整数需要使用“-”;不同
// 的投票选项之间用“|”隔开。
// 也可以用如下形式:
// “支持”|“反对”|“弃权”
// 与上面的例子相比,区别是没有分数。这种情况表明各个投票选项的权重是一样的
3.1.2.2测试用例设计
分类 |
细则 |
样例 |
匹配有数字模式 |
不含负数 |
"喜欢"(2)|"不喜欢"(0)|"无所谓"(1) |
含负数 |
"喜欢"(-2)|"不喜欢"(0)|"无所谓"(1) |
|
匹配无数字模式 |
不超过5个长度 |
"支持"|"反对"|"弃权" |
超过5个长度 |
"支持"|"反对"|"弃权"|"超级支持"|"超级弃权"|"超级超级支持" |
|
无法匹配正常模式 |
"支持(1)"|"反对"|"弃权" |
3.1.2.3测试过程与结果
测试步骤:
测试成功:
1.测试带数字的
1.1不含负数
1.2含负数
2.测试不带数字的
测试抛出异常:
1,超过5个长度
2.格式不对
结果:
3.1.2.4 Driver或Stub程序的编制
3.1.3.1测试对象
源代码
图3.1.3.2.1流程图
3.1.3.2测试用例设计
checkVote测试
四种共用不合法选票的测试
选票不合法情况:
一张选票中没有包含本次投票活动中的所有候选人
一张选票中包含了不在本次投票活动中的候选人
一张选票中出现了本次投票不允许的选项值
一张选票中有对同一个候选对象的多次投票
候选人candidate1.candidate2,candidate3,candidate4
投票人vr1,选票为空
投票人vr2,选票里candidate5,candidate1,candidate2,candidate3
投票人vr3,选票里有candidate1.candidate2,candidate3,candidate4但是出现了本次投票不允许的选项值”like"
投票人vr3,选票里有candidate1.candidate2,candidate5,candidate4
投票人vr4,选票里有candidate1.candidate2,candidate3,candidate5
分类 |
细则 |
样例 |
0次循环 |
从循环入口直接跳到循环出口 |
投票人vr1,选票为空 |
1次循环 |
查找循环初始值方面的错误 |
投票人vr2,选票里candidate5,candidate1,candidate2,candidate3 |
2次循环 |
检查在多次循环时才能暴露的错误 |
投票人vr3,选票里有candidate1.candidate2,candidate3,candidate4但是出现了本次投票不允许的选项值”like" |
m次循环 |
此时的m<n,也是检查在多次循环时才能暴露的错误 |
投票人vr3,选票里有candidate1.candidate2,candidate5,candidate4 |
最大次数循环 |
投票人vr4,选票里有candidate1.candidate2,candidate3,candidate5 |
3.1.3.3测试过程与结果
测试步骤:
候选人candidate1.candidate2,candidate3,candidate4
投票人vr1,选票为空
投票人vr2,选票里candidate5,candidate1,candidate2,candidate3
投票人vr3,选票里有candidate1.candidate2,candidate3,candidate4但是出现了本次投票不允许的选项值”like"
投票人vr3,选票里有candidate1.candidate2,candidate5,candidate4
投票人vr4,选票里有candidate1.candidate2,candidate3,candidate5
3.1.3.4 Driver或Stub程序的编制
http://i-hit-edu-cn.i.hit.edu.cn:1080/index#/app/home/index
3.2.1.1测试用例设计
本科生统一身份认证系统
测试样例 |
预期结果 |
最终结果 |
测试空白用户名和密码输入 |
提示空白输入 |
√ |
测试空白密码输入 |
提示空白密码输入 |
√ |
测试正确用户名和密码输入登录 |
成功登录,跳转主页 |
√ |
测试哈工大APP扫码登录 |
成功登录,跳转主页 |
√ |
测试QQ登录 |
成功登录,跳转主页 |
×无法使用qq登录 |
测试微信登录 |
成功登录,跳转主页 |
√ |
测试一周内免密登录 |
一周内都能免密成功登录,跳转主页 |
×无法一周内免密 |
测试忘记密码找回密码 |
成功找回密码 |
√ |
测试账号激活功能 |
跳转到账号激活页面,能完成功能 |
√ |
测试登录页面帮助文档 |
文档能够说明登录时候的大部分问题 |
√ |
3.2.1.2测试过程与结果
结果:提示请输入用户名
符合预期√
结果:提示请输入密码
符合预期√
结果:成功登录并跳转主页
符合预期√
结果:弹出扫码框并且最后可以成功登录
符合预期√
结果:失败,调用QQ登录或许存在一些bug没以后解决
不符合预期×
结果:弹出扫码框并且最后可以成功登录
符合预期√
结果:一周内没有一直免密登录,未到一周就会提示需要重新登录
不符合预期×
结果:成功跳转到忘记密码页面,能够实验修改密码
符合预期√
结果:成功跳转到账号激活页面,能够激活账户
符合预期√
结果:成功跳转到帮助文档
符合预期√
3.2.2.1测试用例设计
测试样例 |
预期结果 |
最终结果 |
缺省值,登录成功跳转到缺省值 |
默认展示主页 |
√ |
输入验证,验证输入的学工号是否符合规范 |
提示学工号不符合规范 |
×无法提示学工号规范格式 |
系统响应,点击某个功能之后之后快速响应 |
快速跳转到新页面 |
×相对于其他网站,速度较慢 |
信息反馈,对于已经删除的校内新闻是否会给出提示 |
提示该内容已被删除 |
√ |
3.2.2.2测试过程与结果
结果:登陆成功会跳转到首页
符合预期√
结果:没有提示用户名固定格式出错,而是简单提示用户名或密码有错
不符合预期×
结果:快速点击多个校内新闻,跳转打开速度较慢
不符合预期×
结果:校内过时新闻会提示访问页面不存在
符合预期√
3.2.2.3 UI可用性即用户体验评价结果
当前效果 |
可以改进为 |
在主页面的动态效果太少,多数是静态效果 |
可以多一点动态新闻图片展示 |
每一条新闻没有评论功能 |
添加评论功能 |
没有快速点开个人常用应用 |
添加某个用户自己最常用的应用列表 |
没有网站指引说明 |
添加网站指引说明 |
主页一大篇幅我的待办功能略显鸡肋 |
可以调整我的待办的位置 |