写在前面

在面试时,常常会有面试官问道,在什么情况下会使用到相关工具的问题,而 mysql 也会有人这么问,有的小伙伴傻傻的回答,造数据的时候,如果这么回答或者只回答了一个简单的场景,90% 本次面试这个问题的得分为 0,如果你也是这么回答的,那么你必须看一下这篇文章了.

分析

这个问题可以根据场景进行划分,列出测试同学在测试过程中所有使用数据库的场景,包括测试前的准备,测试中验证数据,以及性能测试准备大量测试数据,这些测试场景都是测试过程中所能遇到的,但是只这么回答还不够全面,需要根据场景说说具体细节是怎么去做的,这才是此问题的完整答案.

回答

1.测试前-准备测试数据  
        在用例已写好之后,我们知晓需准备哪些测试数据,可以通过数据库导出/制造数据,来为后续测试做出准备,这样可以提高测试效率
        具体的做法:
            1.连接数据库  
                1.数据库的类型目前主流为 mysql
                2.知道数据库的地址、IP或域名、端口号(默认3306,为了安全,很多公司会更改为其他端口号)、用户名、密码  
                3.下载连接数据库的工具-Navicat 官网下载即可 
         2.操作数据库  
             前提条件,要知道查看表,表结果是什么->找开发要数据字典或类似的文档  
             1.问开发,对应的是哪张表  
             2.了解到数据库以后,看单词的意思 去猜测表内容  
             3.造数据 insert into新增数据,update 修改原有数据  
最后数据准备完成,大大提高了测试效率.


2.测试过程中-检查结果  
    测试过程中检查数据是否正确,出问题的时候,再去检查那就晚了,所以要做到对数据流转的测试  这样的目的,1.检查数据是否正确,2.核对数据
    具体的做法:
    1.连接数据库  
    2.操作数据库  
        前提条件,要知道查看表,表结果是什么->找开发要数据字典或类似的文档  
        1.问开发,对应的是哪张表  
        2.了解到数据库以后,看单词的意思 去猜测表内容  
        3.查询数据是否正确 ,查询语句select···· 
    最后可以保证,1.确保测试质量 2.排查是否为数据的问题  

3.性能测试-准备大量测试数据(若自己掌握较差,不讲性能相关可忽略)  
    首先需要做性能测试的时候,必须准备大量测试数据 ,所以导出/制造数据成了必要前提  
            1.连接数据库  
            2.操作数据库  
                前提条件,要知道查看表,表结果是什么  
                导出/制造数据  
                    1.生产环境中的数据导入到测试环境,使测试环境数据更加丰富,更贴近用户使用习惯 mysql dump  
                    2.存储过程造数据  
                    3.自动化脚本,Python利用pymsql去造数据  
                    4.Jmeter去写
           3.用drop 或者delete 去删除性能测试中的脏数据

写在最后

我是小巴哥,一个陪你成长,实实在在分享 测试干货职场经验的人,欢迎关注!!!


↙↙↙阅读原文可查看相关链接,并与作者交流