记一次小程序图片上传测试;
项目背景:现项目主要是做关于机器人的调度系统,涉及到web端、移动端、小程序及服务端和实体机器人端;
迭代背景:敏捷开发
记录方向:图片上传测试过程
记录时间:20210318
=================================================================================
本次关于小程序图片上传的测试过程也是按照常规的测试思路进行开展的:
一、测试功能点
1、接口
2、功能
3、兼容性
4、安全
5、性能
6、易用性
7、其他
以上是自己在编写测试功能点的时候罗列的测试项,以下就对各个测试项进行展开陈述,因为项目组采用的敏捷开发的模式,本次迭代的US只实现了图片上传的基本功能,
很多延伸的功能项未进行,待后续完善后,在进行补充;
二、系统实现
==================================================================================
1、接口测试
1.1、接口参数化:特殊字符、参数类型、参数有、无、null、必选参数、组合参数、边界值
1.2、接口功能测试:业务流程---------正常场景、异常场景
1.3、接口性能:响应时间、吞吐量、并发数
1.4、接口安全:敏感信息加密、必要参数后端验证、接口防恶意修改
2、功能测试
功能测试的测试点主要是从图片上传涉及到的对象进行分类的:图片、文件服务器;
2.1、图片

2.2、文件服务器

2.3、网络测试
a、上传过程中网络信号弱
b、上传过程中网络中断
3、兼容性测试

4、安全性测试

5、性能测试

6、其他测试

======================================================================
二、系统实现
下面贴一下整个小程序图片上传的系统实现
1、图片上传流程
1.1、图片上传技术选型
文件类等对象存储需求统一使用minIO进行存取。文件的上传和下载使用minIO的临时链实现。为了保障业务服务器的并发和性能,所有与客户端交互的文件流都不过业务服务器。临时链的有效期应该根据业务文件的大小合理评估,遵循满足业务的前提下最短有效期原则。如下为一些有效期推荐

1.2、图片上传一般流程
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
文件上传
文件下载
文件管理
文件清理
短链转换
文件压缩
文件统计
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
a、文件上传
资源的存储objectKey、bucketname信息由第三方服务保存并向前端返回资源的操作id,业务服务只保存资源的id,后续业务服务可以通过该资源id对存储的资源进行操作,如生成上传链、下载链、删除、分享等。在文件上传临时链生成时对象存储服务会生成签名后的临时链,在返回给业务服务器前一般还会进行长链到短链的转换

备注:
- 业务id:业务id用于后端控制objectkey的规则校验及存储的bucketName选择。在业务开发时前后端进行约定,如果传入的objectkey不符合该规则则不会生成相应上传或下载url
- 上传方式可以选择Put或Post,Put是默认方式,post针对小程序等不能使用put方式的场景设计;
b、文件下载:文件的下载与文件上传流程类似。
c、文件管理:
待开发。业务服务将对象保存到对象存储服务之后,对象存储服务会返回该对象的资源id。通过该资源id,客户端或业务服务可以实现对资源的管理,包括但不限于文件的下载、删除、更新、分享等。
d、文件清理
待开发。每次业务服务通过资源id从对象存储服务对对象进行操作时对象存储服务会更新该对象的最近使用时间及使用频率。对于长期未使用且频率非常低的文件会加到到文件清理列表,在需要进行文件清理时可以提供清理依据。也可以为资源开启自动清理,配置清理策略自动执行无效文件的定期清理。
e、短链转换
待开发。短链服务主要是为客户端或业务服务器提供一个长度短且字符串固定的url。短链对应真实的文件长链,对象存储服务在收到客户端发起的短链之后会自动匹配当前文件的长链进行重定向操作。
f、文件压缩
待开发。短链服务主要是为客户端或业务服务器提供一个长度短且字符串固定的url。短链对应真实的文件长链,对象存储服务在收到客户端发起的短链之后会自动匹配当前文件的长链进行重定向操作。
g、文件统计
待开发。对于文件的下载量进行统计,结合云商CDN加速提高文件下载速度,节省下载流量。
2、数据库设计
在这里就只贴与图片上传的活动图


浙公网安备 33010602011771号