物联网应用平台网站开发——测试报告

项目实战——物联网应用平台测试报告

1. 测试介绍

1.1 测试对象

测试对象是本项目——物联网应用平台,主要测试点如下:

  1. 用户管理模块
  • 用户登录
  • 用户注册
  • 用户提交反馈意见
  • 用户找回密码(包括发送验证邮件和覆盖原有密码)
  • 用户修改个人信息
  • 用户修改密码
  • 用户修改绑定的手机号
  • 获取用户基本信息
  • 用户修改上传头像
  1. 设备管理模块
  • 获取用户设备种类及数量
  • 查询某设备是否存在
  • 用户添加设备
  • 用户移除设备
  • 获取某设备详细信息
  • 修改某设备详细信息
  • 获取某设备累计数据信息列表
  • 获取某设备历史位置信息列表
  1. 设备数据可视化模块
  • 获取用户个人所有设备ID列表
  • 获取网站统计信息

1.2 测试目的

在已经规定好的条件下对本项目进行测试,目的在于通过测试去发现软件中程序的错误或者是BUG,衡量软件的质量,然后对软件是否满足最初的要求或者初衷做出一个正确的判断。

1.3 测试范围

采取黑盒测试的方法,对各模块的基本功能进行测试,包含用户管理模块、设备管理模块、设备数据可视化模块等。

2. 测试基础

2.1 测试环境

2.1.1 软件运行环境

表2-1 客户端软件配置

项目说明
浏览器Google Chrome, Microsoft Edge, Mozilla Firefox, Safari, Opera, Internet Explorer
数据库MySQL Ver 8.0.23-0 Ubuntu0.20.04.4 for Linux on x86_64 ((Ubuntu))
测试数据由测试团队(个人)设计

2.1.2 硬件运行环境

2.1.2.1 服务器端

表2-2 服务器1硬件配置

项目信息
服务器阿里云
处理器Intel® Xeon® Platinum 8163 CPU @ 2.50GHz
核数4
内存8GB RAM
缓存33792KB
硬盘40GB SSD
网络5 Mbps
操作系统Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-31-generic x86_64)
地址大小46 bits physical, 48 bits virtual
数据库MySQL Ver 8.0.23-0 Ubuntu0.20.04.4 for Linux on x86_64 ((Ubuntu))

表2-3 服务器2硬件配置

项目信息
服务器天翼云
处理器Intel® Xeon® CPU E5-2680 v4 @ 2.40GHz
核数1
内存2GB RAM
缓存35840 KB
硬盘40GB SSD
网络1 Mbps
操作系统Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-72-generic x86_64)
地址大小46 bits physical, 48 bits virtual
数据库MySQL Ver 8.0.23-0 Ubuntu0.20.04.4 for Linux on x86_64 ((Ubuntu))

表2-4 服务器3硬件配置

项目信息
服务器个人工控机H81U
处理器Intel® Core™ i5-4210U CPU @ 1.70GHz
核数2
内存8GB RAM
缓存3072 KB
硬盘128GB SSD
网络100 Mbps
操作系统Ubuntu 20.04.2 LTS (GNU/Linux 5.8.0-53-generic x86_64)
地址大小46 bits physical, 48 bits virtual
数据库MySQL Ver 8.0.23-0 Ubuntu0.20.04.4 for Linux on x86_64 ((Ubuntu))
2.1.2.2 客户端

表2-5 个人客户端硬件配置

项目信息
供应商LENOVO
操作系统系统一:Windows 10 Pro 64-bit (10.0, Build 19042) 系统二:Ubuntu 20.04.1 LTS (GNU/Linux 5.8.0-31-generic x86_64)
系统模型20LBA01KCD
BIOS版本N27ET32W (1.27 ) (type: UEFI)
处理器Intel® Core™ i5-8350U CPU @ 1.70GHz (8 CPUs), ~1.9GHz
内存20.00 GB RAM
硬盘512 GB SSD 256 GB SSD 1.0 TB HDD (Samsung) 2.0 TB HDD (Newsmy) 1.0 TB HDD (West Digital)
显卡Intel® UHD Graphics 620 NVIDIA Quadro P500
显示器名称:Wide viewing angle & High density FlexView Display 1920x1080 分辨率(刷新频率):1920 x 1080§ (59.977Hz) 名称:Generic PnP MonitorAOC2701 分辨率(刷新频率):1920 x 1080§ (60.000Hz) 名称:Generic PnP Monitor DELL U2518D 分辨率(刷新频率):2560 x 1440§ (59.951Hz)
网络Microsoft ATSC Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001Microsoft DVBC Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001Microsoft DVBS Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001Microsoft DVBT Network Provider,0x00200000,0,1,MSDvbNP.ax,10.00.18362.0001Microsoft Network Provider,0x00200000,0,1,MSNP.ax,10.00.18362.0001
鼠标Logitech M330
键盘MOTOSPEED GK89

