项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2019春季计算机学院软件工程(任健) |
这个作业的要求在哪里 | 作业要求 |
我们在这个课程的目标是 | 规范工程流程,培养工程能力 |
这个作业在哪个具体方面帮助我们实现目标 | 系统总结测试人员的测试思路,找出不足以待后续阶段改进 |
测试计划
使用selenium自动化测试与手工测试结合,根据网页功能划分测试任务。李青阳同学负责URL访问方面的测试以及多机型测试,汪慕澜同学负责用户登录注册、用户评论方面的测试。
测试过程
一键运行的自动化测试,图片中的操作和评论内容均为随机生成。
利用自动化脚本控制点击导航栏“返回主页”、“Rank”按钮;
利用自动化脚本进行首页搜索功能的测试;
部分新功能采用手工测试。
测试结果
selenium自动测试通过
1.在测试过程中发现了多少Bug?有哪些是Beta阶段的新Bug?有哪些是Alpha阶段没有发现的Bug?
Beta阶段发现的新Bug:
- 在评价页面存在单个用户可以重复点赞现象(已修复).
- 邮箱注册后会出现无响应(已修复)
- 使用超大照片上传为头像后会无响应(已修复)
- 部分老师没有合并,例如教计算机体系结构的龙翔和教操作系统的龙翔实际上是一个老师,但是在Beta版本网站中拥有不同的教师信息页面。
Alpha阶段未发现的Bug:
无
其它:
- 对IE浏览器的支持较差:用户无法查看已有评论、无法进行点赞和点踩等;
- 搜索结果的分页显示机制存在问题:当结果数为10的倍数时,最后会多一个空白页。一个样例是学校选择北航,学院选择数学与系统科学学院,关键字不填。
2.你是怎么进行场景测试(scenario testing)的?包括你预期不同的用户会怎样使用你的软件?他们有什么需求和目标?你的软件提供的功能怎么组合起来满足他们的需要?
场景测试A:
同学小A是一位北航计算机学院的黑客,熟练掌握网络攻防知识。在使用我们网站的正常功能的同时,他也喜欢给我们的网站友好地找一些bug,包括尝试直接向网站post数据、大量注册用户等等。我们在Beta阶段针对安全性进行了大量完善(包括但不限于评论转义、非法字段识别、登录注册时采用验证码进行验证),能够有效阻止小A使用的一些初级网络攻击手段。
场景测试B:
同学小B是本网站的重度使用用户。有一次他看到另一个用户小Z给“软件工程”课评了满分并且大力赞扬,他对此将信将疑,想看一看小Z同学的历史评分记录。于是他通过点击小Z的用户名进入了小Z的用户主页,查看其历史评分。我们在Beta阶段允许用户访问其他用户的主页并查看历史评分记录,保证了用户评分的透明性,增加了用户之间的信息交流。
场景测试C:
同学小C是软件工程某位老师的粉丝,他在Alpha阶段的时候使用了我们的网站,很遗憾地表示为什么网站没有他所喜欢的老师的主页。我们在Beta阶段增加教师主页,查看喜爱老师的个人信息,一键直达教师官网。
3.你是否有回归测试确保新功能的加入没有影响已有功能?请给出一到两个测试用例并解释。
针对教师主页的测试:教师主页是独立于所有alpha阶段页面之外的独立页面的,其入口只出现在两个页面——搜索结果页面和和课程评论页面,在者两个页面的selenium自动测试中我们加入模拟点击即可测试。其中教师姓名是从根据已有的数据文件建立Dataframe测试的。该测试是建立在Alpha阶段测试基础上的,同样也需要登陆和搜索关键字,这部分代码在Alpha测试部分已经完成,并且在Beta部分也将继续运行测试。
self.driver.find_element_by_xpath("//a[text()='教师姓名']").click()
4.给出你的测试矩阵,也即在什么样的平台、硬件配置、浏览器类型……上对你的软件进行测试?
浏览器 | 页面排版 | 图片显示 | 搜索结果显示 | 页面切换 | 登录注册 | 信息修改 | 退出登录 | 搜索课程 | 查看课程信息 | 撰写评论 | 查看近期评论 | 查看相关课程老师 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Internet Explorer | 导航栏在除了主页的地方失效 | 正常 | 正常 | 个别情况出现空白页 | 正常 | 正常 | 正常 | 正常 | 无法显示评价正文 | 正常 | 正常 | 正常 |
Microsoft Edge | 正常 | 正常 | 正常 | 个别情况出现空白页 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Chrome | 正常 | 正常 | 正常 | 个别情况出现空白页 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
百度浏览器 | 评论正文偏离边框 | 正常 | 正常 | 个别情况出现空白页 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Safari | 正常 | 正常 | 正常 | 个别情况出现空白页 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
注:Safari浏览器在macOS上运行,其它浏览器在Windows10上运行。
4.你的软件Beta版本的出口条件是什么?也即在什么条件下,认定你的软件已经足够好,可以发布Beta版本?
功能 | 检查项 | 出口条件 |
---|---|---|
首页 | 页面元素布局 | 在Chrome(for Windows), Safari(for macOS)浏览器,主流分辨率下能够正常浏览,在手机上用户可以获取到正确的页面信息 |
注册 | 点击相应链接能正常弹出注册相应输入框 | |
所有信息填写规范后能够成功发送邮箱验证 | ||
邮箱验证后能够成功注册 | ||
登录 | 点击导航栏登录按钮能正常弹出相应输入框 | |
能够正常出现验证码 | ||
填写正确信息和验证码后可以正常登陆 | ||
课程信息 | 搜索 | 在搜索框键入关键字后,返回与关键字相匹配的课程名(顺序无所谓) |
支持通过“选择学校”、“选择专业”复选框限定搜索范围(仅出现在首页,专业排布的顺序无所谓) | ||
分页浏览情况下,翻页功能工作正常 | ||
课程评分评价 | 课程信息对应准确 | |
已有评论能够正常显示 | ||
非登录状态下用户不能评论 | ||
登录状态下,正确填写了所有内容后的评论能够被接受 | ||
在评分页面中,各评分项能够正常展示和填写 | ||
在评分页面中,可以正常点击教师姓名跳转到教师信息页面 | ||
评价总览页面中,可以正常点赞和点踩 | ||
个人信息 | 修改 | 个人信息页面可以提交更新所允许分辨率的照片 |
点击“修改个人信息”可以弹出信息提交框 | ||
信息提交框提交后能正确更新个人信息 | ||
查看 | 可以正确显示评价历史记录 | |
点击“详情”可以正确跳转到对应的评价页面 | ||
教师信息 | 查看 | 可以正确显示教师照片或默认头像 |
可以正确显示教师姓名 | ||
对于部分拥有个人主页的教师,点击“点此跳转”后,可以抵达学院官网的教师信息页 | ||
可以正确显示教师所有教授课程和评分信息 | ||
点击教师的课程后可以正确跳转到对应课程信息页面 | ||
其它 | 页面内逻辑 | 跳转逻辑正确 |
反馈 | 非法操作会弹出相应提示 |