版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十章
数据库测试第十章数据库测试10.1数据库应用软件测试10.1.1数据库设计验证10.1.2功能测试10.1.3并发测试10.1.4安全性测试10.2数据库管理系统测试概述10.2.1数据库管理系统简介10.2.2数据库管理系统测试10.3数据库管理系统功能测试10.3.1DBMS的SQL功能测试
10.3.2DBMS的事务特性测试第十章数据库测试10.4数据库管理系统性能测试10.4.1DBMS性能测试的目的与性能指标10.4.2DBMS的基准性能测试10.4.3DBMS的性能测试工具10.5数据库管理系统高可用性测试10.6国产数据库系统及测试现状10.6.1国产数据库系统介绍10.6.2国产数据库测试标准10.1.1数据库设计验证数据库应用系统数据库管理系统10.1.1数据库设计验证Student(Sno,Sdept,Mname,Cname,Grade)1.数据冗余太大:浪费大量的存储空间例:每一个系主任的姓名重复出现2.修改复杂数据冗余,更新数据时,维护数据完整性代价大。例:某系更换系主任,系统必须修改与该系学生有关的每个元组3.插入异常该插的数据无法插入到表中。例:如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库。⒋删除异常不该删除的数据被删掉了例:如果某个系的学生全部毕业了,我们在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了10.1.1数据库设计验证●
数据库设计步骤、成果与验证观点10.1.2功能测试功能测试通过测试验证软件的每个功能是否都按照用户的需求进行了实现并且能正常使用。测试重点—用户需求—WebApp,移动App测试方法
白盒测试+黑盒测试10.1.3性能测试性能测试:
验证系统的主要功能或组件的实际性能是否与用户的性能需求一致。数据库应用软件的性能测试:
关注该软件整体或者其中某些组件在规定时间内,响应用户或系统输入的能力,通常用请求响应时间,吞吐量等度量性能优劣。常见工具:LoadRunner、Jmeter、Locust10.1.3性能测试●
负载测试(LoadTest)
通过逐渐增加负载评估系统或者组件性能的测试方法,目的是观察系统在各种不同的负载情况下是否都能够正常工作。而性能测试通常是直接指定一个特定的负载进行测试。●
压力测试(StressTest)
评估系统或者组件处于或超过预期负载时的运行情况。重点关注系统在峰值负载或超出最大负载情况下的处理能力,在压力级别逐渐增加时,系统性能应该是按照预期缓慢下降,但是不应发生系统崩溃的现象。10.1.3性能测试基于Jmeter的测试示例:10.1.3性能测试基于Jmeter的测试示例:10.1.4安全性测试●
SQL注入select*frommemberwhereUID='"&request("ID")&"'andPasswd='"&request("Pwd")"'select*frommemberwhereUID='Admin‘--'AndPasswd=''假设猜测系统有Admin的用户,构造以上SQL语句,由于SQL语言中“--”是注释符号,其后的字符都会被当作注解,因此该攻击者无需输入密码可直接进入系统10.1.4安全性测试●
针对SQL注入的测试●
构造专门的注入字符或者语句单独测试:-例如给可输入的用户名构造zhang'●
借助漏洞扫描工具测试:-扫描之后,进行对应的升级数据库等动作第十章数据库测试10.1数据库应用软件测试10.2数据库管理系统测试概述10.2.1数据库管理系统简介10.2.2数据库管理系统测试10.2.1数据库管理系统简介●
数据库管理系统(DatabaseManagementSystem,DBMS)
是一种控制和管理数据库的大型基础软件,用于建立、使用和维护数据库。数据定义功能:库、表、视图、索引等数据操控功能:数据的增删改查数据库运行管理功能:完整性、安全性等数据库的维护功能10.2.2数据库管理系统测试本小节重点介绍关系型分布式数据库常见的测试内容:(1)数据库基本功能:数据对象管理(库、表、索引、约束、视图、序列、数据类型、数据分区)、PL/SQL功能(函数、存储过程、触发器、用户自定义函数、游标)、表达式、操作符、数据操作类SQL(数据增删改)、数据查询类SQL(过滤、连接、统计、分组、排序、聚集、集合、子查询等)、注释与字符集等。(2)数据库内核功能:事务管理(含单机事务、分布式事务、ACID特性)、日志恢复、计算增强(分布式计算、并行计算)等。(3)数据库管理功能:安装部署、参数管理、容量管理、用户租户管理、数据迁移(数据导入导出、数据同步等)、版本升级、日志管理、监控告警、备份恢复、动态伸缩等。(4)数据库架构功能:负载均衡、读写分离、高可用(服务与数据)、高可靠(多副本、故障恢复等)与容灾等。10.2.2数据库管理系统测试(5)数据库开发功能:应用兼容性、SQL标准兼容性、与其他数据库语法兼容性、客户端兼容性(JDBC、ODBC)、开发辅助的执行计划、查询优化器等功能等。(6)数据库其他功能:操作系统、CPU以及第三方中间件等兼容性、SQL调优等功能。(7)数据库安全测试:数据管理(存储与传输加密、数据生命周期管理、敏感数据管理)、用户与角色权限管理、访问控制(支持对象、数据集、集群、会话等不同粒度)与安全管理(密钥管理、登录管理、安全审计等)。(8)数据库性能测试:数据库通用基准性能测试、业务特有的性能测试等。第十章数据库测试10.1数据库应用软件测试10.2数据库管理系统测试概述10.3数据库管理系统功能测试10.3.1DBMS的SQL功能测试
10.3.2DBMS的事务特性测试10.3.1DBMS的SQL功能测试●
手动测试:根据SQL手册,设计测试用例并手动执行SQL。●
自动测试:MySQLTest自动化测试框架10.3.1DBMS的SQL功能测试测试用例文件(每个.test是一个测试用例)测试用例基准结果(.result与测试用例逐一对应)Test文件内容示例MySQLTest语法参考:/doc/dev/mysqlserver/latest/PAGE_MYSQL_TEST_RUN.html10.3.2DBMS的事务特性测试●
自动测试:
MySQLTest自动化测试框架事务(数据操作的最小逻辑单元)特性:ACID●
原子性(Atomic):该事物中的SQL语句或者全部执行,或者全部不执行。●
一致性(Consistent):一个事务在执行之前和执行之后,数据库的数据都必须处于一致的状态●
隔离性(Isolation):在并发环境中,并发的事务时相互隔离的,一个事务的执行不能被其他事务干扰.●
持久性(Duration):一旦事务提交,事物对数据库中的对应数据的状态变更就会永久保存到数据库中。10.3.2DBMS的事务特性测试隔离级别脏读不可重复读幻读读未提交(Readuncommitted)允许允许允许读已提交(Readcommitted)不允许允许允许可重复读(Repeatableread)不允许不允许允许可串行化(Serializable)不允许不允许不允许●数据不一致问题与隔离级别10.3.2DBMS的事务特性测试●测试方法:同时开启多个客户端连接,设置不同隔离级别,测试不同的并发操作。10.3.2DBMS的事务特性测试●原子性●
持久性右侧操作结束后,退出再次进入,数据已经正常保存10.3.2DBMS的事务特性测试●
隔离性用户1用户2SQL>beginwork;SQL>beginwork;SQL>insertintotest_1values(3,1);插入一条语句SQL>insertintotest_1values(3,33);插入一条语句SQL>select*fromtest_1wherea=3;AB
31查询出一条数据,无法查询出用户2插入数据SQL>select*fromtest_1wherea=3;AB
333查询出一条数据,无法查询出用户1插入数据SQL>commit;SQL>commit;SQL>select*fromtest_1wherea=3;AB
31333SQL>select*fromtest_1wherea=3;AB
3133310.3.2DBMS的事务特性测试●
一致性用户1用户2SQL>beginwork;SQL>Insertintotestvalues(1,11,'test1');SQL>select*fromtest;查出0条数SQL>commit;SQLoperationcomplete.SQL>select*fromtest;ABC
111test1
查询出一条记录第十章数据库测试10.1数据库应用软件测试10.2数据库管理系统测试概述10.3数据库管理系统功能测试10.4数据库管理系统性能测试10.4.1DBMS性能测试的目的与性能指标10.4.2DBMS的基准性能测试10.4.3DBMS的性能测试工具10.4.1DBMS性能测试的目的与性能指标DBMS性能测试的目的:为了验证系统是否能满足到用户提出的性能指标,发现性能瓶颈,优化系统整体性能。常见的DBMS性能度量指标:1.每秒执行事务数TPS(TransactionsPerSecond)
数据库每秒执行的事务数,以COMMIT成功次数为准。2.每秒执行请求数QPS(QueriesPerSecond)
数据库每秒执行的SQL数。3.响应时间RT(ResponseTime)数据库执行每个请求的响应时间。注意:每个测试工具都有自己的度量,但总体是度量单位时间系统的处理能力10.4.2DBMS的基准性能测试●
DBMS的基准性能测试●
OLTP(OnlineTransactionProcessing)联机业务处理测试标准:TPC-C、TPC-E(最新)●
OLAP(OnlineAnalysisProcessing)决策支持/大数据测试标准:TPC-H、TPC-DS(最新)10.4.3DBMS的性能测试工具●
常用工具:Sysbench、BechmarkSQL(TPC-C)等Sysbench主要的OLTP测试SQL语句10.4.3DBMS的性能测试工具Sysbench:/akopytov/sysbench/主要测试命令:sysbencholtp_read_write.lua--tables=3--table_size=10000--mysql-user=root--mysql-password=123456--mysql-host=--mysql-port=3306--mysql-db=sbtestpreparesysbencholtp_point_select.lua--tables=3--table_size=10000--mysql-user=root--mysql-password=123456--mysql-host=--mysql-port=3306--mysql-db=sbtest--threads=100--time=100--report-interval=5runsysbencholtp_point_select.lua--tables=3--table_size=10000--mysql-user=root--mysql-password=123456--mysql-host=--mysql-port=3306--mysql-db=sbtest--threads=100--time=100--report-interval=5cleanup10.4.3DBMS的性能测试工具Sysbench测试结果第十章数据库测试10.1数据库应用软件测试10.2数据库管理系统测试概述10.3数据库管理系统功能测试10.4数据库管理系统性能测试10.5数据库管理系统高可用性测试10.5数据库管理系统高可用性测试●
DBMS的高可用性测试●
高可用:指在DBMS发生故障时恢复业务运行的能力。●
通常采用高可用架构:例如一主N备;三地两中心等●
高可用测试:通过故障模拟(混沌测试),例如利用工具Jepsen、ChaosBlade等模拟网络故障,CPU超载,服务器宕机,内存不足等,测试在这些极端条件下系统的处理。10.5数据库管理系统高可用性测试●DBMS的高可用性测试●模拟客户端:Jmeter/LoadRunner等,持续发送并发请求给DBMS(包含读写操作或者特定业务)●故障模拟工具●观察结果:故障发生时,可以快速切换到备节点提供服务,服务能力可以有所下降,但是不应该出错。第十章数据库测试10.1数据库应用软件测试10.2数据库管理系统测试概述10.3数据库管理系统功能测试10.4数据库管理系统性能测试10.5数据库管理系统高可用性测试10.6国产数据库系统及测试现状10.6.1国产数据库系统介绍10.6.2国产数据库测试标准10.6.1国产数据库系统介绍(1)KingbaseKingbaseES是面向全行业、全客户关键应用的企业级大型通用数据库管理系统,提供全部应用开发及系统管理功能,提供性能增强特性,可支持主备集群、读写分离集群、多活共享存储集
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床组织细胞坏死性淋巴结炎疾病要点
- 汽车底盘构造课件 第七章 纯电动车汽车驱动传动系统
- 3d建模外包合同
- 个人可以外包合同
- 二手车业务外包合同
- 传媒业务外包合同
- 2024新人教版英语八年级下Unit 7知识清单
- 会展外包合同
- 光伏发电外包合同
- 冷餐区外包合同
- 2025年超星尔雅学习通《生物信息学(浙江大学版)》考试备考题库及答案解析
- 上海市复兴中学2026届化学高一第一学期期末达标测试试题含解析
- 铲车驾驶员安全操作规程
- 职业指导师-国家职业标准
- 封箱机安全操作规程
- 医院一级护理知识培训课件
- T/CHES 129-2024山区小流域沟道治理人工阶梯-深潭系统技术导则
- 人工智能在商业中的应用
- 内科护理心电图监测与护理要点
- 金属冶炼(黑色金属铸造)主要负责人安全资格考试题库及答案
- 肺癌戒烟健康宣教
评论
0/150
提交评论