iCourse课程平台beta阶段测试报告
本报告由“烫烫烫烫烫”团队撰写
测试环境及工具
- 此部分与alpha阶段一样
- windows10/selenium/jmeter/badboy/firefox/chrome/IE
- Mac/safari
- 本着尽可能使用自动化测试的原则,又考虑到测试人员对java更为熟悉,因此功能测试使用java版本的selenium,首先由firefox的selenium IDE插件录制测试用例,导出为java/Junit4/webdriver格式的代码,手动修改部分代码使之能够正常运行,回归测试时只需重新运行即可。本着效率优先的原则,合理分配手工测试和自动化测试。
- 负载测试采用jmeter和badboy实现,首先由badboy录制测试用例,导出为jmx格式,jmeter可直接使用,通过设置jmeter运行时的线程数控制网站负载,完成负载测试和压力测试。
测试用例(仅列出文件名,具体代码请查看github项目的doc分支)
- beta阶段,测试人员在录制测试用例时,导出的录制脚本在运行时与预期的行为不符,由于前端使用的是vue,没法直接为网站页面元素加唯一的id属性以方便测试程序定位元素,因此元素定位十分困难,本着效率优先的原则,功能测试阶段全部使用人工测试,压力测试仍使用jmeter进行测试。
- beta阶段负载测试代码:beta_load_test.jmx
错误报告
beta阶段共发现bug23处,现已全部解决,详情请见github项目的issue。
2017.11.18(alpha阶段遗留问题)
- (未解决)登录http://buaaicourse.com/course/page/31/,点击资源“第十三章.zip”,点击“下载资源”,会提示进行统一认证,输入账号密码后会显示页面不存在。重新点击“下载资源”,直接进入403 forbidden。(此问题为课程中心资源的问题,目前无法解决)
负载&压力测试
- 测试下载的资源认为工科数学分析的ppt,理由请见alpha相关说明。
jmeter中设置用户数为30,循环次数为“永远”,运行起始时间为2017.12.23 00:30, 运行结束时间为2017.11.25 00:34, 平均请求响应时间为3.6s,错误率为0,30个用户,3.6s的平均响应时间偏慢,响应最慢的url是course/contrib,这个是计算课程的用户贡献度的,速度比较慢的原因推测是每次计算课程用户复杂度时,都要重新遍历数据库,重新计算用户贡献度,因此较慢,具体数据见下图:
测试人员同样尝试了用户数为35,33,31的情况,运行10min左右后,发现均会出现微小的错误,大约千分之几到百分之几的样子,这说明30个用户已是网站的最大负载。
- 2017.12.28 将服务器上运行的进程数由1增加到10,最大负载增加到141个用户。尝试142/143个用户时都会出现微小错误。
2017.12.29 经过刘畅同学和赵奕同学的优化,平均响应时间降至1.4s,较第一次测试的平均响应时间降低61%,最大用户数不变。
场景测试
学霸级:
- 不屑于学院安排的课程,对课外知识涉猎更多,利用平台进行知识与经验的分享
想学的课太多,很多知识都想了解一下,通过这个平台可以获取到感兴趣课的课件
解决方案:
- 下载(针对需求一):登陆buaaicourse.com,搜索栏中输入课程名称搜索,在搜索结果中点击“进入课程”进入相应课程,点击“全部资源”,进入资源页面,点击想要下载的资源,在弹出的窗口中点击“下载资源”即可。
- 上传(针对需求二):进入课程页面后点击“上传资源”
- 访问课程论坛(针对需求二):登陆课程页面后点击“进入课程论坛”即可浏览论坛中的帖子,并发帖、跟帖或评论。
普通级:
- 即将面临研究生考试,有些方,希望能在平台上得到比较靠谱的考研指点
- 学习很努力,善于做笔记,记录自己学习的点滴收获
趁着假期对下学期的课程进行预习
解决方案
- 下载(针对需求三):登陆buaaicourse.com,搜索栏中输入课程名称搜索,在搜索结果中点击“进入课程”进入相应课程,点击“全部资源”,进入资源页面,点击想要下载的资源,在弹出的窗口中点击“下载资源”即可。
- 上传(针对需求一、二):进入课程页面后点击“上传资源”
- 访问课程论坛(针对需求一、二):登陆课程页面后点击“进入课程论坛”即可浏览论坛中的帖子,并发帖、跟帖或评论。
学弱级:
平时浪太多,期末压力大,利用平台进行知识恶补
解决方案:
- 下载:登陆buaaicourse.com,搜索栏中输入课程名称搜索,在搜索结果中点击“进入课程”进入相应课程,点击“全部资源”,进入资源页面,点击想要下载的资源,在弹出的窗口中
测试矩阵
针对alpha阶段已实现功能重新测试
操作系统 | 硬件配置 | 浏览器类型 | 注册功能 | 登录功能 | 按系别搜索课程 | 搜索栏搜索课程 | 上传资源功能 | 下载资源功能 | 课程全部资源页面 | 资源上传页面 | 资源下载页面 | 课程搜索页面 | 课程页面 | 个人中心页面 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
win10 | 8G内存,64位cpu | chrome | 通过 | 通过 | 通过 | 通过 | 通过 | 下载部分zip文件有问题 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
win10 | 8G内存,64位cpu | firefox | 通过 | 通过 | 通过 | 通过 | 通过 | 下载部分zip文件有问题 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
win10 | 8G内存,64位cpu | IE11 | 通过 | 通过 | 通过 | 通过 | 通过 | 下载部分zip文件有问题 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
win10 | 8G内存,64位cpu | edge | 通过 | 通过 | 通过 | 通过 | 通过 | 下载部分zip文件有问题 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
mac | 8G内存,64位cpu | Safari | 通过 | 通过 | 通过 | 通过 | 通过 | 下载部分zip文件有问题 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
win10 | 8G内存,64位cpu | 360极速浏览器 | 通过 | 通过 | 通过 | 通过 | 通过 | 下载部分zip文件有问题 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
win10 | 8G内存,64位cpu | QQ浏览器 | 通过 | 通过 | 通过 | 通过 | 通过 | 下载部分zip文件有问题 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
win10 | 8G内存,64位cpu | UC浏览器 | 通过 | 通过 | 通过 | 通过 | 通过 | 下载部分zip文件有问题 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
针对beta阶段新增功能测试
操作系统 | 硬件配置 | 浏览器类型 | 同袍登录 | 论坛发帖 | 论坛跟帖 | 论坛评论 | 收藏资源 | 编辑个人信息 | 查看热门资源 | 查看热门帖子 | 查看最新帖子 | 查看最新帖子 | 查看课程贡献分 | 资源评价 | 帖子评价 | 修改帖子内容 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
win10 | 8G内存,64位cpu | chrome | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
win10 | 8G内存,64位cpu | firefox | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
win10 | 8G内存,64位cpu | IE11 | 通过 | 不通过 | 不通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 不通过 |
win10 | 8G内存,64位cpu | edge | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
mac | 8G内存,64位cpu | Safari | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
win10 | 8G内存,64位cpu | 360极速浏览器 | 通过 | 不通过 | 不通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 不通过 |
win10 | 8G内存,64位cpu | QQ浏览器 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
win10 | 8G内存,64位cpu | UC浏览器 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 | 通过 |
建议:推荐使用chrome,firefox,edge,safari等主流浏览器。
出口条件(与alpha阶段一样)
- 核心功能能够正常运行且无重大bug