测试环境搭建_搭建测试环境是什么意思-程序员宅基地

技术标签: 系统部署  

一、什么是测试环境

测试环境是指测试运行其上的软件和硬件环境的描述,以及任何其它与测试软件交互的软件,包括驱动和桩
测试环境是指为了完成软件测试工作所必需的计算机硬件,软件,网络设备,历史数据的总称
测试环境=软件+硬件+网络+数据准备+测试工具
(硬件和网络一般由公司运维考虑,历史数据由开发或者运维考虑,测试主要做软件的搭建和测试工具的搭建)

二、测试环境的分类

开发环境:开发环境是程序员们专门用于开发的服务器,配置可以比较随意,为了开发调试方便
测试环境:一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它放到生产机上。
生产环境:是指正式提供服务的,一般会关掉错误报告,打开错误日志。
三个环境也可以说是系统开发的三个阶段:开发–>测试–>上线,其中生产环境也就是通常说的真实环境

三、搭建环境的意义

1、稳定和可控的测试环境,可以是测试人员话费较少的时间就完成测试用例的 执行,也无需为测试用例,测试过程的维护花费额外的时间,并且可以保证每一个被提交的缺陷都可以在任何时间被准确的重现
2、理想环境有利于代码的调试和分析,但测试结果不能视为真实结果
3、掌握搭建测试环境的技能,测试人的综合技能以及薪资能力会有一定程度的提升

四、如何搭建测试环境

1、配置Java环境(下载JDK并配置环境变量)
2、下载并安装配置Tomcat(最后将IDEA或者eclipse的项目打成war包,解压到tomcat目录下的webapp即可)
3、安装mysql并导入sql(注意:mysql客户端和服务端编码设置,必须设置完再导入sql)
4、项目导入并修改数据库连接配置
5、启动mysql,启动Tomcat,访问既可

五、实际操作

在虚拟机上操作为例:
首先环境准备:
Linux jdk tomcat mysql

1、Linux系统
本文以centos7为例
安装方法可以参考:centos7安装方法

虚拟机安装好的CentOS7系统,查看ip时没有ip怎么办呢?
  第一步:打开ens33网卡的配置: vi /etc/sysconfig/network-scripts/ifcfg-ens33
  第二步:把ONBOOT=no改成ONBOOT=yes,如下:
  在这里插入图片描述
  第三步:然后重启网络服务: sudo service network restart

2、JDK下载安装
可以通过官网下载,此文以JDK1.8为例
下载到本地之后,可以使用SFTP等工具上传Linux系统
我的存放到了 /usr/local/tools/ 下,安装工具都放到了这里。

  • 1、使用xshell连接Linux,在/usr/local目录下,执行命令mkdir tools,创建tools目录
  • 2、进到tools查看上传的安装包(如果是压缩包,先进行解压),使用rpm命令安装
    在这里插入图片描述
  • 3、安装好JDK后需要配置环境变量
    进入到/etc目录,执行命令vi profile,进入编辑模式
    在文本末尾添加以下配置项
export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=${
    JAVA_HOME}/jre
