数据库中视图怎么进行软件测试

数据库中视图怎么进行软件测试,第1张

测试过程的角度来说我们也可以把数据库测试分为:

系统测试

传统软件系统测试的测试重点是需求覆盖,而对于我们的数据库测试同样也需要对需求覆盖进行保证。那么数据库在初期设计中也需要对这个进行分析,测试。例如存储过程,视图,触发器,约束,规则等我们都需要进行需求的验证确保这些功能设计是符合需求的另一方面我们需要确认数据库设计文档和最终的数据库相同,当设计文档变化时我们同样要验证改修改是否落实到数据库上。

这个阶段我们的测试主要通过数据库设计评审来实现。

集成测试

集成测试是主要针对接口进行的测试工作,从数据库的角度来说和普通测试稍微有些区别对于数据库测试来说,需要考虑的是数据项的修改 *** 作、数据项的增加 *** 作、数据项的删除 *** 作、数据表增加满、数据表删除空、删除空表中的记录、数据表的并发 *** 作、针对存储过程的接口测试、结合业务逻辑做关联表的接口测试。

同样我们需要对这些接口考虑采用等价类、边界值、错误猜测等方法进行测试。

单元测试

单元测试侧重于逻辑覆盖,相对对于复杂的代码来说,数据库开发的单元测试相对简单些,可以通过语句覆盖和走读的方式完成。

系统测试相对来说比较困难,这要求有很高的数据库设计能力和丰富的数据库测试经验。而集成测试和单元测试就相对简单了。

而我们也可以从测试关注点的角度对数据库进行分类:

功能测试

对数据库功能的测试我们可以依赖与工具进行:

DBunit:一款开源的数据库功能测试框架,可以使用类似与Junit的方式对数据库的基本 *** 作进行白盒的单元测试,对输入输出进行校验。

QTP:大名鼎鼎的自动测试工具,通过对对象的捕捉识别,我们可以通过QTP来模拟用户的 *** 作流程,通过其中的校验方法或者结合数据库后台的监控对整个数据库中的数据进行测试。个人觉得比较偏向灰盒。

DataFactory:一款优秀的数据库数据自动生成工具,通过它你可以轻松的生成任意结构数据库,对数据库进行填充,帮助你生成所需要的大量数据从而验证我们数据库中的功能是否正确。这是属于黑盒测试。

数据库性能虽然我们的硬件最近几年进步很快,但是我们需要处理的数据以更快的速度在增加。几亿条记录的表格在现在是司空见惯的,如此庞大的数据量在大量并发连接 *** 作时,我们不能像以前一样随意的使用查询,连接查询,嵌套查询,视图,这些 *** 作如果不当会给系统带来非常巨大的压力,严重影响系统性能。

性能优化分4部分:

1、物理存储方面

2、逻辑设计方面

3、数据库的参数调整

4、SQL语句优化

性能测试:

我们如何对性能方面进行测试呢,业界也提供了很多工具通过数据库系统的SQL语句分析工具,我们可以分析得到数据库语句执行的瓶颈,从而优化SQL语句。

Loadrunner:这个不用多说,我们可以通过对协议的编程来对数据库做压力测试。

Swingbench:(这是一个重量级别的feature,类似LR,而且非常强大,只不过专门针对oracle而已)数据库厂商也意识到这点,例如oracle11g已经提供了real applicationtest,提供数据库性能测试,分析系统的应用瓶颈。

还有很多第三方公司开发了SQL语句优化工具来帮助你自动的进行语句优化工作从而提高执行效率。

安全测试:

软件日益复杂,而数据又成为了系统中重中之重的核心,从以往对系统的破坏现在更倾向于对数据的获取和破坏。而数据库的安全被提到了最前端自从SQL 注入攻击被发现,冒失万无一失的数据库一下从后台变为了前台,而一旦数据库被攻破,整个系统也会暴露在黑客的手下,通过数据库强大的存储过程,黑客可以轻松的获得整个系统的权限。而SQL的注入看似简单缺很难防范,对于安全测试来说,如何防范系统被注入是测试的难点。

业界也有相关的数据库注入检测工具,来帮助用户对自身系统进行安全检测。

对于这点来说业界也有标准,例如ISO IEC 21827,也叫做SSE CMM 30,是CMM和ISO的集成的产物,专门针对系统安全领域的另外一方面,数据库的健壮性,容错性和恢复能力也是我们测试的要点

我们也可以发现功能测试,性能测试,安全测试,是一个由简到繁的过程,也是数据库测试人员需要逐步掌握的技能,这也是以后公司对数据库测试人员的要求。

软件测试数据库难。

