测试报告$\beta$
VisualPytorch beta发布了!
功能概述:通过可视化拖拽网络层方式搭建模型,可选择不同数据集、损失函数、优化器生成可运行pytorch代码
扩展功能:1. 模型搭建支持模块的嵌套;2. 模型市场中能共享及克隆模型;3. 模型推理助你直观的感受神经网络在语义分割、目标探测上的威力;4.添加图像增强、快速入门、参数弹窗等辅助性功能
修复缺陷:1.大幅改进UI界面,提升用户体验;2.修改注销不跳转、图片丢失等已知缺陷;3.实现双服务器访问,缓解访问压力
访问地址:http://visualpytorch.top/static 或 http://114.115.148.27/static
发布声明详见:https://www.cnblogs.com/NAG2020/p/13030602.html
一、测试查虫(bug detection)
在\(\beta\)阶段,虽然在开发过程中经常遇到各种各样的bug,但我们尽可能将精力放在功能开发上,主要在最后的稳定阶段进行bug的解决,并且在github专门开了Bug的 milestone。在最后的稳定阶段初,将由PM组织的会议上专门讨论出现的bug,并且将在稳定及发布阶段逐步修复这些bug.
如下表所示,每一个bug都开了一个issue,并分配到个人去解决,点击相应的issue会有针对此bug详细的描述。
类型 | 描述 | Issue |
---|---|---|
辅助性功能 | 添加辅助性功能,丰富软件内容,优化用户体验 | 快速入门 网络层弹窗 分享&取消分享 模型市场三属性 经典模型一栏 |
前端界面布局 | 有关前端界面美化,使得界面更加美观,用户搭建模型更加方便 | “关于我们”布局 模型市场更好可视化 搭建颜色&字体 模型搭建导航栏 推理风格与主页统一 问题反馈布局 |
功能缺陷 | 部分功能未开发完善,出现显示异常、跳转异常,造成用户体验的下降 | 外链图片的显示 注销bug 问题反馈bug 注册bug |
二、场景测试(scenario testing)
1. 典型用户
属性 | 描述 |
---|---|
姓名 | 赵XX |
年龄 | 22 |
职业 | 学生,deep learning初学者 |
重要性 | 这一类的用户是本网站的主体用户,我们的项目主要就是为了对于pytorch没有基础的新手而设计的,所以这一类的用户对我们来讲非常重要 |
所占比例 | 60%~65% |
知识层次 | 对深度学习有基本的认知,但不知道pytorch的具体使用方法 |
动机 | 希望使用本项目帮助学习深度学习和pytorch |
用户要求 | 界面简单直观,操作简单,生成的代码简洁明了,有经典模型作为参考,能直观的感受诸如语言分割、目标探测的威力,并且希望在关键的地方有相应的教程辅助 |
属性 | 描述 |
---|---|
姓名 | 钱XX |
年龄 | 31 |
职业 | 相关领域从业者,deep learning初学者 |
重要性 | 很重要,用户所占比例较大,而且这一类的用户如果对本项目满意度较高,可能发展成为本项目的长期用户 |
所占比例 | 25%~30% |
知识层次 | 长期在相关领域工作,对深度学习和pytorch都有了一定认识,但是很少自己动手开发 |
动机 | 这一类的用户可能是短期内接到某一项目需要使用pytorch,希望通过本项目来帮助学习或者直接用本项目来完成工作 |
用户要求 | 除了界面、代码、教程辅助这些部分之外,他还对所生成代码的可移植性有一定的要求,并且希望有相关的类似项目所用的模型作为参考 |
属性 | 描述 |
---|---|
姓名 | 孙XX |
年龄 | 38 |
职业 | IT行业精英,deep learning精通者 |
重要性 | 有一定的重要性,这一类的用户不会太多,他们可能会为本项目提出改进意见,但是一般不会在自己的项目中真正的使用。但是如果能让他们觉得方便实用,也有可能让他们在一些小工程中应用本项目 |
所占比例 | 5%~15% |
知识层次 | 长期在这一领域工作,有丰富的深度学习的知识,精通pytorch,曾多次开发基于pytorch的深度学习项目 |
动机 | 这一类的用户可能是短期内接到某一项目需要使用pytorch,为了更好地完成任务,希望通过本项目来更新和精进pytorch相关知识 |
用户要求 | 对生成的代码有较高的要求,希望其能满足工程性的要求;对复杂度较高的模型有一定需求,要求能将已有模型作为新的模块在其他模型中使用 |
2. 场景测试
典型用户:赵XX
-
场景描述
赵XX正在学习深度学习相关的课程,希望通过可视化编程对深度学习有一个直观的了解。他登陆本网站后,首先查看了帮助文档,了解项目各个模块的功能和使用方法。但由于对pytorch不够熟悉,他不知道如何创建一个自己的模型,在看了帮助文档中对他所需参数的大致介绍后,他又对经典模型板块中的模型进行了大致的了解,然后配置出了自己的模型,并生成了代码,成功运行。
在对网站功能有一定了解后,赵XX查看了本网站的模型推理板块,经过一番仔细研究,他直观地感受到了诸如语言分割、目标探测的威力,对pytorch有了更加深入的了解。
-
需求分析
用户界面简洁优雅,操作过程顺滑(比如拖拽组件和模块之间连线)。
由于赵XX的深度学习基础有限,需要在帮助文档的辅助下才能配置好自己的模型。
本网站也会提供一些经典的模型,让初学者即使短时间无法完成自己模型的配置,也可以引入经典模型来体验本网站的用法。
不受本地环境束缚,在线运行训练好的模型,对pytorch的功能有一个直观的感受。
典型用户:钱XX
-
场景描述:
钱XX接到一个项目需要用到简单的深度学习网络,他久闻pytorch的大名,决定用它来搭建自己的网络,但他此前没有使用pytorch的经验,这时他了解到本网站。通过相关的辅助信息,以及模型市场中与他经手项目所需的类似模型学习,他轻松地在网站上搭建了自己所需要的网络,并且成功地将这个网络应用在了工程中。 -
需求分析:
用户界面简洁优雅,操作过程顺滑(比如拖拽组件和模块之间连线)。
由于钱XX对pytorch的了解有限,需要在帮助文档的辅助下才能配置好自己的模型。
通过某些途径了解相同需求的用户使用的模型。
会应用到实际工程中,对代码的可移植性有一定要求。
典型用户:孙XX
-
场景描述:
孙XX是工作在这一领域的老江湖,最近接到一个项目需要使用pytorch,他听说有一个可视化pytorch编程的网站,抱着更新和精进pytorch相关知识的动机,想着进来体验一下。作为一个专业人士,他认为模型的参数设置上存在一些不合理,但网站整体仍有可取之处,于是在评论区留言,为开发团队提供了改进意见。改进后,他认为网站已经达到了能完成上述项目的标准,他轻车熟路,从下至上地创建自己的模型,先搭建小模型,再将小模型作为一个模块搭建大的模型,最终搭建了适合于上述项目的模型,并生成代码,成功运行。
-
需求分析:
设置评论交流区,一方面可以接受大佬对本项目的意见,另一方面也方便用户之间进行关于本项目的交流。
专业的从业人员对搭建的模型的复杂度要求更高。
对所生成代码的要求更高。
三、回归测试
Beta阶段的模型市场功能,在开发时对数据库进行了修改,所以有必要进行回归测试,看新加入的功能是否影响了模型创建等原始功能。
测试用例
这里的回归测试是基于当前的Beta阶段稳定版本,主要测试模型创建和模型展示两个功能的完整性和正确性,即创建模型时,模型的参数能正确地存储在数据库中;查看模型细节时,模型的参数能正确显示,且可以修改。
-
创建模型
-
在数据库中查看
-
查看模型细节
-
修改模型为不可分享
-
查看数据库
四、测试矩阵(test matrix)
测试浏览器 | 测试环境(浏览器版本) | 主页面 | 联系我们页面 | 访问量统计页面 | 代码生成页面 | 模型市场页面 | 经典模型页面 | 模型推理页面 | 模型市场详情页 |
---|---|---|---|---|---|---|---|---|---|
chrome | 81.0.4044.122 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
火狐 | 75.0.0.7398 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
ie | 11.0.9600.16428 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
edge | 42.17134.1.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
QQ浏览器 | 10.5.3 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Opera | 69.0.3653 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
搜狗浏览器 | 8.6.3.32395 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
猎豹浏览器 | 6.5.115.18480 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
测试浏览器 | 测试环境(浏览器版本) | 组件拖拽 | 组件连线 | 参数输入 | 点击事件(组件按钮、链接)下拉框 | 生成代码 |
---|---|---|---|---|---|---|
chrome | 81.0.4044.122 | 正常 | 正常 | 正常 | 正常 | 正常 |
火狐 | 75.0.0.7398 | 正常 | 正常 | 正常 | 正常 | 正常 |
ie | 11.0.9600.16428 | 正常 | 正常 | 正常 | 正常 | 正常 |
edge | 42.17134.1.0 | 正常 | 正常 | 正常 | 正常 | 正常 |
QQ浏览器 | 10.5.3 | 正常 | 正常 | 正常 | 正常 | 正常 |
Opera | 69.0.3653 | 正常 | 正常 | 正常 | 正常 | 正常 |
搜狗浏览器 | 8.6.3.32395 | 正常 | 正常 | 正常 | 正常 | 正常 |
猎豹浏览器 | 6.5.115.18480 | 正常 | 正常 | 正常 | 正常 | 正常 |
五、\(\beta\) 出口条件
1. 需求
我们在功能设计阶段,为Beta阶段定下了三个主要的目标:
- 支持网络封装成基本模块
- 模型的在线推理
- 模型市场
已经全部开发完成。
一些次要目标:
- 集成 tensorboard 可视化
- 经典模型
- 模型参数分析与可视化
其中经典模型已经完成开发,而集成 tensorboard 可视化与模型参数分析与可视化由于开发时间紧张,而这两个可视化功能需要对onnx和Netron库的学习,只能搁置。于是出口条件变为:
- 支持网络封装成基本模块
- 模型的在线推理
- 模型市场
- 经典模型
2. 功能
页面 | 功能交互描述 | 已完成 | 未完成 | 页面展示 |
---|---|---|---|---|
登录界面 | 1、用户的注册功能 2、用户的登录功能 3、忘记密码功能 | 1,2 | 3 | |
框架构建 | 1、构建已经有的经典框架 2、个性化构建自己的框架 3、能够保存为自己的个性化构建 4、能够实现参数调整 5、能够使用已有模型作为中间层 | 2,3,4,5 | 1 | |
模型管理 | 1、模型的删除功能 2、模型的查看 3、导出代码 | 1,2,3 | ||
代码生成 | 1、根据所选框架生成特定代码 | 1 | ||
问题反馈 | 1、可以向后台反馈存在的bug,可配图可配文件 2、可以看到之前反馈问题的应答 | 1,2 | ||
模型市场 | 1、共享自己编辑的模型,并附上模型的说明 2、他人可进行评价、克隆模型 3、显示模型的阅读、点赞数据 | 1,2 | 3 | |
用户统计 | 1、统计网站ip的访问次数,记录用户使用人数 | 1 | ||
关于我们 | 1、罗列有制作团队的具体信息,可以发邮件进行询问 | 1 | ||
帮助文档 | 1、快速入门:动图展示操作方式 2、网络层说明 3、参数说明 | 1,2 | ||
模型推理 | 1、选择Inference样例 2、上传图片 3、查看模型架构 | 1,2 | 3 |