技术编程|一个快要被忘记的数据库开发岗位,但应该被尊重( 二 )
那么数据库怎么做测试呢 , 特别是看到上千行的存储过程 , 一大堆的 ETL 程序?作为开发 , 完成功能的实现就万事大吉 , 但作为测试 , 既没有实现功能的大快人心 , 还必须提心吊胆为最后的质量把关 , 弄不好 , 老板认为测试不具备生产力 , 还要压低你的薪水 , 彻底悲剧了你 。
既然测试这么难 , 那么我们怎么保障自己测试的质量呢?下面说说我的一些个人看法 。
就跟看书一样 , 如果拿起一本书从头看到尾(曾经我也是这样么像教科书一样看计算机的图书) , 那么我敢打赌 , 一本800页的数据结构 , 99.99%的人 , 看到300页的时候 , 绝对放弃了 , 顶多再往后多翻 5 页 , 即305页 。 然后不停的翻翻后面 , 数数还有多少 页没看 , 还需要花多少时间 , 不用问为什么我知道 , 你懂得 。
那么我从什么时候开始不这么看书了呢?从看完《CLR Via C#》开始.本书777页 , 我花了近 5 个多月 , 每个礼拜天就躲在家里看 , 看不下去了 , 就喝杯星巴克 , 继续看 , 边看边画 。 最终一页不落 , 全部看完 。 有些地方还看了不止5遍 。 还有本手册 , 《Oracle Concepts》,大概看了不少于 6 遍 , 边看边画 , 每个晚上8点准时看 , 一直到看不动为止 。
那么为什么看完这两本之后 , 再也不相信从头到尾的看书方式了呢?因为好的书 , 配上好的结构 , 你看任何 一章 , 都是可以不需要前面章节的知识 , 依旧可以读的很愉快 。 如果读不懂 , 通过想象力和搜索引擎 , 反而能解决当下最重要的问题 。
因此 , 读书最重要的是明白自己想要什么 。 测试也一样 , 必须根据测试内容 , 而制定测试计划 。 如果要测试并发压力 , 就不能用单元测试;要测试新功能 , 就不能执行回归测试 。
那么 , 数据库测试主要有哪些分类呢?
功能性测试 , 诸如CRUD操作 , 就要执行功能性测试
数据库特性测试 , 比如备份、还原 , 集群故障切换
数据库压力测试 , 比如并发测试 , 大数据量测试
有的同学会觉得数据库测试很简单 , 先 R(retrieve) 一下 , 在CUD(Create Update Delete) 一波 , 最后在 R 以下 , 如果满足结果就算测试通过 。
画个图介绍下 , 不就是这样么:
本文插图
其实 , 正确的测试应该做到这样:
本文插图
将测试封装在一个存储过程里 。
单元测试:单元测试的目的 , 就是取最小单元的程序 , 比如一个存储过程 , 用测试数据来测试它是否完成了我们需要完成的功能 。 数据库测试方法
那我们就来好好研究 , 数据库性能测试的评测方法 。 也就是怎么去设计一套评测数据库性能的软件 。 我的数据库性能好不好 , 必须由我说了算 。
这套软件的特点必须是:
1)分布式:模拟从不同设备访问数据库 , 以达到真实的用户访问 。
2)实时监控:如果性能弱的时候没有及时抓住 , 那么很可能呢下次带来更大麻烦的时候 , 我们依然手足无措 。 所以在测试阶段就必须一击即中 。
本文插图
说实话 , 这篇论文对于我来说 , 很有收获 。
设计数据库测试软件 , 不是一朝一夕的事情 , 它是一个体系 , 值得作为职业 。
推荐阅读
- 行业互联网|华为 | 车载以太网物理层及TSN发展现状 与技术趋势
- 技术编程|什么是Plesk虚拟主机控制面板?
- 电脑使用技巧|用SolidWorks钣金画一个:手遮蜡烛
- 电池技术|法国发明出世界最快的电极:可将锂电池的密度提高3倍
- 黑洞|诺奖以上,真相未满:追捕黑洞二百年
- 技术编程|人工智能在大视频运维中如何实现CDN硬盘故障预测?
- 电池技术|关于惠州赣锋建设高端聚合物锂电池研发及生产基地建设,赣锋锂业要干大事
- |加速冲刺世界级技术领先地位,大族机器人获1.65亿元A轮融资
- 解码器|苹果 ProRes 视频编解码器获 2020 技术工程艾美奖
- 数据|徐叶润:另类数据技术是驱动资管科技的核心
