一、概要测试计划

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 :

开发测试文档 - 图1

(2)测试Passwordinput

开发测试文档 - 图2

(3)测试 FileFrom

开发测试文档 - 图3

(4)测试 Downloadinfo

开发测试文档 - 图4

(4).gitlab-ci.yml

stages:

  • frontendtest
  • frontendlint

build:

stage: frontendtest

script:

tags:

  • gundb

test:

stage: frontendlint

script:

  • cd frontend
  • npm install
  • npm run lint

tags:

  • gundb

四、测试分析报告

1、引言

(1)编写目的

通过测试分析,查看分支覆盖率以及代码功能实现与否。

(2)背景

开发项目名称:GunDB 去中心化文件分享。

项目开发者:GarlicCoffee小组。

2、测试概要

前端页面单元测试、gitlab-ci流水线测试、人工测试程序功能。

3、测试结果( 仅展示单元 测试 )

开发测试文档 - 图5

4、对软件功能的结论

(1)功能1:

Web端(通过公网传输用户)

Ⅰ 用户上传有 限制 文件

ⅰ 用户点击上传文件按钮

ⅱ 用户选择要上传的文件

ⅲ 检测文件大小是否合适

ⅳ 用户选择是否加密传输

ⅴ 若加密,输入密码;不加密,进行下一步

ⅵ 设置下载次数

ⅶ 设置下载时间范围

ⅷ 用户点击某个按钮确认上传文件

ⅸ 上传成功,弹出提示框示意成功上传

Ⅱ 用户上传无限制文

ⅰ 用户点击上传文件按钮

ⅱ 系统弹出文件选择界面

ⅲ 用户选择要上传的文件

ⅳ 系统检测文件大小是否合适

ⅴ 用户输入截止日期,下载次数,点击上传

ⅵ 系统上传,弹出提取码

ⅶ 用户点击提取码复制

Ⅲ 用户下载文件

ⅰ 用户点击下载文件选项

ⅱ 系统展示提取码输入框

ⅲ 用户输入提取码

ⅳ 若正确,系统显示下载次数和下载时间

ⅴ 用户点击某按钮开始下载

ⅵ 系统下载成功,弹出下载成功的提示框

Ⅳ 用户预览文件

ⅰ 用户点击下载文件按钮

ⅱ 选择下载方式

ⅲ 用户输入提取码或下载链接

ⅳ 出现某一界面显示文件列表,下载次数和下载时间

ⅴ 用户点击某文件的预览键

ⅵ 预览界面弹出,预览文件内容

客户端:(局域网用户)

Ⅰ 局域网用户上传文件

ⅰ 用户启动客户端

ⅱ 用户点击上传文件按钮

ⅲ 用户选择要上传的文件

ⅳ 检测文件大小是否合适

ⅴ 用户选择是否加密传输

ⅵ 若加密,输入密码;不加密,进行下一步

ⅶ 设置下载次数

ⅷ 设置下载时间范围

ⅸ 用户点击某个按钮开始上传文件

ⅹ 上传成功,弹出提示框示意成功上传

Ⅱ 局域网用户下载文件

ⅰ 用户点击下载文件按钮

ⅱ 选择下载方式

ⅲ 用户输入提取码或下载链接

ⅳ 出现某一界面显示下载次数和下载时间

ⅴ 若该文件被加密上传,输入密码;否则直接进入下一步

ⅵ 用户点击某按钮开始下载

ⅶ 下载成功,弹出下载成功的提示框

上述功能全部实现