测试工作回顾

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/chen__an/article/details/102478365

你怎么开展测试?

     我拿到项目后,先从产品那里要来需求文档跟产品原型图,自己先了解产品的大概,不懂的问产品,然后自己按理解画出xmind思维导图与流程图,与开发进行沟通看开发的进度,要来数据库的连接信息,同时要来服务器的连接信息,自己用xshell远程连接项目部署的服务器找到日志文件,这时应该将数据库对应的各字段了解,输入项目对应的ip与端口查看项目目前开发的进度。

     根据原型图与开发完成的页面进行测试用例的编写,根据项目开发期限与进度编写测试计划,将哪个时间段负责哪部分模块测试用例都考虑完全,严格按照计划执行,我近期测试的是一个交易所项目,分为前后台,用户权限有超级管理员,管理员,普通用户,项目方等,用户统一从前台注册,超级管理员只有一个,超级管理员可以从将普通用户更改为管理员与项目方权限,管理员可以登录后台进行币种币对创建,项目创建,查看前台用户的挂单记录跟交易记录,稳定项目与创新项目的发布记录,对用户身份认证的审核权限,用户的邀请记录与充提记录,项目发布最后需要经过超级管理员审批才能上线,普通用户登录前台进行项目的认购,我们的项目都是客户从世界各地找来的基建项目,根据各项目估值发布对应的项目币进行认购,项目结束后进行一定收益的返还,前台模块主要有首页,稳定项目(由用户充值usdt进行项目币认购),创新区项目(由用户将usdt从币币交易市场兑换abt这个平台币进行认购),币币交易模块,类似与抹茶或币安这种交易所的各类型虚拟货币的交易,资金管理模块,用户的各币种余额充值提现与记录等,个人中心,用户的手机号身份认证邀请记录等信息,需要身份认证通过后用户才能提现操作,大致就是这样。

     在项目开展中币种无法创建,这时我就去服务器查看日志,一般都保存在logs模块中,用cat命令或tail -f查看最近日志,报的错误有连接超时,这时需要前端将超时时间设置长一些,直接提示error或失败时就得联系java他们也查看日志一般问题是出在交易引擎上,公司有个cto是区块链方面的大佬,他主要负责我们以太网的搭建,还有个从币安出来的大佬负责了币币交易的引擎设计,创建币种失败开发这边发现是出块没有进行同步,需要重新同步定时任务进行币种的创建,或者是提示币种已创建,但是我并没有看到这个币种,数据库里也不存在,别的币种就可以,开发后来解决了,这问题设计的也是链底层方面我的创建提交了但是并没有完成,也会报数据库错误这是因为一个sql语句写错的问题,充值提现的问题,我用的是一个以太坊的测试链的工具,是一个谷歌的插件叫metamask,开发将服务布上后我将钱包地址加进去就有了开发创建的币种几千万个,我可以自己再创建新的钱包,开发给的地址跟项目的钱包是在一个测试链上,我直接从metamask上的钱包转账给交易所钱包用来交易,提现的话就是将外部钱包地址复制把币提现到外面钱包上,有过的问题是提现不到账或超时才到账,有原因是以太测试网络在维护,也有代码原因就找cto他从底层找原因,有个globl块被卡住的原因,创建币种时的最小下单金额与最小下单数量精度得一致,就是0.01对0.01,不然认购时就会报错,这是交易引擎那里这样设计的,也有认购失败时是开发将数据库连接池设置了1000引起的,图片上传后无法显示需要前端做个正则匹配将图片名字全部按统一格式处理,一般就是报错了先f12再重复操作看具体报的错,类似于项目状态这种我去数据库看,或者不明确的看日志再把信息提交给开发。

    项目中也有用到fiddler,之前有遇到一个问题是我在登录时直接抓包把一个项目的登录密码给抓取到了,密码是明文,那个项目是立邦的一个项目开发没注意,密码没有进行加密也没有图片验证码这类,与开发沟通后他进行了技术上前后端的双重加密,并添加了图片验证码短信验证码,还有我在尝试短信验证码时,我在一个浏览器上打开两个页面同时登录两个用户并都进行发送短信验证码,用A的验证码直接可以在B端进行登录成功,这也是开发那里不注意没有进行一个客户端一个用户的验证;自己也尝试过用burpsuite进行暴力破解的尝试,网上找教程安装后直接用立邦那个网站,当时还没加上短信验证码,从github上找来几个用户密码破解包进行反复尝试,开始时开发直接设置的是类似于admin的用户直接就破解拿到了用户名与密码,也有用过charles,个人没感觉与fiddler有明显区别,有段时间是有个项目的用户群体都是用的是低版本360,搜狗等浏览器,用的是windows的xp系统,导致前端框架与浏览器根本不兼容,有些页面无法显示,后来我有用一个turbo的软件,是一个包含各个操作系统与各版本浏览器的沙箱环境,我用它进行网站的测试,发现在xp系统中网站前端框架支持的最低国产浏览器版本,然后让开发在页面中加提示让用户显示失败时升级浏览器的版本,查看原型用的是axure rp,交易所的话我们用的是pgsql,开始用的是pgadmin这个数据库工具,后来不太好用就又换成navicat了,接口不通的话会直接在swagger中调接口,或者用postman,开始公司用的是jire,是与wiki与代码库一起装的,后来有产品提议换成了腾讯的敏捷工具TAPD,我之前也有自己装过禅道,个人感觉禅道是体验较好的,装禅道是在自己买的阿里云上部署的,只能本地访问,我们有个产品是在上海,所以自己试着做穿透,有用frp这个包,当时配置一直出错,为了赶时间就直接用了花生壳这个穿透工具,这个比较方便。

    jmeter的使用,公司的交易所项目有币币交易这个模块,为了模拟大量用户交易,有对上链稳定性的测试,从开发那里要来json文档,在线程组下开get或post的http请求,添加定时器,我选择了固定定时器设了3s的延迟,post上链请求除了ip端口路径外,把参数或消息体数据给加上,线程数设了50万个准备跑一晚上看稳定性。第二天看是稳定的,还有币币交易发大量请求,这个是由交易引擎那个人提供了他的swagger文档,我找到挂卖单与买单不同的接口,生成不同用户,不同买卖类型,不同币种,不同价格的cvs文件,线程里发起http请求,调用配置文件这个cvs数据文件,里面有500不同数据,我循环10次,定时延迟2s,监听器选用查看结果树,聚合报告,图形结果等,开启线程查看结果,并在项目页查看 实时挂单数据,要得到html格式的项目性能测试报告的话,添加一个response assertion,直接到命令段jmeter文件夹下执行不同指令将生成报告保存到桌面新建的一个文件夹中,也用过badbody直接录制脚本,再在jmeter中进行性能测试。jmeter八大原件也就是取样器,逻辑控制器,前置处理器,后置处理器,断言,定时器,配置原件,取样器等。

    至于对python运用到测试中的ui自动化测试,selenium我主要用的是类似于交易所创建项目这种重复性输入工作,我运用火狐的插件firebug,再利用firepath直接进行xpath定位,我个人觉得这种定位方式比较方便,先从selenium中导入webdrive,导入time,sleep等,将谷歌driver进行各元素的xpath定位并填入信息,至于上传图片下拉框选择等就用webdriver的其他方法,最后直接退出,这个项目用自动化测试的地方不是很多, https://blog.csdn.net/u011541946/article/category/6978566这里需要熟记。

猜你喜欢

转载自blog.csdn.net/chen__an/article/details/102478365
今日推荐