我一直觉得我的自动化测试水平仅仅是入门级,也许还没入门,脚还在门槛上方。为什么会这么想呢?因为我只有过数据库存储过程的自动化脚本编写经验,还是自己摸索的。我不知道自动化测试框架是什么,也不会使用selenium,唯一接触的自动化工具QT也只使用了两个月左右,因为部门没有QTp的序列号。
自从11年毕业接触测试以来,我从工作中接触的绝大部分是功能测试,夹杂着偶尔的性能测试。自动化测试的想法是我在做回归测试时候萌生的想法,那时候就想着掌握这项技能,既能给自己加分,也能缩短项目时间,以及减少那枯燥的重复工作,特别是数据的测试。
我平时测试的是CRM系统,管理客户的会员,几乎每个客户都有一套客户忠诚度管理的规则,涉及积分和会员等级,与会员交易相关。而这种规则有时候会有小小的改动,这时候弄一个自动化脚本就很有必要了。我最开始的时候只是把我造数据的脚本保存下来,以便回归测试时候使用。后来发现这样不行,因为你之前造的数据可能别人再用,你稍作改动的话也不能保证有哪个地方遗落了。为了解决这个问题,我开始把脚本中部分常量改成变量,保证每次甚至都不需要改动值就能继续运行脚本,自动插入数据,自动调用测试的存储过程,自动检查结果,然后将结果保存到一张表中,只要查看这张表就能知道运行结果了。后来我把保证测试要使用的相关reference表的数据的检查也放入了脚本中,这样,一个自动化测试脚本就结束了。
然而上面针对的测试目标只能是数据库的存储过程。不像java,VB,C甚至脚本语言GROOVY能调用T-SQL,T-SQL语言还不能调用其他语言,当然T-SQL也不需要,因为数据库就是数据最好的仓库。如果要测试web,其他java application,学会一门开发语言还是必须的,比如java。而且一般大项目都不止一个QA的,自动化测试脚本的编写就需要考虑到其他人员了。路漫漫其修远兮,吾将上而求索。目前我在学java,不过看来selenium的学习也要提上历程。