一般来说软件测试数据库都会设置的比较难,用来测试软件的抗难程度,通过软件测试的话,就可以成功上市。

软件测试数据库属于测试软件时使用的数据。

1、首先我想知道你的C/S架构的程序编程语言是什么?是C、Java还是啥?

2、是java的话,我你使用开源测试工具abbot,它包括录制功能,它的测试用例是用XML写的,但是我建议你可以根据自己的需求进行aboot的修改,可以修改为直接调用其底层的对象识别API,然后上层自己拓建。至于。你想实现填表单工作

1)靠录制,然后加一个for循环,不过这要是用abbot的XML实现较麻烦,因为XML的逻辑实现不好,那你可以自己写一个XML解析函数,用一个程序自动化更新XML用例

3、是MC的程序的话,商用的很多都可以。个人觉得:你用C自动化测试的话,最好能够自己去做一些自动化测试工具,是应用一些方法 *** 作C控件吗,这样的话,你可以找一些 *** 作接口拓展自己的控件 *** 作库,灵活而且复用性好,方法有:

1)应用MSAA提供的接口,MSAA的全称是MicrosoftActiveAessibility。这是类似DCOM技术。技术模型是这样的,UI程序可以暴露出一个Interface,方便另一个程序对其进行控制。MSAA技术的初衷是为了方便残疾人使用Windows程序。比如盲人看不到窗口,但是盲人可以通过一个USB读屏器连接到电脑上,读屏器通过UI程序暴露出来的这个Interface,就可以获取程序信息,通过盲文或者其它形式传递给盲人。MSAA提供了如此方便的功能,UI自动化测试自然可以借用这项技术。MSAA暴露出来的Interface叫做IAessible。

2)每个windows窗口都有句柄,找到了窗口句柄我们就能够对其进行一系列 *** 作。在找寻句柄的属性下,你可以用SPYC进行识别。

4、net程序的话,我记得VS2010自带的CUIT工程就可以,其包含录制和回放API,蛮好的

压力测试的范畴非常大的,包括磁盘io 网络吞吐 应用程序测试等

一般专业的做法是请测试工程师帮忙测试

磁盘io测试工具你可以考虑SQLIO SQLIOSIM 微软自己的东西你可以放心

网络吞吐测试工具就比较广泛了 比如楼上也有人提到TTCPW,还有你可以参考一些黑盒压力测试软件比如qacenter等!

当前业界常见的服务器性能指标有:

TPC-C

TPC-E

TPC-H

SPECjbb2005

SPECjEnterprise2010

SPECint2006 及 SPECint_rate_2006

SPECfp2006 及 SPECfp_rate_2006

SAP SD 2-Tier

LINPACK

RPE2

一、TPC (Transaction Processing Performance Council) 即联机交易处理性能协会, 成立于1988年的非盈利组织,各主要软硬件供应商均参与,成立目标: 为业界提供可信的数据库及交易处理基准测试结果,当前发 布主要基准测试为:

TPC-C : 数据库在线查询(OLTP)交易性能

TPC-E : 数据库在线查询(OLTP)交易性能

TPC-H : 商业智能 / 数据仓库 / 在线分析(OLAP)交易性能

1TPC-C测试内容:数据库事务处理测试, 模拟一个批发商的订单管理系统。实际衡量服务器及数据库软件处理在线查询交易处理(OLTP)的性能表现 正规 TPC-C 测试结果发布必须提供 tpmC值, 即每分钟完成多少笔 TPC-C 数据库交易 (TPC-C Transaction Per Minute), 同时要提供性价比$/tpmC。如果把 TPC-C 测试结果写成为 tpm, TPM, TPMC, TPCC 均不属正规。

2TPC-E测试内容:数据库事务处理测试,模拟一个证券交易系统。与TPC-C一样,实际衡量服务器及数据库软件处理在线查询交易处理(OLTP)的性能表现。正规TPC-E测试结果必须提供tpsE值,即每秒钟完成多少笔TPC-E数据库交易(transaction per second),同时提供$/tpsE。测试结果写成其他形式均不属正规。

对比:TPC-E测试较TPC-C测试,在测试模型搭建上增加了应用服务器层,同时增加了数据库结构的复杂性,测试成本相对降低。截止目前,TPC-E的测试结果仅公布有50种左右,且测试环境均为PC服务器和windows *** 作系统,并无power服务器的测试结果。除此之外,TPC官方组织并未声明TPC-E取代TPC-C,所以,说TPC-E取代TPC-C并没有根据。

以上就是关于数据库中视图怎么进行软件测试全部的内容,包括:数据库中视图怎么进行软件测试、软件测试数据库难不难、LINUX嵌入式数据库软件测试等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9284830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存