大数据测试
测试数据生成工具:
DBMonster
DataFactory
BDGS:https://blog.csdn.net/zhusongziye/article/details/79573799
大数据测试_是酱酱呀的博客-CSDN博客
大数据测试数据构造工具_大数据造数据_justin_12的博客-CSDN博客
大数据测试步骤:
步骤一,数据预处理验证
在进行大数据测试时,首先要预hadoop前验证数据的准确性等等。
1. 我们数据来源可能是关系数据库、日志系统、社交网络等等,所以我们应该确保数据能正确的加载到系统中
2. 我们要验证加载的数据和源数据是一致的
3. 我们要确保正确的提取和加载数据至hdfs中
· 步骤二,Map Reduce验证 在进行大数据测试时,第二个关键步骤是“Map Reduce”验证。在本阶段,我们主要验证每一个处理节点的业务逻辑是否正确,并验证在多个运行后,确保:
1. Map Reduce过程工作正常
2. 数据聚合、分离规则已经实现
3. 数据key-value关系已正确生成
4. 验证经过map reduce后数据的准确性等特性
· 步骤三,结果验证 在本阶段主要验证在经过大数据工具/框架处理后,生成的最终数据的成果。
主要验证:
1. 验证数据转换规则是否正确应用
2. 验证数据的完整性和是否成功持久化到目标系统
3. 验证无数据损坏
三 架构测试
四 性能测试
大数据性能测试主要包含以下几个部分:
· 数据提取、存储效率
在本阶段,我们主要验证大数据应用从源数据中提取、加载数据的效率。
一是验证单位时间内数据的提取、加 载效率。
二是验证数据持久化至mongodb等库的效率等等
· 数据处理
在本阶段,我们验证map reduce任务的执行效率,重点关注的是数据处理的效率。当然这个过程可能也会涉及到数据的持久化相关指标,例如存储至HDFS读写效率等等,同样也会涉及在内存中处理效率,即我们的处理算法效率等等
· 子组件性能
大数据处理,一般都会需要综合利用各种组件来辅助处理,所以我们也是需要关注这些辅助组件的性能
生成测试数据的方法无外乎编写sql脚本(存储过程)在数据库端直接生成、编写程序代码生成(实际上也是要写sql)、使用批量数据生成工具(DataFactory、PL/SQL Developer、TOAD等都可以)、使用工具录制业务参数化之后长时间运行来生成。不过个人觉得使用sql来做是灵活的,尤其是涉及到业务数据相互转换需要充分考虑到内部处理逻辑及约束时。
在大数据性能测试时,需要准备相关的基础工作,如下:
· 数据准备,我们需要在不同的节点准备什么量级数据?
· 日志预估,在测试过程中,可能会生成多大的日志,日志的可能增量是什么样的?
· 并发,在测试时,可能会有多少线程并发读和写?
· 超时设置,应对设置怎样的连接超时?查询超时?写超时等等?
· JVM参数,如何设置最优的jvm参数,heap size、GC机制等等
· Map Reduce,我们应该选择什么样的sort、merge等算法?
· 消息队列,消息队列长度会怎么样?等等
根据性能测试执行过程一般的测试策略的:
1. 在性能测试前需要先初始化大数据集群环境
2. 梳理和设计大数据性能测试场景
3. 准备大数据性能测试脚本
4. 执行并分析测试结果(如果指标异常,则调优相应的组件并重新测试)
5. 优化配置
单个组件的测试工具:
gridmix
terasort
YCSB
filebench
Hibeach (涵盖大数据组件多)
BIGbench
数据监控平台:chukwa
数据对比工具Beyond Compare
在线Web页面测试工具-WebPageTest
Docker可视化容器管理工具(Portainer)
造数据工具:
大数据测试数据生成工具v1.0 --百万级别一键导出TXT,JSON,MYSQL 。---HIVE专属工具_`北、的博客-CSDN博客
常用的数据生成工具有TPC-H、TPC-DS和TPC-C等
五种数据质量类工具:
数据一致性测试:
1. NineData
2. Percona-toolkit
大数据质量监测:
Apache Griffin
数据质量检测和监控的核心工具——DQC和SLA。
Data Quality Center(DQC阿里巴巴数据质量监控平台)
DataMan(美团点评数据质量监控平台)
大数据性能测试工具Dew
其他工具
openrefine
测试用例组合生成工具:
百度云盘链接:百度网盘 请输入提取码 提取码:4go0
保障数据质量的完整性方法与技术
数据采集过程中的数据验证和数据清洗:在采集数据的过程中,可以使用数据验证技术来确保数据符合规范和要求,并且清洗掉不合法或者错误的数据。
数据库设计和规范化:通过设计适当的数据库结构,建立关系约束和数据规范化,确保数据的完整性和一致性。
数据审计和监控:定期审计和监控数据,以发现潜在的数据质量问题并及时处理。
数据备份和恢复:定期备份数据,并确保可以快速、可靠地恢复数据,以防止数据损坏或丢失。
数据安全:使用安全措施保护数据免受未经授权的访问、篡改或破坏。
数据管理和治理:建立数据管理和治理的规范和流程,确保数据的质量和可靠性,包括数据质量标准、数据访问权限、数据更新、数据备份等。
数据测试建议:
对于小流量服务的测试方案是通过http请求来构造日志数据,结合grafana对http请求数的监控来实时获取实际产生的日志数据,然后对比日志检索服务搜索出来的数据,通过这样的方式来验证检索数据的正确性
但是对于大流量服务,因为测试环境也不支持构造如此大tps的场景。因此我们选择了一下两种方案:
1、样本数据检测。每隔一段时间汪线上的真实数据中注入测试日志数据,统计日志检索服务搜索结果中的样本数据,然后和实际构造的样本数据进行数量以及格式的对比
2、参考历史数据。假设待测服务已经上线半年以上了,已经对该服务的日志流量做了线上监控,历史数据已知。此时我只需要对比日志检索服务搜索出来的数据和历史数据做对比
Apifox解决方案
1.当开发那改动了接口之后,测试这边一键同步,能直接同步到最新的接口文档
2.设置接口用例与接口绑定,当接口的请求参数和响应参数发生变化,接口用例也会同步更新到最新的接口数据,不需要人工修改接口用例
3.一键回放接口用例,对比返回的结果,如果报错或者返回的数据结构不对应,则告警;
4.接口设计时可以对返回响应进行约束,用例设计时也可以对接口返回进行断言,当接口响应发生变化,执行自动化接口测试会针对错误的地方给出提示。
大数据性能测试工具Dew - Python技术站
前端性能分析工具-Lighthouse
开源自动化平台:https://blog.csdn.net/zhusongziye/article/details/80383304
弱网工具:弱网工具-NEWT应用_魔都飘雪的博客-CSDN博客
其他知识:
https://blog.csdn.net/u014150715/article/details/106404807
登录模块的测试用例
1、用户名、密码、验证码
1、功能
(1)都正确
(2)至少有一个不正确
(3)至少有一个为空
(4)中英文、特殊字符、空格、长度限制 - 一般情况下,登录账户和密码不允许输入中文
(5)用户名和密码是否大小写敏感
(6)密码是否加密 - 是否有明暗切换
(7)输入栏是否设置快速删除按钮
(8)成功登录退出后,点击浏览器回退按钮,是否可以继续操作系统
(9)操作错误提示信息是否简单明了
2、性能
(1)长时间大量用户连续登录和退出,服务器是否存在内存泄漏
(2)高并发场景下用户登录的响应时间是否符合要求
(3)高并发场景下服务端的监控指标是否符合预期
(4)密码输入框内输入的密码是否都可以在页面源码模式下被查看
(5)连续多次登录失败的情况下,系统是否会阻止后续的尝试以应对暴力破解
(6)同一用户在同一终端的多种浏览器上登录,验证登录功能的互斥性是否符合与其设计
(7)是否可以使用抓包工具抓到的请求包直接登录
3、UI
(1)布局是否合理,输入框、按钮是否对齐
(2)界面的设计风格是否与UI的设计风格一致
(3)界面的文字是否简洁易懂,是否有错别字
(4)不同浏览器、版本、分辨率下,显示和功能是否完整
2、记住密码
1、再次登录该账户时是否需要重新输入密码
2、更新密码时,记住密码是否会自动更新
3、记住密码时效
3、忘记密码/找回密码
1、是否有账户验证功能
(1)例如手机号验证码、邮箱验证码等
(2)手机号/邮箱与账户不匹配,能否发送验证码
(3)手机号/邮箱为空,能否发送验证码
(4)验证码错误能否找回成功
(5)验证码输入框内输入的验证码是否都可以在页面源码模式下被查看
2、新密码能否和原密码一致
3、新密码,中英文、特殊字符、空格、长度限制
4、密码输入框内输入的密码是否都可以在页面源码模式下被查看
5、新密码是否加密显示
6、新密码是否大小写敏感
1、文件上传
1、路径是否可以手工输入
2、上传文件超过最大值是在提交前校验还是提交后校验
3、上传文件格式是否全部支持
4、上传文件是否支持中文名称
5、文件名称的最大值、最小值、特殊字符(包含空格)、使用程序语句是否会对其造成影响、中文名称是否能正常显示
6、对于是否发布的设置是否正确
7、取值最大值、特殊字符、使用程序语句是否会对其造成影响
8、上传文件名测试,检查不符合文件名规范
9、上传文件名类型测试,检查不同文件类型是否支持如:.rar,.mp3,.avi等
10、上传文件大小测试,检查不同文件规格大小如:0字节文件, 1kb, 200kb, 2mb, 20mb,2g等
11、上传文件容错性测试:如检查覆盖同文件操作
12、上传文件异常情况测试:如硬盘空间不足
13、上传文件速率性能测试:检查上传不同的文件在不同的网络环境响应速度,及系统资源占用
14、上传文件安全性测试:如上传常见木马
15、上传文件易用性测试:检查上传文件操作是否让用户易于学习和理解使用等
16、上传文件特性测试:如果支持如断点续传等一些特性
17、上传文件后,检查是否与源文件一致,包含目录设置等
18、上传文件,是否能打开等
对于上传的文件,假设系统要求上传的文件为jpg或gif格式图片,大小为<=5M的文件,我们在设计测试用例时,应该从以下几个方面进行考虑:
1、文件类型正确,文件大小合适的校验
例如:上传一种jpg或gif的格式图片,文件大小为4.9M或5M,结果为上传成功
2、文件类型正确,文件大小不合适的校验
例如:上传一种jpg或gif的格式图片,文件大小为5.1M,提示为:“上传的附件中大小不能超过5M”
3、文件类型错误,文件大小合适的校验
例如:上传.doc;.xls;ppt;bmp;jpeg;psd;tiff;tga;png;swf;svg;pcx;dxf;wmf;emf;lic;eps;.txt等格式文件,文件大小合适,提示“只能上传jpg或gif格式图片”
4、文件类型和文件大小合法,上传一个0kb的图片,提示信息:“请重新上传文件,或者是不能上传0kb的图片”
5、文件类型和文件大小合法,上传一个正在使用中的图片(即打开该图片,在上传该图片),上传成功
6、文件类型和文件大小合法,手动输入一个存在的图片地址,点击上传,上传成功
7、文件类型和文件大小合法,手动输入一个不存在的图片地址,点击上传,提示:“请正确选择要上传的文件”
8、文件类型和文件大小合法,手动输入一个存在的图片名称,点击上传,一般情况下系统会提示:“请正确选择要上传的文件的路径”
2、文件下载
1、右键另存为是否可以正确下载文件,并且记录下载次数
(1)工具下载是否正确,并且记录下载次数
2、单击下载是提示下载还是在页面打开
(1)直接打开是否显示正确
(2)对于本机没有安装工具的文件是否能够打开,是否能给出正确的提示
(3)对于直接在页面内打开的内容是否能够显示正常,页面美观性
(4)保存到本地是否能正确显示
(5)取消下载是否会记录下载次数
3、下载次数是否被正确记录
4、后台没有发布的文件是否在前台可以找到并下载
5、后台设置了下载权限的文件是否可以被正确看到、是否可以下载
6、验证导出文件名长度,根据具体情况而定
7、验证导出文件为空的情况
8、验证导出文件名为特殊字符的情况
9、验证导出全部资料的情况,导出的信息是否正确
10、验证导出部分资料的情况,导出的信息是否正确
11、验证导出大量数据时的时间是否在合理的时间范围内
12、验证导出目的磁盘空间已满的情况下,导出是否有友好的处理方式
13、验证导出目的的文件夹为只读的情况下,导出时是否有友好的的提示信息
PS:文中内容 链接处为引用部分