2.2 版本信息

物联网应用平台版本v1.0.0_beta

测试报告版本v1.0

3. 测试方法

3.1 静态测试和动态测试

静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。

动态方法是指动态测试是通过运行软件来检验软件的动态行为和运行结果的正确性。通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。

3.2 黑盒测试、白盒测试和灰盒测试

黑盒测试是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。其以用户的角度,从输入数据与输出数据的对应关系出发进行测试,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。

3.3 手动测试和自动化测试

手动测试是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤。

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中节省了人力、时间或硬件资源,提高了测试效率。

等价类划分和边界值分析法

等价类划分法将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。利用这一方法设计测试用例可以不考虑程序的内部结构,以需求规格说明书为依据,选择适当的典型子集,认真分析和推敲说明书的各项需求,特别是功能需求,尽可能多地发现错误。等价类划分法是一种系统性的确定要输入的测试条件的方法。

由于等价类是在需求规格说明书的基础上进行划分的,并且等价类划分不仅可以用来确定测试用例中的数据的输入输出的精确取值范围,也可以用来准备中间值、状态和与时间相关的数据以及接口参数等,所以等价类可以用在系统测试、集成测试和组件测试中,在有明确的条件和限制的情况下,利用等价类划分技术可以设计出完备的测试用例。这种方法可以减少设计一些不必要的测试用例,因为这种测试用例一般使用相同的等价类数据,从而使测试对象得到同样的反映行为。等价类划分的方法分为两个主要的步骤,划分等价类型和设计测试用例。

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

边界值测试与等价划分的区别如下:

  • 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
  • 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。

4. 测试用例

表4-1 物联网应用平台测试用例设计

用例名称测试编号测试数据预期结果实际结果
用户登录USR-01-01“email”: “lemingshen@zju.edu.cn” “password”: “123456” “remember”: true登录成功PASS
USR-01-02“email”: “lemingshen@zju.edu.cn” “password”: “123” “remember”: true密码错误PASS
USR-01-03“email”: “leming@zju.edu.cn” “password”: “123456” “remember”: true用户名不存在PASS
USR-01-04暂停后端提示出错PASS
用户注册USR-02-01“email”: “lemingshen@zju.edu.cn” “password”: “123456” “user_name”: “ZJU_SLM” “auth_code”: “123456”注册成功PASS
USR-02-02“email”: “lemingshen@zju.edu.cn” “password”: “123456” “user_name”: “ZJU_SLM” “auth_code”: “错误验证码”验证码错误PASS
USR-02-03暂停后端提示出错PASS
用户 忘记密码USR-03-01“email”: “lemingshen@zju.edu.cn” “auth_code”: “256984” “password”: “123456”修改成功PASS
USR-03-02“email”: “lemingshen@zju.edu.cn” “auth_code”: “256984” “password”: “错误验证码”验证码错误PASS
USR-03-03暂停后端提示出错PASS
发送 验证码USR-04-01“email”: “lemingshen@zju.edu.cn” “type”: 1发送成功PASS
USR-04-02“email”: “zjuslm@163.com” “type”: 1用户已存在或不存在PASS
USR-04-03暂停后端提示出错PASS
获取用户基本信息USR-05-01“email”: “lemingshen@zju.edu.cn”获取成功PASS
USR-05-02暂停后端提示出错PASS
上传头像USR-06-01头像图片的字节流上传成功FAIL DF-01
USR-06-02暂停后端提示出错PASS
用户反馈USR-07-01“subject”: “xxxxxx” “content”: “xxxxxxxxxxxxx”PASS
USR-07-02暂停后端提示出错PASS
修改 用户信息USR-08-01“email”: “lemingshen@zju.edu.cn” “user_name”: “ZJU_SLM” “name”: “沈乐明” “gender”: 1 “phone”: “15381145750” “address”: “浙江省 杭州市” “work_school”: “浙江大学 网络空间安全学院” “description”: “# Software Engineering, College of Computer Science and Technology, Zhejiang University”修改成功PASS
USR-08-02暂停后端提示出错PASS
修改密码USR-09-01“type”: 0 “email”: “lemingshen@zju.edu.cn” “old_password”: “123456” “new_password”: “123” “auth_code”: “123456”修改成功PASS
USR-09-02“type”: 0 “email”: “lemingshen@zju.edu.cn” “old_password”: “错误旧密码” “new_password”: “123” “auth_code”: “123456”旧密码错误PASS
USR-09-03“type”: 1 “email”: “lemingshen@zju.edu.cn” “old_password”: “123456” “new_password”: “123” “auth_code”: “错误验证码”验证码错误PASS
USR-09-04暂停后端提示出错PASS
修改绑定手机号USR-10-01“old_phone”: “15381145750” “new_phone”: “123456” “email”: “lemingshen@zju.edu.cn”修改成功PASS
USR-10-02“old_phone”: “错误旧手机号” “new_phone”: “123456” “email”: “lemingshen@zju.edu.cn”旧手机号错误PASS
USR-10-03暂停后端提示出错PASS
获取用户设备种类及数量DEV-01-01“email”: “lemingshen@zju.edu.cn”获取成功PASS
DEV-01-02暂停后端提示出错PASS
查询设备是否存在DEV-02-01“device_id”: “device0101”查询成功PASS
DEV-02-02“device_id”: “错误设备ID”设备不存在PASS
DEV-02-03“device_id”: “已被占用设备ID”设备已被占用PASS
DEV-02-04暂停后端提示出错PASS
添加设备DEV-03-01“email”: “lemingshen@zju.edu.cn” “device_id”: “device0101” “device_name”: “沈乐明的北斗导航卫星”添加成功PASS
DEV-03-02“email”: “lemingshen@zju.edu.cn” “device_id”: "已被占用设备ID " “device_name”: “沈乐明的北斗导航卫星”设备已被占用PASS
DEV-03-03暂停后端提示出错PASS
移除设备DEV-04-01“email”: “lemingshen@zju.edu.cn” “password”: “123456”, “device_id”: “device0001”移除成功PASS
DEV-04-02“email”: “lemingshen@zju.edu.cn”, “password”: “错误密码”, “device_id”: “device0001”身份认证失败PASS
DEV-04-03暂停后端提示出错PASS
获取 某设备 详细信息DEV-05-01“device_id”: “device0001”获取成功PASS
DEV-05-02“device_id”: “错误设备ID”设备不存在PASS
DEV-05-03暂停后端提示出错PASS
修改某 设备信息DEV-06-01“device_id”: “device0001” “device_name”: “沈乐明的ECS主机” “device_description”: “# 于2021年5月1日购买”修改成功PASS
DEV-06-02暂停后端提示出错PASS
获取某 设备累计数据信息DEV-07-01获取成功PASS
DEV-07-02暂停后端提示出错PASS
获取某 设备历史位置信息DEV-08-01“device_id”: “device0001”获取成功PASS
DEV-08-02暂停后端提示出错PASS
获取个人所有设备ID列表STATS-01-01“email”: “lemingshen@zju.edu.cn”获取成功FAIL DF-02
STATS-01-02暂停后端提示出错PASS
获取网站统计信息STATS-02-01“email”: “lemingshen@zju.edu.cn”获取成功PASS
STATS-02-02暂停后端提示出错PASS

