测试积累百人计划第五组软件测试

关于部署和平时测试的总结

2017-07-09  本文已影响104人  虾米桑

一、基于阿里云部署

(一)先了解整个阿里云部署的整体框架,系统知识,如服务器ECS,负载均衡SLB,路由器,交换机,redis,云数据库等

负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行(我理解是:负载均衡会根据服务器的各种情况,随机把请求给一个服务器)

redis:我的理解是相当于一个中介。比如app发送一个请求,先去redis看下有无这个结果数据。如果有的话 ,就直接取redis的数据回来,不会再访问数据库了。因为数据库是保存在硬盘上,读取数据库数据比较慢,所以用了redis,还可以加快访问速度

(二)做出基本方案,类似如下

负载均衡可以对应多个端口号,服务器中可以同时部署多个项目(只要端口不冲突就行)

(三)购买服务器,负载均衡等

1、购买服务器ECS

到阿里云购买云服务器 ECS。选了最便宜的套餐:CPU: 1核 / 内存: 1024 MB / 带宽:1Mbps / 操作系统: CentOS 7.0购买环节会设置 ssh 登陆密码,记下密码。登陆到阿里云,查看购买的实例。注意公网 IP,下一步会用到

2、购买负载均衡SLB,另外可根据项目情况,决定是否购买云数据库,或者自己安装等

(四)登录服务器ECS

打开 Terminal, 输入 ssh root@公网IP 登陆服务器。首次登陆会询问公钥,yes 即可。关于 ssh 登陆,具体可以看SSH原理与运用http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html 这篇文章

(五)环境部署

1、上传文件到Linux云主机:

本地系统为Windows系统,可以使用命令安装 yum -y install lrzsz,运行 rz ,会自动打开一个Windows窗口,选择你要上传到服务器的文件,点击确定。ls 看一下,这个文件已经在你的目录下


本地系统为mac系统,打开终端,使用命令scp或者ftp

服务器端口号为默认的22:scp 文件名称 root@ip地址:

服务器端口号非22:scp -p 端口号 文件名称 root@ip地址:

2、部署redis

可参考Redis的部署和启动 https://yq.aliyun.com/articles/38257

3、部署JDK+tomcat+jenkis等

可参考百人计划成员的文章阿里云服务器环境部署JDK+Tomcat+Jenkins+Maven+Python+Git http://www.jianshu.com/p/0e67b4545d08

4、根据方案配置端口

1)如果是tomcat,在cd tomcat/conf目录下的文件server.xml中配置端

2)如果是java等代码,则在代码里面的配置文件中配置即可(跟开发了解具体的配置)

5、在阿里云配置SLB端口

6、配置路由等

7、启动项目脚本配置(因为有时候开发给的是开发环境的配置,我们要改为测试环境的才可以),也是我们说的发布测试环境的项目


二、测试与数据库,linux的简单打交道

因为99%的软件,处理的数据最终是需要落地,到数据库或者文件里的,我们必须知道是数据本身的问题,还是处理数据的过程出了问题。在测试过程中会出现一些诸如session过期、数值校验、参数传递错误等现象,知道开发的规则,是更好掌握测试结果的充分条件。

所以,建议测试都能拿到测试环境的账号等,其实最严格的来说,开发是不能动测试环境的,测试环境由测试人员掌管,但是看公司部门和测试人员的具体情况

(二)测试与数据库的简单打交道

1、测试通过查看表结构,快速定位问题

如发布评论功能,需求定义可以输入文字200个,但最后你发布成功之后,只显示了100个字,剩余的100字不见了。这时候直接跟开发说?

====先查看表结构,看是否是字段的长度设置的不够,如下图,升级表中,升级内容的长度是100,是绝对不够的

2、验证数据的正确性

对数据库的数据正确性的检查,如时间的检查。

比如一个活动,结束时间,你填的是2017/7/1.但是存到数据库中是2017/7/1 00:00:00,这就代表你在2017/7/1号已经看到这个活动了=========正确是要存为2017/7/1 23:59:59

3、查看linux下的日志和数据库结合起来看的一个例子

你在APP中发现有2条重复记录,这时候你去数据库查,数据库中只有1条记录,这时候能看日志的,就去看下日志返回了几条记录

用tail -f 日志文件名称 | grep '关键词1'|grep '关键词2'

具体关键词,可以平时多看接口文档

4、通过日志和数据库进行测试

如配置了排序规则,通过关键字查看(tail -f  a.log|grep '关键字a'),看到后台返回的排序是[431, 433, 449, 434, 442, 443, 444, 432]

此时根据需求去查看正确的排序

(二)测试与服务器linux的简单打交道

1、部署项目,有tomcat,java的;查看项目是否启动(***为需要查找的进程名称)ps -ef|grep ***

2、查看日志,尤其是报错日志(如内部错误等):tail -f error.log;也可以查看前端上传的数据,后端返回的数据是否有错

如有脚本没有跑,会报错:

3、发布测试环境的项目,一般是直接发布脚本,脚本是以.sh结尾的,发布操作,直接./脚本文件

现在有一种是直接发布脚本,脚本中会把最新代码pull下来,这个方式是快,而且简单,只要开发提交了代码到相对于的分支即可,但是没那么安全

一种是打成war包或者rar包,通过解压之后,配置好部署文件再发布,这个方式是比较安全,但是比较麻烦,而且属于非集成,失误会比较多,而且如果是频繁更新发布的话,会比较痛苦

最后的总结:

我的习惯是:

1、一个新项目,我会拿到测试环境的数据库,服务器等账号。因为我们暂时没有做数据库的文档,所有会要求开发给我大概讲下数据库的各种表(这个有文档的话,就不用了,可以自己主动去了解)

2、对于复杂功能,要求开发补充具体的逻辑文档或者口头给测试人员说明,防止漏测(这个觉得适合比较小的公司吧)

3、对于数据的更改要慎重,提前跟开发沟通,免得是更改数据导致的bug


上一篇下一篇

猜你喜欢

热点阅读