2024年1月1日发(作者:)
一、项目名称:百度网盘APP
二、项目描述(系统名称+主要功能+系统优点,控制在4-6行左右。)
百度网盘APP,是一款提供在线存储服务的软件,向用户提供文件的存储、下载、备份、同步及共享等文件管理功能,还为用户提供了消息队列及通讯录功能,对其所包含的功能进行了汇总为用户提供了工具管理。网盘通过云储存数据,不会占用本地内存。网盘不用随身携带。网盘可以在线分享数据及进行一些在线操作。
三、项目的测试工作(与上一个实施的项目对比有啥不一样的地方?应该如何进行测试?)
【仅有需求文档】拿到需求相关文档,阅读需求,把需求里面不明白、不清楚的整理出来,先结合需求文档前后分析这些业务问题,再搜索一些业务知识点整理到excel表里面。实在拿不准的需求找项目经理进行确认。最终形成一个excel表。(文档测试)
【仅有程序】安装署上,在系统正常运行的前提下(冒烟测试),开始录入数据,整理了解系统的大小功能,特别是系统的主要业务即主要功能,通过不断操作了解系统,把不明白、不理解的整理到excel表里面,然后找项目经理进行需求确认。
四、分析系统架构(分析一下系统的架构,该系统有几个端?为什么要这样设计?不明白的可以问项目经理?)
一般分析系统的部署架构,主要从以下三个方面入手进行分析?
➢ 硬件环境:CPU?内存?磁盘?整机型号?
➢ 软件环境:平台(操作系统)?中间件?数据库?开发语言?
➢ 部署方式:集群式(分布式)?
(1)百度搜索引擎部署图(B/S)
(2)集群部署与分布式
集群:同一个业务,部署在多个服务器上(不同的服务器运行同样的代码,做同一件事情)
集群的好处:本来只有一个人在干活,现在有两个人了,分担了压力。要是有一人请假了,没关系,还有另一位在呢。(提升系统的稳定性和安全性)
例如:你开了家小餐馆,由于资金有限,只聘请了一位厨师张工,配菜切菜备料炒菜张工一个人全包了。后来生意越来越好了,张工根本忙不过来,于是再请了一位厨师李四,张工和李四两人一起负责厨房一切事宜,他俩的关系是集群。张工有时候有事请假了,没事,还有李四在。
分布式:一个业务分拆多个子业务,部署在不同的服务器上。
分布式的好处:系统之间的耦合度大大降低,可以独立开发、独立部署、独立测试,系统与系统之间的边界非常明确,排错也变得相当容易,开发效率大大提升。系统之间的耦合度降低,从而系统更易于扩展。我们可以针对性地扩展某些服务。
例如:为了让张工李四他们专心炒菜,又请了个配菜师杨工来分担工作,主要负责切菜,备菜,备料,共同完成厨房的事务。杨工和张工李四他们是分布式。
(3)百度网盘业务架构
类型 平台(操作系统)
软件 硬件 开发语言
部署架构
备注
Web端 CentOS7 (1)系统部署:
Weblogic
mysql
(2)大数据服务:
Hadoop
hbase
戴尔(DELL)
R740丨R750丨2U机架式服务器:处理器10核20线程。内存:8G内存,硬盘:5PB SATA硬盘
普通PC机
java 集群式部署
Hadoop解决日益增加的文件存储量和数据量瓶颈。
Hbase:非关系型数据库,适合于hadoop这种分布式计算框架,处理大量数据。
PC端 Windows系统、Mac系统
.exe安装包,.dmg安装包
java
移动端 Android系统 .apk安装包 手持移动设备 java
备注:
第一、在集群上面部署hadoop,它是一个开源的大数据框架,是一个面对大量数据处理和存储数据解决方案/工具。
第二、Hadoop两个核心组件:
HDFS(分布式文件系统):
(1)专为存储数百兆字节或千兆字节的大型文件而设计(TB,PB)(如果小文件尽量使用RDBMS和Apache HBASE工具);
(2)会自动检测给定组件是否发生故障,传输过程中的磁盘、交换机等组件,良好的数据备份机制;
(3)HDFS里面的NameNode,当扩展新节点时,NameNode能自动感知进行数据分发和备份到相应新节点。
MapReduce框架(分布式计算问题、编程模型):有两个方法Map方法和Reduce方法。Map:每个文件分片由单独的机器去处理,这就是map的方法,将各个机器的计算结果汇总得到最终结果,这就是Reduce的方法。
数据拆分需求:以下正常文件方可以进行拆分。
(1)上传视频、其他格式文件:最小块5MB,不足5MB,正常按一个进行计算。
(2)上传音频文件:最小块3MB,不足3MB,正常按一个进行计算。
(3)上传图片文件:最小块2MB,不足2MB,正常按一个数据块计算。
(4)上传文档、种子文件:最小块1MB,不足1MB,正常按一个数据块计算。
(5)损坏文件或其他非支持格式则不进行拆分。
测试时需要查看hadoop里面Mapreduce的运行日志里面的拆分的数据库就可以了,一般情况下10MB的视频,在日志里面会有两个5MB的数据库记录。
Hadoop缺点:不适合大量小文件存储;文件修改效率低。
HDFS适合一次写入,多次读取的场景。
当传送数据量大,高数据吞吐量做了优化,牺牲了获取数据的延迟。
HBase:一个建立在HDFS之上的NoSQL(非关系型)数据库。
Sqoop将HBase里面的数据同步到mysql数据库里面。
文件上传过程(一个节点的处理过程)
文件上传和下载过程,百度网盘如何做到快速响应的。
第一、上述只有是一个节点:均衡负载器(DNS负载均衡)进行任务分配。分配给对应的服务器。
第二、Volume Block:百度网盘中数据拆分工具,对传输的数据进行拆分,拆分成一个一个
数据块。然后实现高效传输。好比进程和线程的理解一样。
第三、Block Group:百度网盘中数据聚合工具,对成功上传的拆分数据进行聚合,聚合成功后进行保存,并通过客户端显示上传成功。
五、分析项目核心业务流程(系统的应用背景,给什么用户使用?怎么使用?系统的核心业务有哪些?分析出基本业务流程?)
(1)主要功能:上传、下载、相册备份 当前版本:v7.29.5
(2)系统业务交付:
正常上传需要选择上传文件或文件夹、文件类型及储存路径,上传成功。正常下载需要选择下载的文件及储存路径,下载成功。相册备份需要选择相册,打开自动备份,是否使用手机流量备份照片,备份成功。
(系统的基本业务流程,从业务的发起|业务的入口,到业务的完成 业务的出口,考虑所有环节都正常情况)
六、划分系统的测试范围
参考《百度网盘测试任务分配》
七、测试的分析与设计
模块名称:传输
测试点名称:上传(特色测试点|公共测试点)
测试需求:
1. 正常上传需要选择上传文件或文件夹、文件类型及储存路径,上传成功。
(系统的基本业务流程,从业务的发起|业务的入口,到业务的完成 业务的出口,考虑所有环节都正常情况)
2. 上传类型分为文件上传和文件夹上传,文件夹上传成功后,目录结构不变,子文件夹及其文件都会上传。
3. 文件格式
①图片类文件格式:JPG、JPEG、PNG、GIF、BMP、TIFF、SVG等常见的图片文件格式,以及一些原生的图像格式,如PSD、AI等。
②文档类文件格式:DOC、DOCX、XLS、XLSX、PPT、PPTX、PDF、TXT、RTF、CSV、HTML、
XML、EPUB等。
③视频类文件格式:MP4、AVI、MOV、WMV、FLV、MKV、M4V等常见的视频文件格式,以及一些高清视频格式。
④音频类文件格式:MP3、WAV、FLAC、AAC、M4A、WMA、OGG等常见的音频文件格式,以及一些专有音频格式。
⑤压缩文件格式:RAR、ZIP、7Z、TAR、GZ等常见的压缩文件格式,可以方便地上传和下载压缩包。
⑥可执行文件格式:EXE、APK、MSI等可执行文件格式。
⑦种子类文件格式:种子文件以.torrent为扩展名。
⑧支持不同类型文件组合上传。
4. 文件上传大小
①免费用户/娱乐套餐/备份套餐情况下单文件最高达4G。
②工作套餐情况下,单文件最高达10G。
③盘超级会员情况下会根据会员等级来进行限制,超级会员V1/V2最高可上传300G大文件,超级会员V3/V4最高可上传500G大文件,超级会员V5/V6最高可上传800G大文件,超级会员V7最高可上传1024G大文件,超级会员V8最高可上传1200G大文件,超级会员V9最高可上传1500G大文件,超级会员V10最高可上传2048G超大文件。
④如果文件大小为0B时,不支持上传。
5. 批量上传文件
①免费用户/娱乐套餐/备份套餐情况下批量上传文件的总数量最高达500个。如果已经上传300个,就不能在上传500个,最多只能在上传200个。
②网盘超级会员/工作套餐情况下批量上传文件的总数量无数量上限。网盘超级会员情况下支持并发上传。工作套餐情况下不支持并发上传。
6. 百度网盘支持上传损坏的文件,但上传后的损坏文件无法正常使用或打开。用户将损坏的文件上传到百度网盘时,网盘会将该文件存储在云端,但并不会对损坏文件进行修复。文件损坏可能是文件属性不完整或数据不完整、包含病毒或被病毒感染。
7. 文件在上传的时候被占用会造成无法上传,关闭文件重新上传即可。
8.在上传文件时,可能会发生文件损坏或丢失的情况,可以尝试重新上传文件、使用文件修复工具或与百度网盘客服联系。
9. 在同一台设备上同时进行多个上传操作,或者在不同设备上使用同一个账号同时进行上
传多个文件时,可能会导致文件名相同或存在冲突的情况。百度网盘检测到文件名冲突时,它会自动重命名文件,添加一个唯一的后缀或编号,以避免文件的覆盖或丢失。
10. 上传过程中遇到空间已满会暂停上传,空间清理后可以继续上传。
11. 上传过程中遇到断网或连接不稳定时间较长会暂停上传,修复好网络状态后可以继续上传。
12. 上传过程中遇到意外关闭客户端会暂停上传,再次打开后可以继续上传。
13. 在弱网环境(2G:15~20KB;3G:150~600KB;4G:1.5M~10M)下,上传正常进行,不会报错或上传失败。
14. 数据拆分需求
MapReduce框架(分布式计算问题、编程模型):有两个方法:Map方法和Reduce方法。Map:每个文件分片由单独的机器去处理,这就是map的方法,将各个机器的计算结果汇总得到最终结果,这就是Reduce的方法。测试时需要查看hadoop里面Mapreduce的运行日志里面的拆分的数据库就可以了,一般情况下10MB的视频,在日志里面会有两个5MB的数据库记录。
以下正常文件方可以进行拆分。
(1)上传视频、其他格式文件:最小块5MB,不足5MB,正常按一个进行计算。
(2)上传音频文件:最小块3MB,不足3MB,正常按一个进行计算。
(3)上传图片文件:最小块2MB,不足2MB,正常按一个数据块计算。
(4)上传文档、种子文件:最小块1MB,不足1MB,正常按一个数据块计算。
(5)损坏文件或其他非支持格式则不进行拆分。
15. 重复上传
百度网盘上传过程中会判断重复上传的文件,以避免重复保存相同的文件。当用户尝试上传一个文件时,系统会先用MD5算法对该文件进行哈希计算,生成一个唯一的文件哈希值。然后,系统会与用户已经上传的文件进行比对,查看是否存在相同的文件哈希值。如果存在相同的文件哈希值,系统会判断该文件为重复上传,并会给出相应的提示。
16. 百度网盘支持断点续传功能。断点续传是一种文件传输技术,它允许在传输文件时,当传输中断或出现问题时,可以恢复传输并从中断处继续传输,而不需要重新开始传输整个文件。百度网盘会记录正在传输的文件的传输进度和状态,当再次进行上传或下载时,系统会检测到文件的部分已经传输完毕,并从中断处开始传输,以实现断点续传。
HTTP Header中的两个特殊字段。一个在请求头中,叫“Range”,表示本次请求要求
服务器返回的数据范围,可以指定请求某一个片段的数据;另一个在响应头中,叫作“Content-Range”,表示本次服务器返回的数据范围,可以返回数据片段在整个文件中的位置。比如下载一个2048Byte大小的文件,当下载工具收到1024Byte数据时,网络由于某种不可预知的原因中断。网络恢复正常后,想把没下载完的数据拉取回来,就要在请求头里写“Range:bytes=1024-”,从1024Byte开始拉取后面的数据。因为不知道还剩下多少数据,所以在“1024Byte”后面写了一个“-”。服务器会在响应里写“Content-Range:bytes1024-/2048”,表示返回了从1024Byte到文件结尾的全部数据,同时告诉客户端,这个文件的大小总共是2048Byte。
17.百度网盘可以实现秒传功能。在百度网盘上传一个文件时,系统会自动根据文件的MD5哈希值进行匹配,如果发现相同的文件已经存在,就会触发秒传功能。此时,百度网盘会向用户显示上传成功,并为用户生成一个与该文件关联的唯一文件标识符。这样,用户就可以在百度网盘中直接通过该文件标识符访问和共享文件,而无需重复上传。
(一个环节一个环节分析,分析每个环节的各种情况,包括正常和异常情况)
(不同环节之间的组合关系,分析有效组合的正常和异常情况,没有组合关系则不考虑)
18. 上传成功后,文件的 MD5 值不变
MD5是一种哈希算法,计算任意长度的输入数据,并生成固定长度的哈希值。MD5算法生成的哈希值通常为128位(16字节)。又名:不可逆加密算法。由于加密算法太强大,专门用来加密密码。MD5的值就是对任何一个文件的明文密码进行加密后的密码,又称“数字指纹”,任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。
19. 上传成功后,不同端显示同步。
(业务成功的标志,从关联功能和后台数据来分析)
测试思路:(了解清楚册数需求之后从哪些角度对其进行验证)
1.正常上传的验证(1种)
2.上传类型的验证(2种)
3.文件格式的验证(46种)
4.文件上传的验证(15种)
5.批量上传的校验(5种)
6.上传损坏文件的校验(1种)
7.上传被占用文件的校验(1种)
8.上传文件发生损坏或丢失的校验(2种)
9.文件冲突的校验(2种)
10.上传空间已满的检验(1种)
11.上传过程中断网的校验(1种)
12.意外关闭客户端的校验(1种)
13.弱网环境的校验(3种)
14.数据拆分的校验(5种)
15.重复上传的校验(1种)
16.断点续传的校验(1种)
17.秒传功能的校验(1种)
5值不变的校验(1种)
19.不同端显示同步的校验(1种)
模块名称:传输
测试点名称:下载(特色测试点|公共测试点)
测试需求:
1.正常下载需要选择下载的文件及储存路径,下载成功。
2.正常下载可以下载文件夹和文件。文件夹下载成功后,目录结构不变,子文件夹及其文件都会下载。
(1)文件选择支持单选和多选,单文件(100MB以下)下载会直接通过浏览器进行下载,多文件(10个以下,以及总大小100MB以下)下载可以选择通过浏览器进行下载或者启动客户端进行下载,通过浏览器进行下载会以压缩包的形式下载;当单文件(100MB及以上)或多文件(10个及以上或总大小100MB及以上)时直接启动客户端下载。
(2)文件夹选择支持递归(即子文件夹及其文件),下载时会按照原有文件夹目录结构下载,文件夹的下载方式和文件下载的方式一致,文件夹的数目不算在内。文件夹也支持多选。
(3)文件和文件夹可以同时选择。
3.百度网盘明确规定的文件格式包括图片、文档、视频、种子、音频、其他格式6种类型。
①图片类文件格式:JPG、JPEG、PNG、GIF、BMP、TIFF、SVG等常见的图片文件格式,以及一些原生的图像格式,如PSD、AI等。
②文档类文件格式:DOC、DOCX、XLS、XLSX、PPT、PPTX、PDF、TXT、RTF、CSV、HTML、XML、EPUB等。
③视频类文件格式:MP4、AVI、MOV、WMV、FLV、MKV、M4V等常见的视频文件格式,以及一些高清视频格式。
④音频类文件格式:MP3、WAV、FLAC、AAC、M4A、WMA、OGG等常见的音频文件格式,以及一些专有音频格式。
⑤压缩文件格式:RAR、ZIP、7Z、TAR、GZ等常见的压缩文件格式,可以方便地上传和下载压缩包。
⑥可执行文件格式:EXE、APK、MSI等可执行文件格式。
⑦种子类文件格式:种子文件以.torrent为扩展名。
⑧支持不同类型文件组合下载。
4.文件下载速度
①免费用户/套餐用户的文件下载速度通常限制在几十KB/s或者几百KB/s的速度范围内且不支持并行下载。
②开通百度网盘超级会员的情况下,下载速度通常不会受到限制且可以并行下载。
5.下载过程中删除或修改路径,删除文件或修改文件名,会导致下载失败,有友好提示。
6在弱网环境(2G:15~20KB;3G:150~600KB;4G:1.5M~10M)下,下载正常进行,不会报错或下载失败。
7.客户端意外关闭等原因导致的暂停下载,重新打开百度网盘主页后可继续下载。
8.因为网络断开导致的暂停下载,重新连接网络后会自动继续上传。
9.对百度网盘中带有病毒或不完整的文件进行下载,百度网盘不支持。
10.下载过程中支持断点续传。
HTTP Header中的两个特殊字段。一个在请求头中,叫“Range”,表示本次请求要求服务器返回的数据范围,可以指定请求某一个片段的数据;另一个在响应头中,叫作“Content-Range”,表示本次服务器返回的数据范围,可以返回数据片段在整个文件中的位置。比如下载一个2048Byte大小的文件,当下载工具收到1024Byte数据时,网络由于某种不可预知的原因中断。网络恢复正常后,想把没下载完的数据拉取回来,就要在请求头里写“Range:bytes=1024-”,从1024Byte开始拉取后面的数据。因为不知道还剩下多少数据,所以在“1024Byte”后面写了一个“-”。服务器会在响应里写“Content-Range:bytes1024-/2048”,表示返回了从1024Byte到文件结尾的全部数据,同时告诉客户端,这个文件的大小总共是2048Byte。
11. 数据拆分需求
(1)下载视频和其他文件:最小块5MB,不足5MB,正常按一个数据块进行计算。
(2)下载音频文件:最小块3MB,不足3MB,正常按一个数据块进行计算。
(3)下载图片文件:最小块2MB,不足2MB,正常按一个数据块进行计算。
(4)下载文档和种子文件:最小块1MB,不足1MB,正常按一个数据块进行计算。
(5)损坏文件和其他非支持文件不拆分。
12.下载成功后,文件的 MD5 值不变。
13.下载成功后,本地路径里显示文件。
测试思路:(了解清楚册数需求之后从哪些角度对其进行验证)
1.正常下载的验证(1种)
2.下载类型的验证(3种)
3.文件格式的验证(46种)
4.下载速度的校验(5种)
5.下载过程中删除或修改的校验(2种)
6.下载过程中弱网环境的校验(3种)
7.意外关闭客户端的校验(1种)
8.下载过程中断网的校验(1种)
9.下载文件带有病毒或不完整的校验(2种)
10.断点续传的校验(1种)
11.数据拆分的验证(5种)
5值不变的校验(1种)
13.文件显示在本地路径里的校验(1种)
模块名称:文件管理
测试点名称:相册备份(特色测试点|公共测试点)
测试需求:
1. 相册备份需要选择相册,打开自动备份,是否使用手机流量备份照片,备份成功。
2. 开启过滤截图,则不会备份截图。
3. 相册备份支持选择自动备份照片、视频或一起备份。
4. 相册备份过程中出现断网情况会暂停备份,恢复后继续备份。
5. 在弱网环境(2G:15~20KB;3G:150~600KB;4G:1.5M~10M)下,备份正常进行,不会报错或备份失败。
6. 开启自动备份后,每次打开百度网盘都会自动备份手机相册。
7. 备份成功后的相册文件在百度网盘中与原始相册中的文件内容完全一致。
8. 备份成功后手机相册里所有的照片视频都在网盘里可以查看,按照相册的先后顺序排列。
9. 重复备份不会备份相同时间信息的照片和视频,不同时间信息的照片和视频会重复备份。
10.手机删除照片视频后,重复备份,网盘相册不会删除相应照片视频。
11.网盘删除照片视频后,重复备份,网盘相册会重复备份删除的照片视频。
12.空间不足时,则无法继续备份。
13.删除正在备份的照片和视频系统会提示备份失败的照片和视频。
测试思路:(了解清楚册数需求之后从哪些角度对其进行验证)
1. 正常备份的验证(1种)
2. 相册备份过滤的验证(1种)
3. 相册备份支持选择的验证(3种)
4. 相册备份过程中断网的验证(1种)
5. 相册备份过程中弱网环境的验证(3种)
6. 启动网盘自动备份的验证(1种)
7. 备份成功后文件内容一致性的验证(1种)
8. 备份过程中查看的验证(1种)
9. 重复备份的验证(1种)
10.手机中删除后备份的验证(1种)
11.网盘中删除后备份的验证(1种)
12.空间不足的验证(1种)
13.备份过程中照片和视频被删除的验证(1种)


发布评论