Bug | 可能缘由 |
---|---|
markdown生成的报告可能溢出显示框 | 表格过长,显示框未设置横向溢出 |
移动端实验区没法评论 | 移动端社区未接入致使没法评论 |
移动端社区不能登录 | 社区密码并非用户设置的密码 |
在社区设置头像后没法在用户界面上传头像 社区的头像在用户界面不会显示 |
社区头像路径与用户界面头像路径冲突 |
移动端用户注册收不到邮件 | 社区注册接口移动端与pc端不一样 |
设计性实验页面移动端隐藏答案有延迟 | 移动端浏览器点击事件与pc端不一样 |
Bug | 可能缘由 |
---|---|
控制台测试/实验界面生成报告错误信息可能没法返回 | 返回的信息中包含了非utf8编码字符,致使laravel抛出异常 |
Bug | 可能缘由 |
---|---|
实验区域发布评论,若是须要验证码,没法填写 | 评论频率过快,实验区未接入验证码系统 |
工具页面,手机端画面崩坏 | 使用了手机上没法显示的前端库 |
手机社区资料修改没有保存按钮 | 排版问题 |
某些浏览器(如Edge)下我的信息没法修改 | 未知,可能与兼容性有关 |
控制台编辑器有时须要点击才能显示内容 | 与编辑器模块刷新有关 |
用户在未进行邮箱验证状况下仍可能登入社区,但此时社区功能并不能彻底使用 | 未知,可能与社区模块有关 |
逐差法小工具输入框有误 | 对逐差法理解错误 |
注册界面的年级信息没有关联 | 数据库设置有误 |
实验和社区界登出不一样步 | 登出调用失败 |
同Alpha测试报告html
本阶段咱们新增了Markdown(html)报告生成的功能,这部分是在原有latex报告生成的基础上增长的,而其余新功能/改进并无对原有接口形成影响(设计性实验新增路由,修改密码和上传头像分别是单独的控制器)。所以主要回测的部分是latex功能是否正常。前端
Alpha阶段生成报告的接口是/report/create
,本阶段咱们将原有接口改成/report/createTex/
并新增接口/report/createMD
,两个接口分别对应原来latex部分的控制器以及新的markdown报告控制器。本阶段咱们在开发此功能的同时为本学期新增的4个实验增长了相应的markdown报告模板。laravel
如下是咱们针对markdown报告生成以及latex报告生成的测试矩阵chrome
机型 | 报告生成方式选择 | 2111 markdown生成 | 2141 markdown生成 | 2161 markdown生成 | 2201 markdown生成 | 2161 latex生成 | 2201 latex生成 | markdown生成结果显示 | 缺乏markdown模板报错 |
---|---|---|---|---|---|---|---|---|---|
thinkpad t580 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
联想小新Air14 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 无 |
Dell Inspiron15 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常,查看不完整,最右边看不到 | 正常 |
Dell G3 (chrome) | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
包括以后在性能测试部分中咱们也分别测试了新的markdown报告生成接口和老的latex报告生成接口,原有的接口是正常的。数据库
机型 | 报告生成方式选择 | 2111 markdown生成 | 2141 markdown生成 | 2161 markdown生成 | 2201 markdown生成 | 2161 latex生成 | 2201 latex生成 | markdown生成结果显示 | 缺乏markdown模板报错 | 修改密码 | 头像上传 | 设计性实验界面 | 设计性实验查看/隐藏答案 | 设计性实验清除答案按钮 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
thinkpad t580 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常显示 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
联想小新Air14 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 无 | 正常 | 正常 | 正常 | 正常 | 正常 |
Dell Inspiron15 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常,查看不完整,最右边看不到 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Dell G3 (chrome) | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
机型 | 用户注册 | 用户登录 | 主页显示 | 实验数据输入 | 报告生成方式选择 | latex报告生成 | markdown报告生成 | 查看报告生成结果 | 实验评论 | 用户我的信息修改 | 修改密码 | 头像上传 | 设计性实验界面 | 设计性实验查看/隐藏答案 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
iPhone 7/Safari(周博闻) | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 没法评论 | 正常 | 正常 | 正常 | 正常 | 显示答案正常,隐藏答案须要等待下一次点击事件 |
iPhone 6s/Safari(樊子康) | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 没法评论 | 正常 | 正常 | 失败 | 正常 | 显示正常,隐藏有问题 |
荣耀8x chrome(殷刘霄羽) | qq、buaa邮箱和outlook都没收到 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 没法评论 | 正常 | 正常 | 正常 | 正常 | 显示正常,隐藏有问题,没有清空答案 | |
iPhone 6/Safari(何雨峰) | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 没法评论 | 更新失败 | 正常 | 正常 | 正常 | 显示正常,隐藏有问题 |
荣耀8x (王尖兵) | qq、buaa邮箱没收到 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 没法评论 | 正常 | 正常 | 正常 | 正常 | 显示正常,隐藏有问题 |
与此同时咱们也计划在Beta阶段重构网站的部分功能,以提高运行性能,更好地服务于本学期以及未来须要作实验的同窗们。初步计划的重构包括:以Markdown/html代替Latex/PDF(或先并存),优化移动端使用体验。浏览器
这是Alpha阶段测试报告结尾部分咱们对Beta阶段的计划,两大主要功能/改进:Markdown报告生成和移动端体验优化。除此以外考虑到设计性实验考试即将开始以及综合实验部分即将结束,咱们也考虑放缓增长新的综合实验内容而新增设计性实验复习模块。服务器
本阶段的出口条件是markdown
Markdown报告生成接口正常可用,本学期新增的实验可以生成两种类型的报告。移动端可以完成普通用户对网站的基本使用:注册登录、生成实验报告、修改我的信息等。新增设计性实验页面,并尽量增长其中的内容并发
目前来看网站基本达到了出口条件:框架
在软工方面咱们本阶段尝试单元测试并有了不小的进展,同时在编码过程当中也对已有的一些配置进行了解耦。但仍有部分测试没有完成,部署方式也须要优化,所以下个阶段咱们团队目标主要以提高软工质量为主。
本阶段咱们对上一阶段的控制台接口以及本阶段的设计性实验接口进行了单元测试。撰写测试踩了不少的坑,所以不久后也即将有一篇关于Laravel框架单元测试的技术博客。
测试结果以下:
仍有一些接口没有被测试,所以下个阶段咱们将补全剩余接口的单元测试。
本阶段新增的Markdown报告生成目的就是为了解决Latex报告生成速度慢,占用资源多的缺陷,为了直观展现二者性能上的差别,咱们使用Postman和Jmeter对两个接口分别进行了测试
测试环境:阿里云1c2g云主机
咱们使用Postman分别对两个接口进行连续生成100次报告的测试。
测试结果以下:
接口 | 总用时 | 平均用时 |
---|---|---|
Markdown | 39841ms (39.841s) | 398ms |
Latex | 116035ms (116.035s) | 1160ms |
Markdown生成一个报告用时约是Latex接口的34%左右。
因为Postman仅能进行串行的测试,咱们使用Jmeter对接口进行并发压力测试。
根据本项目第一届同窗们测试的结果(连接),1c2g的服务器约能承受30人同时生成Latex报告。
如下时间单位为ms
Label | # Samples | Average | Median | 90% Line | 95% Line | 99% Line | Min | Max | Error % | Throughput | Received KB/sec | Sent KB/sec |
---|---|---|---|---|---|---|---|---|---|---|---|---|
TexTest | 30 | 27298 | 28891 | 29771 | 29781 | 29832 | 22887 | 29832 | 0.00% | 0.97879 | 12.21 | 1.11 |
MDtest | 30 | 10499 | 11874 | 12495 | 12508 | 12592 | 6441 | 12592 | 0.00% | 2.24115 | 3.01 | 2.53 |
Latex接口运行本测试失败,生成了12个报告后服务器宕机。
Markdown接口运行正常
Label | # Samples | Average | Median | 90% Line | 95% Line | 99% Line | Min | Max | Error % | Throughput | Received KB/sec | Sent KB/sec |
---|---|---|---|---|---|---|---|---|---|---|---|---|
MDtest | 50 | 20086 | 20982 | 22123 | 22135 | 22209 | 16458 | 22209 | 0.00% | 2.16939 | 2.91 | 2.45 |
Markdown接口:在60s内均匀地产生180个线程发起请求:
Label | # Samples | Average | Median | 90% Line | 95% Line | 99% Line | Min | Max | Error % | Throughput | Received KB/sec | Sent KB/sec |
---|---|---|---|---|---|---|---|---|---|---|---|---|
MDtest | 180 | 23846 | 27389 | 35322 | 35542 | 35861 | 542 | 35953 | 0.00% | 2.15543 | 2.9 | 2.44 |
Latex接口:在60s内均匀地产生90个线程发起请求:
Label | # Samples | Average | Median | 90% Line | 95% Line | 99% Line | Min | Max | Error % | Throughput | Received KB/sec | Sent KB/sec |
---|---|---|---|---|---|---|---|---|---|---|---|---|
TexTest | 90 | 60618 | 84905 | 98235 | 99235 | 102162 | 307 | 102856 | 10.00% | 0.67097 | 6.4 | 0.74 |
注意虽然Latex接口在Jmeter中返回的错误是10%,但部分返回http 200的接口实际上返回信息是“fail”,统计了服务器上生成的pdf个数为:68,既真实错误率为24.44%。
尝试以测试Markdown接口的参数测试Latex接口,一样致使了服务器宕机。
以上测试能够看出,Markdown接口不管是在单次生成速度仍是并发生成的资源占用和速度上,相比Latex接口均有巨大的优点。所以二者的适用范围也不一样,在须要生成美观、规范的报告时能够选用Latex模板,而仅仅查看数据结果时可使用Markdown模板。