UltraSoft - Beta - 测试报告
UltraSoft - Beta - 测试报告
在测试过程中发现了多少Bug?有哪些是Beta阶段的新Bug?有哪些是Alpha阶段没有发现的Bug?
很多Bug在开发阶段就已经经过测试了,我们在Beta阶段采用了Pull Request的协作方式,前后端完成新功能需要进行连接测试之后才会merge到主分支Master,所以在连接测试的过程中就可以发现Bug并修复解决,在完成的覆盖测试中并没有特别多的Bug出现。
Beta阶段的Bug
在Beta阶段,我们增加了对后端数据库API调用的验证,如果请求中没有我们需要验证的数据则拒绝,所以在每个后端函数的开头加上了一个判断,然而在用户个人设置中,取出验证数据的方式有误,导致调用会出现 500 Internal Error 的错误,由于平时使用不多,没有发现,在覆盖测试中该bug才被揪出来。
Alpha阶段没有发现的Bug
在更新课程信息的爬虫中,在爬取个人课程ddl时使用了作业的url作为主键,然而在Beta开发阶段中发现存在同一个作业被创建了两次的情况——完成作业前和完成作业后,经过对比发现是课程中心的作业链接发生了变化:在完成作业前所有人是统一的链接,在完成作业后每个人的提交生成了一个submissionId被插入到了作业的url中,所以用url当作主键的情况下,完成作业前后的url不同,所以出现了两份作业的情况。
你是怎么进行场景测试(scenario testing)的?包括你预期不同的用户会怎样使用你的软件?他们有什么需求和目标?你的软件提供的功能怎么组合起来满足他们的需要?(仅描述新功能即可)
场景测试又称为场景法,主要用于测试软件的业务过程或业务逻辑,场景法是一种基于软件业务的测试方法。测试人员在测试时要模拟用户在使用软件时的各种场景,大致模拟两类:
- 模拟用户正确的业务操作过程—验证的是功能是否正确
- 模拟用户错误的业务操作过程—验证的是程序的异常处理能力(健壮性)
场景法主要测试软件的业务逻辑和业务流程。当拿到一个测试任务时,我们并不是先关注某个控件的细节测试(等价类+边界值,判定表等),而是先要关注功能的主要业务流程和主要功能是否正确实现,这就需要使用场景法。当业务流程和主要功能没有问题,我们再从等价类、边界值、判定表等方面对控件细节进行测试(先整体后细节)
我们在开发过程中会对新增的需求进行测试,并不在最后的覆盖测试中进行,原因是场景测试所需要模拟的操作组合众多,堆积在一起测试会造成任务量的繁重,所以需要走一步测一步。
在新功能的场景测试中,我们会对所有的可以点击的按钮进行组合点击(因为按钮少所以可以人力全覆盖),包括一些错误的业务操作,如填写日程之后点击关闭而不是取消,在个人信息修改界面修改密码之后没有确认保存直接退出等等。因为我们的大多数操作都是点击响应的,页面以静态页面为主,没有动态的内容,点击静态页面的按钮才会发送API请求,不设置前端的缓存,所以基本没有错误操作流程。
我们提供的新功能有:
邮件提醒个性化设置:
点击立即发送API,没有前端缓存,不存在错误的操作
如课程视图加入课程通知等:
大多界面都是静态资源请求没有可以错误操作的按钮
设置重复提醒事项
创建新日程前端不设置缓存,错误的操作如填写后点击取消会取消所有的已写内容。
你是否有回归测试确保新功能的加入没有影响已有功能?请给出一到两个测试用例并解释。
我们的Web应用一直投入使用,所以我们的回归测试一部分可以说是交给了用户来替代我们执行,用户的操作会在后台留下操作记录,如果有错误发生会进行记录,从结果来看运行良好,由于功能之间耦合低,大多都是独立功能,所以不会有新功能对原有功能的影响。至于测试用例的话,我们团队日常的使用就是测试用例,核心功能如创建日程,同步课程中心资源等,都是在我们使用后可以发现是否有错误的,比如我们就在使用过程中发现了创建重复日程的Bug并进行了修复。
对于系统的覆盖测试,我们也有一套测试流程,测试结果如下:
其中覆盖率低的有:
- automail.py:0% 这是因为这不是后端调用的函数,而是定时发送邮件提醒的脚本,由Crontab每分钟自动执行。
- webScrap.py:课程中心爬虫脚本,是由Views.py进行传入参数调用,不能自动化执行。
- admin.py:这是Django后端数据库管理页面显示的页面,是面向开发者的界面,里面根据我们调试的需要增加了一些冗余的字段显示,对用户的使用完全没有影响。
- apps.py:这个是Django的声明,未使用。
- views.py:76% 其中存在部分未上线的功能,已经预留接口,所以未测试。
给出你的测试矩阵(test matrix),也即在什么样的平台、硬件配置、浏览器类型……上对你的软件进行测试?
测试使用的浏览器 字体字号
图片大小日历显示 登陆界面
修改密码界面
注册界面保存图片 添加任务界面 查看任务界面 个人信息修改页面 课程界面
(作业/资源/通知)消息中心 用户反馈 Microsoft Edge 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 Google Chrome 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 Firefox 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 Safari 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 你的软件Beta版本的出口条件(exit criteria)是什么?也即在什么条件下,认定你的软件已经足够好,可以发布Beta版本?
- 服务器运行正常
- 核心功能正常
- 新增功能对原有功能无影响
UltraSoft - Beta - 测试报告的更多相关文章
- UltraSoft - Beta - Postmortem事后分析
UltraSoft - Beta - PostMORTEM 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决的问题和定义都在[软软软]功能规格说明书 ...
- UltraSoft - Beta - 项目展示
UltraSoft - DDL Killer - Beta 项目展示 团队介绍 CookieLau fmh 王 FUJI LZH DZ(转出) Monster hdl(转入) PM & 后端 ...
- 【二食堂】Beta - 测试报告
Beta - 测试报告 测试过程中发现的bug Beta阶段的新bug 我们在Beta阶段的开发过程中就进行了测试,发现了许多bug.这其中后端的bug比较多,在这里我列举一些比较重要的功能性bug. ...
- [no_code][Beta]测试报告
项目 内容 2020春季计算机学院软件工程(罗杰 任健) 2020春季计算机学院软件工程(罗杰 任健) 作业要求 测试报告 我们在这个课程的目标是 设计出一个OCR表单处理软件 这个作业在哪个具体方面 ...
- UltraSoft - Beta - 设计与计划
在DDL Killer的Alpha发布版本一周后,我们积累了一定的用户数量和用户反馈,同时也着手准备Beta阶段的继续开发,在正式开始迭代前,先对我们的Beta阶段的需求做一个统计和预估,一是保证工作 ...
- UltraSoft - Beta - 发布声明
1. Beta版本更新内容 新功能 (1)消息中心页面 课程爬取到新DDL.资源时会以通知的方式通知用户,本次同步更新了哪些内容一目了然.此外,当被作为参与成员添加DDL时也会通知.一些系统通知也会放 ...
- UltraSoft - Alpha - 测试报告
遇到的bug bug:在vue.config.js里配置proxy,并修改请求的url后仍无法连接到后端. 解决: url最后忘了'/',导致和后端不匹配,会有404.500等错误. 后端服务未打开或 ...
- UltraSoft - Beta - Scrum Meeting 1
Date: May 17th, 2020. Scrum 情况汇报 进度情况 组员 负责 今日进度 q2l PM.后端 维护Beta阶段文档 Liuzh 前端 增加删除操作按钮 Kkkk 前端 查询增加 ...
- UltraSoft - Beta - Scrum Meeting 2
Date: May 18th, 2020. Scrum 情况汇报 进度情况 组员 负责 今日进度 q2l PM.后端 建立Beta仓库管理增加服务器部署和Git协作文档 Liuzh 前端 查阅响应式布 ...
随机推荐
- 如何实现 iOS 短视频跨页面的无痕续播?
在一切皆可视频化的今天,短视频内容作为移动端产品新的促活点,受到了越来越多的重视与投入.盒马在秒播.卡顿率.播放成功率等基础优化之外,在用户使用体验上引入了无痕续播能力,提升用户观看视频内容的延续性. ...
- node实战小例子
第一章 2020-2-6 留言小本子 思路(由于本章没有数据库,客户提交的数据放在全局变量,接收请求用的是bodyParser, padyParser使用方法 app.use(bodyParser.u ...
- python中dump与dumps的区别
刚写了一个代吗,没有搞懂dump和dumps的区别,现在搞懂了,下班后在来整理import pickleq = [1,2,3,4]pickle.dump(q,open("cb1.txt&qu ...
- axios 取消请求 (如:用户登录失效,阻止其他请求)
const CancelToken = axios.CancelToken; const source = CancelToken.source(); axios.interceptors.reque ...
- 基于swoole框架hyperf开发的纯API接口化的后台RBAC管理工具hyperfly@v1.0.0发布
hyperfly@v1.0.0发布 本文地址http://yangjianyong.cn/?p=323转载无需经过作者本人授权 github地址:https://github.com/vankour/ ...
- Apache AB(1) - 快速使用
前言 Apache AB的优缺点 十分快捷.简单 只适用HTTP协议 该工具更加适用于单接口性能压测 参数化实现麻烦:被测接口没有太多参数化 不支持场景化,不能将上下文串联起来 适用于快速开发小的场景 ...
- Jmeter系列(21)- Jmeter录制手机App请求
前置知识点 Jmeter HTTP代理服务器每次点击启动录制,会往Jmeter的bin目录下生成相关证书,证书有效期是7天 录制前需要先看下证书过期没有,过期了,删除bin目录下的证书,即Apache ...
- mogoose 创建数据库并增删改查
下载 npm i mongoose -s 连接数据库 const mongoose = require("mongoose"); mongoose.connect(dbURL); ...
- 📝 没 2 年 React Native 开发经验,你都遇不到这些坑
如果你喜欢我的文章,希望点赞 收藏 评论 三连支持一下,谢谢你,这对我真的很重要! React Native 开发时,如果只是写些简单的页面,基本上按着官方文档 reactnative.dev就能写出 ...
- centos7有关于防火墙的命令
查看防火墙状态 firewall-cmd --state 开启防火墙 systemctl start firewalld.service 关闭防火墙 systemctl stop firewalld. ...