话说

各位读者盆友,这个月过得真是快!今天搭建一个测试用例环境。简单点,就是选择一款工具;我们都知道,知道要用什么比怎么去用,是要复杂一点点的。

难度系数:★★☆☆ ☆
建议用时:2天

目录


一、背景
二、搭建步骤
三、总结


一、背景

测试用例之前用Excel或者wiki撰写,后来用Xmind,显得不够专业。专业的软件做专业的事情,所以需要搭建一套专门用于测试系统的框架,思路有以下几种:
1)搭建testlink;
2)搭建禅道;
3)在JIRA上整合测试。


因为没用过这三种,所以需要分头搭建好对比使用。目的是编写测试用例、提交Bug,可以按照关键字、版本号、需求、产品、平台等来组织管理测试用例,看哪个用起来最顺手、最流畅。因为最终决定试用禅道,所以今晚重点介绍禅道环境搭建。
先简要说下三者搭建过程。搭建testlink,需要下载xmapp这个包,运行后利用在lamp的集成环境,然后把testlink包放到lamp的htdocs目录下,这样:lamp 即:Linux + Apache + mariaDB+php
环境就基本建立起来了,LAMP是典型又强大的Web程序应用平台,所以只要启动Apache,把对应的项目(testlink)放到htdocs(类似webapps)下面,页面访问的时候:localhost/testlink即可访问到testlink首页面。
注意这几个问题:
1)搭建环境干净。争取之前的lamp环境都撤掉;最好重新搞一台干净的机器;
2)注意版本之间的兼容性。其他按照文档操作,Easy.

禅道的搭建也非常简单,比testlink更加简单,不过也有小坑。核心思路:下载压缩包==》解压到/opt下==》启动运行==》关闭防火墙及selinux==》登录

JIRA是我们日常提交Bug,解决Bug的软件,这上面直接整合测试用例是最好的,需要下载:zephyr插件,很明显这个是收费的,需要破解,有破解的功夫,还不如尝试一下开源的。因此这条路就暂时放下。


二、搭建步骤

搭建思路很简单,可以说不费吹灰之力。但是坑还是有那么一点点的。搭建方法按照参考文档中的官网“开源 安装手册”一步一步走即可。强烈建议在一个完全干净的机器上操作:即没有MySQL、没有Apache,没有Php的环境下,避免版本问题。

1)下载包包。笔者下载的是:ZenTaoPMS.10.0.alpha.zbox_64.tar.gz 这个截止20180529最新的包。
http://www.zentao.net/book/zentaopmshelp/90.mhtml
http://www.zentao.net/article/zentao10.0.alpha-80075.mhtml
深刻体会好这句话即可:linux一键安装包内置了apache, php, mysql这些应用程序,只需要下载解压缩即可运行禅道。

2)解压到/opt目录下

tar -zxvf ZenTaoPMS.10.0.alpha.zbox_64.tar.gz -C /opt

解压后,就默认有zbox这个目录了。然后可以查看Apache和MySQL的启动状态
这几个命令很重要:

./zbox status
./zbox start
./zbox stop
./zbox -h

详细执行结果如下:

cd zbox
[root@iz2ze7wdfh0qjhheaiv1q0z zbox]# ./zbox status
Apache is running
Mysql is running

如果一切都这么顺利,就好了……一开始都是Not run.

[root@iz2ze7wdfh0qjhheaiv1q0z zbox]# ./zbox start
Start Apache success
Start Mysql success

如果端口占用,要会看日志,查看一下端口号:netstat -ntlp即可。
如果端口号占用,用:./zbox -h 查看帮助,可以指定启动端口号比如:8082 3308,这样端口号冲突就搞定啦。

[root@iz2ze7wdfh0qjhheaiv1q0z zbox]# ./zbox -h
Usage: zbox.php {start|stop|restart|status}

Options:
    -h --help Show help.
    -ap --aport Apache port, default 80.
    -mp --mport Mysql port, default 3306.

    比如:./zbox -ap 8082 -mp 3308  这个时候访问页面就:http://服务器IP:8082 即可。

3)访问页面
服务器Ip:eg:33.45.234.34:8082
如果页面不能出现,多半是防火墙和selinux的问题

4)查看防火墙状态和关闭防火墙
查看防火墙状态方式要看你按照的操作系统而定,比如CentOS 7.5就不能通过service iptables status查看,而要通过systemctl status firewalld查看
关键命令

systemctl status firewalld   查看防火墙状态
systemctl stop firewalld  暂时关闭防火墙
systemctl disable firewalld 禁止开机启动

具体执行结果如下:

[root@iz2ze7wdfh0qjhheaiv1q0z zbox]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

5月 28 22:04:53 iz2ze7wdfh0qjhheaiv1q0z systemd[1]: Starting firewalld - dynamic firewall daemon...
5月 28 22:04:54 iz2ze7wdfh0qjhheaiv1q0z systemd[1]: Started firewalld - dynamic firewall daemon.
5月 28 22:05:54 iz2ze7wdfh0qjhheaiv1q0z systemd[1]: Stopping firewalld - dynamic firewall daemon...
5月 28 22:05:54 iz2ze7wdfh0qjhheaiv1q0z systemd[1]: Stopped firewalld - dynamic firewall daemon.
5月 29 11:40:09 iz2ze7wdfh0qjhheaiv1q0z systemd[1]: Starting firewalld - dynamic firewall daemon...
5月 29 11:40:10 iz2ze7wdfh0qjhheaiv1q0z systemd[1]: Started firewalld - dynamic firewall daemon.
5月 29 16:16:12 iz2ze7wdfh0qjhheaiv1q0z systemd[1]: Stopping firewalld - dynamic firewall daemon...
5月 29 16:16:13 iz2ze7wdfh0qjhheaiv1q0z systemd[1]: Stopped firewalld - dynamic firewall daemon.

到这里登录页面就会出现!

保险起见,再查看下selinux状态

[root@iz2ze7wdfh0qjhheaiv1q0z zbox]# /usr/sbin/sestatus -v
SELinux status:                 disabled

该命令在服务器端有效,本地无效。

5)查看页面
当出现易软天创项目管理系统 登录界面,代表成功,默认账号密码:admin 123456

6)尝试各种测试案例,和testlink做对比。

效果图和官网给的案例一模一样。

三、总结


1)如果本地解压包后,./zbox start会遇到这个问题
dzjdeMacBook-Air:zbox dzj$ ./zbox start
./zbox: line 3: /opt/zbox/bin/php: cannot execute binary file
为什么本地不行?这里表示在这种框架下是不能运行这个文件的。根源就是搭建环境不干净,因为我们本来就有自己的MySQL。这个在禅道官网 开源视频中也有详细说明。

2)解决一个问题,需要尝试多种途径,而不要局限在一种环境下。比如笔者就是在本地、已经有MySQL的服务器端、“纯净版”的服务器端安装这个,最终才成功。

3)查看相关软件是否已经安装?如何卸载?

whereis mysql 
whereis httpd

这个命令可以查看path路径,表明安装;当然也可以:

rpm -qa | grep mysql
rpm -qa | grep httpd

这2个命令可以就看到具体安装版本,但是看不到路径和属于哪个服务的程序,结合第一个whereis命令,就比较好

如何卸载?

yum remove httpd -y
yum remove mysql mysql-server mysql-libs compat-mysql51

卸载mysql就比较繁琐,因为mysql包很多,这里用的是禅道官网视频中卸载MySQL的方法,仅供参考。如果是纯净的环境,则回避了这些问题。


好!晚安!下期再会!