5. 测试结果

5.1 测试用例执行情况

表5-1 测试用例执行情况

测试模块总用例数计划用例执行用例通过失败不可用未计划
用户模块1010109100
设备管理模块8888000
数据可视化模块2221100

5.2 测试结果

5.2.1 执行情况

在这里插入图片描述

5.2.2 通过情况

在这里插入图片描述

6. 缺陷指标

6.1 缺陷摘要

表6-1 缺陷摘要

缺陷编号优先级严重性分类摘要处理状况
DF-01小错误用户当用户上传除了JPEG格式以外的图像时,由于后端直接通过写JPEG字节流的方式导致其他格式的图像不可用已修正
DF-02小错误数据可视化当前端伪造一个HTTP请求,并且用户名不存在时会导致后端的异常,从而无法正常返回获取状态已修正

6.2 缺陷跟踪曲线

在这里插入图片描述

7. 测试风险

7.1 需求风险

对软件需求本身认识的不清晰,或者甲方对产品的需求特性的理解总结有偏差,或者测试人员对软件需求认知不准确,都会导致最终开发出的产品不是用户真正需要的,不符合用户实际对功能的需求。此外,需求变更后,测试用例的不及时更新也会导致测试风险。

7.2 测试环境风险

测试人员在测试的过程中所使用的测试环境,不一定符合用户在实际使用时的真实环境,即使原则上要求两者完全一致,但实际上这样的模拟与用户不同场景下的使用存在一定的偏差,这样就存在了一定的测试环境风险,由于软件的某些功能只有在特定的条件下(包括硬件、网络、操作系统、flash插件、WebGL、WebSocket和软件的不同版本)才会发生缺陷,因此测试环境的不完全性会导致测试风险的产生。

8. 后续处理措施

表8-1 后续处理措施

缺陷编号缺陷描述后续处理措施
DF-01当用户上传除了JPEG格式以外的图像时,由于后端直接通过写JPEG字节流的方式导致其他格式的图像不可用在前端发送HTTP请求之前,对用户上传的头像文件进行检查,如果不是JPEG格式的图像则提示要求重新上传
DF-02当前端伪造一个HTTP请求,并且用户名不存在时会导致后端的异常,从而无法正常返回获取状态在后端HTTP请求处理的相应部分增加用户名认证异常捕捉功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值