一、概要测试计划
1、被测试对象
基于GunDB的文件传输项目Garlic-Send项目,包含web端和客户端。
2、测试目标
测试web端与网页端的文件上传下载功能,寻找其中存在的问题。
3、测试阶段和测试周期的划分
(1)单元测试阶段:在开发工程中同步进行单元测试,保证新特性的正常运行。
(2)e2e测试阶段:模拟用户输入,寻找潜在问题
4、测试人员
单元测试由软件编写者完成,e2e测试由专人进行测试
5、软件测试方法
首先使用脚手架安装jest框架
vue add @vue/unit-jest
在引入jest之后编写测试文件,之后在前端目录下运行
npm run tets:unit
6、测试标准
测试的分支覆盖率应当达到80%以上
7、支持环境和测试工具
vue-jest
二、每周详细测试计划
第一周:对已完成的前端页面和部分函数进行单元测试
第二周:对在前一周基础上对于新加入的功能进行单元测试
第三周:完成单元测试的基础上进行e2e测试
三、测试实施计划
1、引言
(1)编写目的
测试web端与网页端的文件上传下载功能,寻找其中存在的问题。
(2)背景
开发项目名称:GunDB 去中心化文件分享。
项目开发者:GarlicCoffee小组。
( 3 )参考资料
Gun文档( https://gun.eco/docs/)
vue中文文档
jest官方文档
2、计划
(1)软件说明
“GunDB 去中心化文件分享平台”可直接上传文件并生成分享链接,无需注册登录,可由上传用户自主选择暂存时间及下载次数。且下载速度能够维持相对稳定,真正做到了轻量、快捷、高效,以最简单的方式最快速的满足用户传输文件的需求。
(2)测试内容
前端页面单元测试、gitlab-ci流水线测试、人工测试。
3、测试
(1)测试 Showinfo :

(2)测试Passwordinput

(3)测试 FileFrom

(4)测试 Downloadinfo

(4).gitlab-ci.yml
stages:
- frontendtest
- frontendlint
build:
stage: frontendtest
script:
- cd frontend
- npm config set registry https://registry.npm.taobao.org
- npm install
- npm run test:unit
tags:
- gundb
test:
stage: frontendlint
script:
- cd frontend
- npm install
- npm run lint
tags:
- gundb
四、测试分析报告
1、引言
(1)编写目的
通过测试分析,查看分支覆盖率以及代码功能实现与否。
(2)背景
开发项目名称:GunDB 去中心化文件分享。
项目开发者:GarlicCoffee小组。
2、测试概要
前端页面单元测试、gitlab-ci流水线测试、人工测试程序功能。
3、测试结果( 仅展示单元 测试 )

4、对软件功能的结论
(1)功能1:
Web端(通过公网传输用户)
Ⅰ 用户上传有 限制 文件
ⅰ 用户点击上传文件按钮
ⅱ 用户选择要上传的文件
ⅲ 检测文件大小是否合适
ⅳ 用户选择是否加密传输
ⅴ 若加密,输入密码;不加密,进行下一步
ⅵ 设置下载次数
ⅶ 设置下载时间范围
ⅷ 用户点击某个按钮确认上传文件
ⅸ 上传成功,弹出提示框示意成功上传
Ⅱ 用户上传无限制文 件
ⅰ 用户点击上传文件按钮
ⅱ 系统弹出文件选择界面
ⅲ 用户选择要上传的文件
ⅳ 系统检测文件大小是否合适
ⅴ 用户输入截止日期,下载次数,点击上传
ⅵ 系统上传,弹出提取码
ⅶ 用户点击提取码复制
Ⅲ 用户下载文件
ⅰ 用户点击下载文件选项
ⅱ 系统展示提取码输入框
ⅲ 用户输入提取码
ⅳ 若正确,系统显示下载次数和下载时间
ⅴ 用户点击某按钮开始下载
ⅵ 系统下载成功,弹出下载成功的提示框
Ⅳ 用户预览文件
ⅰ 用户点击下载文件按钮
ⅱ 选择下载方式
ⅲ 用户输入提取码或下载链接
ⅳ 出现某一界面显示文件列表,下载次数和下载时间
ⅴ 用户点击某文件的预览键
ⅵ 预览界面弹出,预览文件内容
客户端:(局域网用户)
Ⅰ 局域网用户上传文件
ⅰ 用户启动客户端
ⅱ 用户点击上传文件按钮
ⅲ 用户选择要上传的文件
ⅳ 检测文件大小是否合适
ⅴ 用户选择是否加密传输
ⅵ 若加密,输入密码;不加密,进行下一步
ⅶ 设置下载次数
ⅷ 设置下载时间范围
ⅸ 用户点击某个按钮开始上传文件
ⅹ 上传成功,弹出提示框示意成功上传
Ⅱ 局域网用户下载文件
ⅰ 用户点击下载文件按钮
ⅱ 选择下载方式
ⅲ 用户输入提取码或下载链接
ⅳ 出现某一界面显示下载次数和下载时间
ⅴ 若该文件被加密上传,输入密码;否则直接进入下一步
ⅵ 用户点击某按钮开始下载
ⅶ 下载成功,弹出下载成功的提示框
上述功能全部实现
