3年百度总监教你软件测试环境的搭建

Posted 丸子说测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3年百度总监教你软件测试环境的搭建相关的知识,希望对你有一定的参考价值。

前言

测试环境是QA开展测试工作的前置条件。稳定和可控的测试环境,可以使测试人员在执行测试用例时无需花费额外的时间去维护。有些公司运维或者研发部门会帮忙准备好测试环境,但是QA如果一味依赖其他部门,会局限测试工作的开展。

 

一、什么是测试环境

测试环境,指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称,简而言之,测试环境=硬件+软件+网络+数据准备+测试工具。

  • 硬件:指测试必需的服务器、客户端、网络连接等辅助设备。

  • 软件:指测试软件运行时的操作系统、数据库及其他应用软件。

  • 网络:指被测软件运行时的网络系统、网络结构以及其他网络设备构成的环境等。

  • 数据准备:一般指测试数据的准备。测试数据会在测试用例设计的阶段设计好,然后软件运行的时候,作为软件输入去验证软件功能。如果是少量、正常的测试数据,可以直接通过手动方式模拟出来,如果是大量的用户数据的模拟,可以借助测试工具来构建。

  • 测试工具:工具是辅助测试的好帮手,针对将要做的测试类型,可选择合适的工具让我们的测试事半功倍。比如接口测试,可以选择Jmeter或者postman;抓包工具,可以选择fiddler,wireshark等。

二、搭建测试环境的原则

1. 真实

     要求测试人员尽量模拟用户的真实使用环境。我们应该选用合适的操作系统和软件平台,了解符合测试软件运行的最低要求及用户使用的硬件配置,考虑到与其他软件共存时,是否能正常运行等。

2. 无毒

     若搭建的测试环境感染病毒,会导致测试软件经常出现莫名的崩溃,运行不起来等现象,导致测试中断。使用正版杀毒软件防止病毒感染测试环境,保证无毒环境。

3. 独立

     测试过程中要确保我们的测试环境独立,避免测试环境被占用,影响测试进度及测试结果。有时开发人员为确定问题会使用我们的测试环境,这样会打乱我们的测试活动。为避免这种情况,测试环境与开发环境应相互独立,开发人员根据缺陷表单,在开发环境中复现和定位问题。

4. 可复用

     当我们刚搭建好测试环境,安装测试软件之前及测试过程中,对操作系统及测试环境进行备份是必要的。在当测试环境遭到破坏时,可以恢复测试环境,避免测试数据丢失,出现不可预知的问题。

三、如何搭建测试环境

1.认识LNMT架构

这里主要介绍测试环境服务端的部署。不同公司的服务端部署都不一样。互联网公司比较典型的部署框架LNMT(Linux+nginx+mysql+Tomcat)如下图:

图片

  1. 浏览器和APP端是通过HTTP协议跟服务器进行交互的。

  2. Nginx,有些公司也用Apache。这是常用的HTTP服务器和反向代理服务器。Nginx是用来提供静态资源的服务,Nginx接收到来自浏览器的请求以后,判断这个请求是否是静态资源(以JS、CSS、html、PNG等结尾的静态文件),如果是,则Nginx直接返回相应文件;如果不是静态资源,是动态请求,比如,请求某一个日志的内容,则Nginx会把请求转发给Tomcat来处理。

  3. Tomcat,是处理动态的HTTP请求,调用各种其他服务,完成相应的任务,并返回HTTP响应给Nginx。如果涉及到写日志、读日志等数据相关的操作,就需要对数据库进行读写。另外,由于这些动态请求也会依赖一些第三方服务,比如说要调用支付宝的支付服务,那么它就会再发起一个HTTP请求到支付宝的对外服务器。它处理完整个逻辑之后,就会把相应的内容返回给Nginx,然后由Nginx返回给浏览器。

  4. Mysql数据库,将各种数据有序的管理起来,并对其他应用提供统一的接口和服务。

     

2. LNMT架构部署

图片

此处主要介绍搭建环境的思路,更详细的配置步骤不再赘述。

1) 申请虚拟机器

申请两台虚拟机A和B,机器A作为Nginx服务器+Mysql服务器;机器B作为2台Tomcat服务器。

2) 在机器A上安装和配置Nginx

  • 下载并安装Nginx

  • 配置环境变量

  • 启动Nginx

3)在机器A上安装Mysql

  • 下载安装包并解压

  • 添加环境变量

  • 初始化数据库

  • 启动Mysql

4)在机器B上部署两台Tomcat

  • 关闭防火墙和selinux

  • 安装jdk环境

  • 下载Tomcat并解压两次,目录不同

  • 两台Tomcat建立软链接

  • 修改其中一台Tomcat的配置文件server.xml,避免端口冲突。server.xml配置的是地址、端口、最大连接数、编译好的应用程序目录等信息

  • 启动Tomcat服务

  • 验证部署成功,即浏览器输入ip地址+端口号能成功访问

5)配置Nginx

  • 配置负载均衡和两个Tomcat的反向代理

  • 检查语法并加载Nginx

  • 验证配置成功

总结

对于测试人员来说,对于这一整个机制需要理解,比如,各个工具的作用是什么,各个配置文件的意义是什么,各块的配置是怎么连起来的。

在搭建测试环境的过程中要多跟开发、运维沟通。测试环境的搭建和维护处在重要的位置,它的好坏直接影响测试结果的真实性和准确性。维护测试环境需要大量的精力,不是一个人能完成的,需要我们大家积极配合。

在这里推荐一个我自己创建的软件测试交流群,QQ:642830685,群中会不定期的分享软件测试资源,测试面试题以及测试行业资讯,大家可以在群中积极交流技术,还有大佬为你答疑解惑。

风里雨里,我在群中等你。

以上是关于3年百度总监教你软件测试环境的搭建的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你内网环境搭建百度地图

《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 3]

《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 3]

《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Windows版 - 3]

《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Windows版 - 3]

Docker-教你如何通过 Docker 快速搭建各种测试环境