首先,我想从我们软件测试工程师最基本的两个技能来说。
第一个是熟悉业务
第二个是分析定位问题
不管你到哪一家公司,你接手什么样的项目,熟悉业务的话,一定是你进公司要做的第一件事情。分析定位问题是你作为软件测试人员一定要具备的。
试想一下,你如果去提交一个bug,我只能说这个页面、这个数据显示错了。
但另外同事B他说,这个数据它错误的原因是什么,是某个模块,或者某个开发人员的代码有问题。他如果能准确的定位到这个问题,不说他会更受公司重要之类的。但是他会让开发更喜欢和他合作一些。
如果我们懂数据库的话,会对我们熟悉业务与分析定位问题会有什么帮助呢?
首先,如果我们懂数据库了,然后我又熟悉业务。
熟悉业务我们通常只会结合需求文档,然后我手动去操作。实践去熟悉我们的业务。
但如果你懂数据库,你可以通过数据的表结构,来帮助你来熟悉业务。
在这个基础上你还会懂得数据流【下期文章详细介绍数据流】
我们熟悉表结构、熟悉了数据流之后对我们有什么帮助呢?
因为我们很多问题,追根究底它就是一个数据库里数据的问题,就比如说我们要去验证注册来源对不对,如果我们不去查库的话,我不知道有这个字段的存在,虽然它需求里面说了这么一段话,但实际我从页面上去做功能测试的时候,我并不能看到这个注册来源到底存得对不对,所以我们要去看数据库。
当有一天,我发现我是从app注册的,结果我的后台统计告诉我,这个用户是从PC端来的,那这个是不是代表出问题了?
出问题了,作为软件测试人员我们就要去定位问题,我就要去找这个用户对应的数据来源在我的数据表里面它到底是PC还是app
如果说我们能追踪到这一层的话,我们分析定位问题就比较准确了,就是说它到底是写入数据的时候出现还是说我取数据返回给前端、页面的时候出现的问题。
还有一个,如果说你懂表结构、数据流了,往上走一定会懂设计。
这个设计不是我们说的UI的设计或者说产品的设计,而是一个开发架构的一个设计。
也就是说我的数据为什么要这样存,这样存有什么好处。
这个从业务层面上来说,这样存会有什么好处,这个是可以加深你的理解的。
还有一个方面,我们通常会做需求评审对吧?
当我们在做需求评审的时候,你如果说能够很好的理解业务、数据流、表结构。那你会知道产品这个需求当中有没有缺陷或者说不合理的地方。在需求评审的时候,是可以及时提出来的。
这是我在结合这么多年软件测试经验当中,我自己能能够深刻体会到的数据库对于软件测试人员来说为什么很重要。在这里给大家做一个小小的分享!