背景:
以前都是直接使用运维搭好的禅道跟JIRA,换了工作以后需要自己搭,Linux命令也知道些,但没实践搭过禅道,咋办呢,网上找教程呗。开始折腾了。从完全不懂到搭建成功花了两天。可能别人两小时搞定的问题,我死活折腾了两天,没办法,搭好后晒了朋友圈。因为最近朋友圈老分享我的学习记录,有人让我整理步骤以及遇到问题还有解决方案,也有人问我要不要去学测试,来不来的及,难不难,所以我整理了这篇文章。
安装过程:
1、去百度搜索了一下:linux下如何安装禅道,忘记我当时哪个教程了,随便找了个教程地址如下,自己百度在多看几个就知道啊这个不一定全完善,我主要分享遇到问题,解决方案,以及思考过程:
https://www.zentao.net/book/zentaopmshelp/90.html
看了教程简单总结一下步骤就几个
1、下载安装包
wget https://excellmedia.dl.sourceforge.net/project/zentao/11.4.1/ZenTaoPMS.11.4.1.zbox_old.64.tar.gz
说明;这个地址包啥的根据自己来,wget是网上下载包的命令,跟yum -y install一个道理。这里都不懂自己百度去啊。
2、将安装包直接解压到/opt目录下
sudo tar -zxvf ZenTaoPMS.7.3.stable.zbox_32.tar.gz -C /opt
说明:教程都有说要直接解压,避免权限不对。
3、更改Apache\Mysql端口
/opt/zbox/zbox -ap 【端口8080 】
/opt/zbox/zbox -mp 【端口 3307】
4、重启Apache\Mysql
执行/opt/zbox/zbox start
执行/opt/zbox/zbox stop
执行/opt/zbox/zbox restart
5、给禅道自带的mysql中开一个用户
使用opt/zbox/auth/adduser.sh
6、从览器访问禅道http://ip:【Apache端口】
好了,我就是这步卡住的,明明很简单,步骤都做了,死活不行。
7、登录禅道数据库
就把你第五步添加的用户登录就好了,还有什么导入数据库,反正最终我没导能用了,有兴趣自己去研究。
我的安装过程:
第一天:
首先,下包就遇到问题,我的Linux多少位的呢?不知道,怎么查看Linux版本信息呢?忘记命令了,怎么办百度洛:
命令自己百度去,我就不写了。找到了这个是centos7,64位的,嗯~没毛病,根据教程吨吨吨,步骤弄完了,到第6步了,访问出问题了,都搞完了啊,死活访问不到。我开始怀疑问题了,是不是那几个没对啊,httpd、mysql、apache,明明虽然报了错,也说启动成功了啊,进程也在的。我其实也就会一些命令,开始海底捞禅道装好了为啥访问不到了,有说防火墙的、还有selinux的没关的,都看了,我以前用的ubuntu有些命令跟centos7还不一样,用不了,比如防火墙,反正一句话,百度就完了,看了都没问题,都关了的。
最后自己各种折腾没办法后怀疑是不是我版本装高了?我装的10以上的,又搜了一个完全是centos7下的安装教程,包是7.3版本的。那我去卸掉重装一个试试?但是Linux卸载是直接杀掉进程删除包就可以了吗?我不确定。
第二天:
在自己没办法后,开始去请教以前的运维同事A,跟我说看装的是啥,有些插件啥的要用命令删,我开始描述问题了,我装的禅道,问了我一些httpd有没有问题,mysql有没有问题,他在外面忙,也没时间帮我一一排查。好了虽然没解决问题,学了些新知识。
OK,转战厚脸皮去骚扰另一个前同事运维大神B,他很厉害,我很信任,上午问题发过去后,我就去写用例了测系统了,毕竟自己搞不定,测试系统优先级比较高,安心等着大神给我解决了,结果B大神没看到信息,自己也忙,晚上连接给我看了问题,说是正常的啊,端口访问错误,不是我改的端口,早上就启动了。我这时不知道怎么看的,B大神又没空理我了。
好吧我自己去看了一下,哎是哦,但是点进去还是进不了啊,返回一大片英文,大概知道是端口问题,数据库问题,但我不知道咋看啊,开始百度呗,禅道具体数据库配置文件是啥,进程名是啥用啥关键字看,怎么看端口,各种看,最后去配置文件看了一下端口根本不是我自己改的3307,用数据库连接工具Navicat直接按配置文件连了一下也连接不上,好吧知道是数据库的问题了,找呀找,ps -aux|grep mysqlzt 看了一下禅道数据库的进程,确实跟已存在的冲突了,监听的是本地已经存在的端口,ok,知道问题了,再用/opt/zbox/zbox -mp 3307改一下端口,再重启一下执行/opt/zbox/zbox restart,然后netstat -anp |grep 3307查看改后的端口监听上没,监听上了,好了再去登录数据库,登录禅道就都好了。
总结一下:
问题重点在哪呢?没搞过,想当然执行了改端口就一定成功了,因为之前很少自己装,没这意识,可能我自己重启没成功,也可能别人又执行了一遍改端口命令,反正没生效,所以mysql端口跟本地冲突了,自己根本没想到要去查一下。以前用netstat命令看冲突不冲突,都是只要多个,丢给运维了,不管了。所以呀,改这种端口的问题,改完一定要查一遍确认改成功了,且不能跟已有的冲突。我折腾那么多,最后发现这么简单解决,但如果没有B大神提醒到你这个点,折腾半天不出来正常。所以可能你自己去装会遇到跟我不一样的问题,把解决思路会了,相信难不倒你的。
放几个截图感受一波:
自己刚开始百度的:
算了,word里面文章直接copy贴不进来,这个插图片太麻烦不弄了。
跟A大神请教的:
算了,word里面文章直接copy贴不进来,这个插图片太麻烦不弄了。
跟B大神请教的:
算了,word里面文章直接copy贴不进来,这个插图片太麻烦不弄了。
禅道搭好了,能进去用了,但是我之前都只是测试角色使用,怎么去整体过一遍呢,还是一样,百度搜索禅道的使用,找到下面这篇文章,撸一遍各个角色的流程,就搞定了,可以正常使用了。
https://blog.csdn.net/u010271247/article/details/77600569
总结几点自学特别重要的思维吧:
1、多百度,遇到的错误啥的,就算返给你的是一大片全英文看不懂,整个copy到百度去查,尤其这种普遍的操作,你要相信你所遇到的问题,别人也一定遇到过,就算情况不完全一样,也会有相关的错误给到你启发;
2、自己第一步搞不定了,要学会骚扰请教身边比你厉害的人,脸皮厚一点,总有大神能给你指导的,一般都会愿意教你的,就算不完全对,也给了你一些思考方向或者新的知识点,前提是你得先把第一步做完,自己有个清晰概念或者基础,别人给你说才不会懵,听不懂。也要学会发散思维,别人给你一个点的启发,你要学着查找是不是周边相关的出问题了,然后试着入手解决,多百度,这样别人教你也不累,你也能进步。不要万事不管全丢给别人,别人跟你说一堆你不懂,或者最后别人完全给你解决了,别人教的也累,自己没有动手实践,问题解决了,你依然还是不会。(我自己弄postman跟禅道都是这样解决问题的)。
3、总之呢,一句话:多问度娘,多动手实操,多问人,再多度娘,基本上大部分问题就能解决了。尤其IT这一行,当然我还是一只初级程度的菜鸟,仅分享我会的一点点东西,在遇到同样问题时能帮到一点忙就很荣幸啦。
题外话:
1、因为我老在朋友圈记录自己的学习记录,所以还蛮多几个人问我,想去学测试,难不难,好不好学?要不要去学?来不来得及?从几个方面谈谈我的理解吧:
首先回答:
a.难不难,好不好学:
难易程度,好不好学其实都看你自己理解能力以及有没有毅力学,有基础、理解能力强一遍能过得问题,你基础弱就多学两遍结果都一样的,所以如果有这觉悟,那么我告诉你,并不难。要不要学,来不来的及也是一样的,有毅力干啥多晚开始都不算晚,没毅力不自律多早开始都嫌晚。
b.测试人员级别简单先划分一下等级吧:
1、最初级功能测试;
2、初级功能测试之上能使用一些工具,借助工具进行简单的测试脚本调试。
3、大神级别可以自己搭测试框架,自己码代码,自己写测试工具方便测试,自己搭环境,相当于一个集测试、运维、研发技能与一身的,如果研发有个BUG搞不定,你上去啪啪两下改好了,那就大牛了,都会佩服你。这一级别薪资啥的就都不是问题了,只要你够牛逼,多的公司抢着要你。
浅谈测试职业规划:
职业中都有焦虑感,估计会持续到退休,没办法,焦虑是因为你技能不足,所以不自信,所以踟蹰。这是工作几年后都会遇到问题,在一家公司呆久了,就容易思维固化。出去找工作也四处碰壁,即使入职了下一家公司,也很难立足。关于跳槽一般来说三年一小坎,五年一大坎,别太频繁跳槽,也别老不跳槽,呆久了就会陷入温水煮青蛙不求上进的囧境。
测试发展方向:
1,啥都懂一点,主攻管理流程,管理岗(实话比较难,挺少,技术含量不多,主要是流程规范,反正我是少见这种职位,可能因为我不太擅长也不太喜欢吧,总觉得管理岗没技术含量,仅个人拙见)。
2,安全性测试(就是渗透测试,暴力破解,上传漏洞、DOS攻击之类的,看不懂这些术语是啥的自己一个个百度去,我也就知道点概念皮毛的程度,正在学习中)
3,性能测试(简单比如说压测,稳定性测试,服务器性能等,我的理解就是高并发下还能运行正常,满足业务量增长后系统还能稳定运行,不慢,不出错。同样不懂百度去,比我解释的专业的视频,帖子多了去。我也就LR做过一个接口压测,还忘的差不多了,jmter并没有完全实操一个真正项目过,也就都用过,停留在会用工具的程度。)
4,接口自动化(就是会测接口、能够自动化的写测试脚本测试接口,我现在属于借助postman可以做简单判断,半自动化的阶段吧,这个比较容易,相对来说是自动化里最好实现的,我现阶段的目标以及以后的方向就是,能搞定这个。)
5,WEB,UI自动化(就是用脚本录制工具,录制脚本,再定位页面元素,替换内容进行测试,比较难,不好定位,变化也多,我就属于知道有几个findElement(By.name)、id、class、action这样的概念,还有Xpath 定位,css选择器定位,有这个概念,能够写xpath语句找到唯一的,但是怎么使用,完全没实操过,这个一般普遍用selenium做,装过selenium,但弄了一下没弄出个123,我后面就放弃了)。
我目前的水平是1级初级之上一点点,都还没完全达到2级,如果1级是初级需要广泛的基础知识但不需要多深入,属于知识阶段,现在互联网时代,知识的获取是很容易的,网上基本都能找到,但是要熟练操作就是2级了,知道怎么用,有概念算知识,能熟练运用,有实操经验才能算技能。
2级是快速提升期,我在努力着希望不跨掉吧,也希望你能看完有一个自己清晰的定位朝你喜欢的方向努力,达到你的预期,完成你的职业升级,最终目的当然是提高你的薪资啦,相信大部分人都跟我一样是世俗中人吧,为了生活,谈什么为了理想我觉得太飘渺,一句话,学好了能涨工资最实在,那句话说的很好,若不是为了生活,谁愿意把自己弄得一身才华,所以,加油吧!
3级大神级别现在还是我遥不可及的梦想,不想那么远,就干好现阶段的事情就好了。其实不论什么行业,什么岗位达到这种高级的人才总是稀少的,相对的他们拿走的却是整个行业最多的酬劳,越努力越幸运,你有那金刚钻才能揽那瓷器活不是?所以修炼自己吧。像玄幻练级一样,成神也要筑基、金丹、元婴、出窍、分神、合体、洞虚、大乘、渡劫这样来嘛,成不了神,我们修炼个元婴期也勉强算个高手了吧。反正我的目标就这么点。都说学习这事,浅掘N口井,不如深挖一口井。这当然是最好的,但是我觉得你在深挖一口井之前,浅掘多口井还是有必要的,是个储备,练习挖井的技巧吧,不需要多但至少必须的几个你要先掘一下。
我不管生活还是工作都属于很喜欢到处浅掘井,但是没有一口深挖的井的那种,刚开始是属于没啥想法的,包括我换工作之前,没有认真思考自己以后的方向应该在哪里。考公务员啥的也去折腾了一圈,最开始的想法总觉得自己做测试不长久,往上提升好难,先干几年算了吧,以后转行吧,转行能干什么?不知道?迷茫,先这样吧,一边有点焦虑又一边就这样混着了,反正至少目前还行。确实,如果你刚入门测试,前三年你可以这样混着日子,那3年后你得思考你的方向了,我觉得我都晚了两年了,但是没关系,现在努力也不迟,不遗憾过去,努力当下是最好的。而且初入职场没想法太正常了,很多人都是后面慢慢思考自己的方向的,到了一定的时间点也必须逼着你去思考,不然你就是被淘汰的了。应该很多人跟我一样,所以结论是别慌,但是不能一直不思考,不然总有让你偿还代价的时候。
浅谈测试薪资:
1级初级6~12K
2级中级12~20K
3级高级25K左右甚至更高。
当然薪资这东西跟你的学历有关,跟你的技能有关,跟机遇有关,跟你面试时谈薪资的技巧有关,跟你所在公司能给出的薪酬定价有关。但整体是在这个范围波动的,多看看招聘网站技能要求以及薪资定价就会有个大概概念,自己多去面试几次就会明白自己的水平在市场中薪酬的大概定位。职场中或许有时候有的人你觉得还不如你,拿的工资比你高,我只能说别好高骛远,找准你的定位就好,别人比你高,或许别人比你会谈工资,或许别人比你会讨好老板,或许别人面试的时候比你更会展示会的技能,比你圆滑。总之他身上一定也有他的长处才能拿到高的工资。别慌,如果他没有真本事,高也是一时的,飘上去了没点真材实料最终还是会摔下来的,你以为当老板的真傻啊。所以真材实料才是硬道理,有了不一定能获得高薪资,但没有你是一定不会有高薪资的。
每个人有不同的处事方式,放在涨工资这事也一样,我呢,是老实人,面试也不会谈工资技巧,上下范围来个实价行就行,能接受就上,不行就拉倒,不喜欢来虚的。我工作5年从没主动提过加工资,都是公司给我加的,有时候过了调薪时间很久我还没提,主动给我加的。当然也感恩自己一直遇到的感觉都挺好。有时候对比有人会说你那么低啊,有比我高的,但我觉得满足了,我挺知足。你什么段位,你做什么努力,你得什么报酬。我之前呆太久后面都老油条不求上进了。再加上是外包,归属感确实没那么强,有些事别人做了我也就懒得去弄了,就干好份内事,没事时就打酱油了的状况。我是那种需要逼一把的人,人的惰性是天生的,懒散下来容易,捡起自律却不容易。
我的观念是努力干好你的事情,领导会看到你的工作态度跟内容的,也有人说我你怎么都不提加薪?傻,我觉得干嘛急吼吼的去争取,还不一定争取的到多少,时间到了给你加,或者能接受现状就接着干,不行,嫌工资低那就不干了跳槽啊,自己得掌握点技能,如果没进步又想加薪显然不现实。跳出去也不好找。所谓大智若愚,佛系生活就我这样,当然很可能是我还没啥家庭压力。总之,每个人选择的态度不一样,找到适合你的就好。
简单说一下要拿到这样的薪资必备的技能吧:
1级初级
熟悉测试研发流程理论
知道怎么编写用例执行用例
会基本sql语句
会简单的Linux命令
有一些HTML基本认知
知道常用几个HTTP状态码代表啥
沟通能力跟理解能力可以
会使用BUG管理平台(禅道、JIRA、bugfree等)
基本就行了。其他知识涉及一点当然更好了,个人薪资区分就在这一部分啊。
2级中级
在1级的必备基础上会一些测试工具比如postman、LR、jmter、soapUI、fiddler、selenium;
能借助工具进行接口测试功能测试,涉及了一些性能测试,安全测试,自动化测试这样的技能,最好是实操过;
了解一两门编程语言,可以自己写测试脚本最好了包括但不限于java、js以及最火的python;
可以独立搭建测试环境最好了包括不限于测试环境跟测试工具得搭建(大公司有运维搭,但小公司一般得测试自己上或者研发来搭);
有一些架构的概念,Jenkins持续集成的概念,存储过程啊,索引呀、shell脚本呀,docker,testlink是啥呀,元素定位方式呀这些,我之前分享过面试的那些问题,甚至写点入门方法、一些程序的继承、多态、递归、进程、线程概念,自动化元素定位方法啊这些,性能测试参数化啊,实际工作不一定用到,但是面试官关注的点在哪你永远不知道,至少面试前复习一下。因为这个阶段一般你都工作几年了,不可能还完全问你基础的啊,可能我被问得有点难,但有时间的话都了解一下,没坏处。
3级大神级
我还不到程度,我的理解就是至少能码代码,搭测试框架,写一些小的测试工具,至少是能写自动测试脚本的。
最后总结一些测试工作中我觉得重要的思维吧:
1、信息安全
不能把自己公司的源代码呀,环境信息,账号密码呀泄露出去,哪怕不小心,这事很严重的问题,比如我装这个禅道时搞不定,找人帮我连接排查问题,需要请示老大可不可以,不能直接就拿出去了。
2、别改或者删除别人的数据
测试过程中,尽量不要去动别人的测试数据,你需要你可以自己去造新的,尤其联调关联很多系统的,好不容易造个数据,你把别人改了,测着测着流程不通了,这个数据没用了,白费了,别人会很窝火的。这个思维意识要有。
3、有问题就提,做一个记录
这样才会好跟踪,也有证据,减少跟研发呀各种冲突,提错就认,变更了就算变更,能量化你的工作内容,也不会出现扯皮
4、情商问题
跟同事不起冲突,能融洽相处工作会顺利很多,毕竟你整天给研发找茬的嘛,哈哈~
最后:感谢看到这里的你,听我啰嗦这么多,我很喜欢分享,但我分享东西老喜欢加自己的情况以及得吧得吧一些自己的想法,其实不简洁,挺啰嗦的,但我挺喜欢整理我会的东西分享给别人的,这样自己也巩固了一遍,职场中或许有的人喜欢藏着掖着,但我觉得完全没必要。不用害怕别人会超越你,你教别人自己也在成长,多好。最后祝你看完能学会安装禅道和解答要不要学习测试的疑惑,对测试有个初步的认知。献丑了。谢谢!