export CLASSPATH=.:${
    JAVA_HOME}/lib:${
    JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${
    JAVA_HOME}/bin:${
    JRE_HOME}/bin
export PATH=$PATH:${
    JAVA_PATH}

注意JAVA_HOME的路径是你实际安装在Linux里面目录,查看JDK的安装路径,(一般默认的路径:/usr/java/jdk1.8.0_131)
编辑完后,按ESC退出编辑模式,输入:wq,保存退出
退出之后重启配置项,输入命令source /etc/profile
这个时候可以查看JDK版本,输入java -version
在这里插入图片描述
三、下载安装Tomcat
同样也可以在官网下载
首先进入到/usr/local/tools目录,创建新目录,输入命令mkdir tomcat,
进入到tomcat目录,cd /usr/local/tools/tomcat
使用xftp上传压缩包到Tomcat目录下,然后解压安装包,tar -xzvf apache-tomcat-8.5.41.tar.gz,开始解压
解压完成后,需要重启tomcat,进入到解压后目录下的bin目录,命令cd /usr/local/tools/tomcat/apache-tomcat-9.0.24 /bin
然后输入命令./ startup.sh重启服务
在这里插入图片描述
重启结束后,可以在本地浏览器输入http://ip:8080/,观察是否跳转到tomcat主页,如果有,则安装成功

例如

如果网页打不开或者无响应,可能是8080端口没有开放,这个时候需要开放端口,
输入命令 firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙 firewall-cmd --reload
到此,输入命令firewall-cmd --zone=public --list-ports 查看端口是否开放,显示有8080便是成功

修改端口的方法:
conf目录下面的server.xml文件,用记事本打开,滚动到下面这个位置,8181就是我的Tomcat的端口号了。当然这些是可以修改的,不过要防止和其他应用的端口发生冲突,尽量使用1024以上的。
双击bin目录下的start.bat文件,开启Tomcat,再在直接浏览器上输入http://localhost:8181/,这里8181的端口号要改成你在server.xml文件下设置的一致才行。
在这里插入图片描述

这样tomcat安装结束

四、MySQL安装

用yum命令安装
1、下载yum源:

mysql常用命令
检查是否已经安装过mysql,执行命令:rpm -qa | grep mysql

删除已经安装了的已经安装了mysql-libs-5.1.73-5.el6_6.x86_64:rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

查看端口占用:netstat -tunlp|grep 3306

查询所有Mysql对应的文件夹:whereis mysql
删除相关目录或文件:rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql 

检查mysql用户组和用户是否存在,如果没有,则创建:
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -r -g mysql mysql


wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'

2、安装yum源

rpm -Uvh mysql57-community-release-el7-11.noarch.rpm

3、查看有哪些版本的mysql:

yum repolist all | grep mysql

4、安装

yum install -y mysql-community-server

5、启动mysql,要知道在centos7中,没有了service命令,都是使用systemctl命令。注意启动的时候是start mysqld而不是mysql。(而在centos6中,使用service mysqld start)

systemctl start mysqld
  • 运行该命令,发现无法启动,然后使用systemctl status mysqld查看状态,提示如图
    在这里插入图片描述
  • 在网上寻得,发现是/var/lib/mysql /这个目标路径已经存在/var/lib/mysql /,导致无法初始化。
    在这里插入图片描述
  • 解决办法:
rm -rf /var/lib/mysql 

然后在使用:

systemctl start mysqld

查看状态

systemctl status mysqld

如图所示,已经成功安装
在这里插入图片描述
6、登录数据库,修改数据库密码
mysql5.7的新特性之一就是在初始化的时候会生成一个自定义的密码,然后你需要找到这个密码,登录的时候输入。注意,输入密码的时候是不显示。
找到密码: 红框的地方就是密码

grep 'temporary password' /var/log/mysqld.log

在这里插入图片描述
登录数据库:这里-p之后不用输入密码,回车后再输入。改过密码之后登录则是直接在-p后加密码了。

  • 如果获取不到密码,vim /var/log/mysqld.log 发现也是空文件,试过一些方式不行,也是决定修改配置文件,跳过密码校验,方法如下:
修改my.cnf文件
vim /etc/my.cnf

添加:
skip-grant-tables 

在这里插入图片描述

重启mysql:
systemctl start mysqld
登录就不需要密码了:
mysql -u root
update mysql.user  set password=password('root') where user='root';

清除并退出
flush privileges;

修改my.cnf,把之前添加的删除保存,并重启mysql,就看一使用密码登录了

mysql -uroot -p

输入日志打印的密码登录到MySQL
修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root123’;
如果密码设置太简单出现以下的提示
在这里插入图片描述
这里可以修改两个全局参数:
首先,修改validate_password_policy参数的值
set global validate_password_policy=0;
再修改密码的长度
set global validate_password_length=1;
再次执行修改密码就可以了
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;
测试修改后的密码,退出MySQL,输入命令root -u root -p123456,看能否登录
在这里插入图片描述
授权其他机器登陆
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

此处用:GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’;
刷新
FLUSH PRIVILEGES;
至此,MySQL安装完毕
可以在本地用Navicat连接数据库

如果连接不上,查看3306端口是否开放,进入/etc/sysconfig,
安装iptables,输入命令yum install iptables-services
修改该目录下的iptables,在标注的那一行下面添加一样的语句,22改成3306
在这里插入图片描述
添加之后
在这里插入图片描述
然后重启,输入service iptables restart,这样就可以连接数据库

如果提示:
在这里插入图片描述
因为是直接使用 SQL 语句的方式来删除账户,所以必须先选择 mysql 自身的数据库:
use mysql;
在这里插入图片描述
5、安装项目包
将IDEA或者eclipse的项目打成war包,解压到tomcat目录下的webapp即可
具体的操作参考Tomcat部署web项目

解压的方法安装待完善
1、先上传mysql到Linux,我是在tools目录下创建了一个mysql文件,解压到该文件夹下
2、创建用户组和该用户组下的用户
groupadd mysql
useradd -r -g mysql mysql
3、赋权(让该用户组和用户对mysql文件夹具有操作权限)
cd /usr/local/tools/mysql/ 先进到该该文件下
chgrp -R mysql . 用户组赋权
chown -R mysql . 给用户赋权
4、判断/etc/my.cnf文件是否存在,如果存在则删除
ls etc/my.cnf 查看是否存在
存在就删除 rm my.cnf
5、初始化数据库
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/tools/mysql/data/mysql
如果提示没有权限,我是直接给改文件可执行的权限,如图
在这里插入图片描述
如果提示:-bash: ./scripts/mysql_install_db: /usr/bin/perl: 坏的解释器: 没有那个文件或目录
执行:
yum -y install perl perl-devel
yum install -y perl-Data-Dumper
如果提示如图
在这里插入图片描述
网上说使用:/usr/local/tools/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/tools/mysql --datadir=/usr/local/tools/mysql/data

6、复制mysql全局文件,将初始化生成的全局文件,复制到/etc/my.cnf
cp support - file/my-default.cnf /etc/my.cnf
7、复制启动文件
cp support-files/mysql.server /etc/rc.d/init.d/mysql
8、启动mysql服务
service mysql start
9、添加软连接
ln -s /usr/local/tools/mysql/bin/mysql /usr/bin/mysql
10、操作数据库,默认没有密码
mysql -u root -p
11、修改数据库
update user set password=password(‘123456’) where user=‘root’;
12、刷新权限
flush privileges;
13、window连接服务器数据库,连接不上有两个原因

  • 1、没有开放3306端口
  • 2、user表中没有授权’%’
  • GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
  • 3、刷新
    FLUSH PRIVILEGES;

补充mysql的用到的语法:
跳过密码(在跟目录下的my.ini里面的mysqld 下面加上这句,然后重启服务器)
skip-grant-tables
登录命令
mysql -u root -p
查看用户,地址,密码信息(高版本的使用password)
select user,host,authentication_string from user;
设置可以远程访问
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’;
删除用户
delete from mysql.user where user=‘a1’;
刷新
flush privileges;

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

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#include<iostream>#include<stack>#include<queue>using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签