小Q问:做测试的时候如何去搭建测试环境呢?
CC先生答:
那什么是测试环境呢?
简单的说就是软件运行的平台,即软件、硬件和网络三种环境的合集,也就是说:测试环境=软件+硬件+网络
硬件:包括PC机、笔记本、服务器、各种终端等。例如要测试word,是要在PC机上测,还是笔记本上测?是在cpu为酷睿的计算机上测,还是要在炫龙的cpu上测?不同的硬件环境的处理速度是不一样的。
软件:主要指的是软件运行的操作系统。例如测试QQ,是指windows7下测试还是在Liunx下测试?如果是手机的话,是在IOS下测还是安卓下测。可能会有兼容性问题。软件环境还包括与其他各类软件共存同一系统时的兼容性问题。
网络:主要针对的是C/S结构和B/S结构的软件。比如APP专项测试里面有一项就是弱网测试,比如我用摩拜的APP,在网络信号很差的环境下,就连首页都开不了。这从用户体验的角度来说,不得不说是个硬伤。
上面介绍了什么是测试环境。那么如何搭建测试环境呢?
一般来说,配置测试环境可遵循下列原则:
1、真实:尽量模拟用户的真实使用环境。这里需要提一点,关于项目软件与产品软件需要不同看待。项目软件由于只针对某一群体的用户,所以测试的环境比较单一。但产品软件针对的是广大群众,所以测试环境比较复杂,要多方面考虑。同时要考虑到如果线上的压力比较大的话,还需要尽量的多模拟线上的数据,有一款导出线上流量的工具tcpcopy就蛮好用的。(属于XCopy系列)
2、独立:测试环境与开发环境相互独立。就是说开发环境和测试环境最好分开,即测试人员和开发人员分别用不同的服务器(数据库、后台服务器等),避免造成相互干扰。甚至有一些测试团队连测试人员都是各测各的环境,避免数据混淆。
3、无毒,这个应该不必多说了,测试工作应该确保在无毒的环境中进行。
4、干净:测试环境中尽量不要安装与被测软件无关的软件。不过如果是上面我们所说到到模拟真实的话,对于产品来说,你永远不知道用户会去装什么软件,这一点其实也不是很重要。
系统架构图.jpg从上图就可以看出来,至少你要会搭建WEB服务器和数据库服务器。(有时候这两个服务器是指的同一台机器,有人又会把数据库服务器直接归入到WEB服务器中)
WEB服务器的搭建又涉及到开发所使用的WEB开发技术和操作系统,比如我现在要搭建一个PHP开发的系统的时候:
- 如果搭建在windows上,装一个XAMPP软件就可以了,它可以提供你安装Apache和Mysql的服务。
- 如果搭建在linux系统上,比如最流行的LAMP(Linux,Apache,Mysql,PHP)(百度即可得:https://jingyan.baidu.com/article/9989c74605fa47f648ecfe2f.html)
补充:针对于Java语言,流行的web服务器Nginx / Apache/ lighttpd (各自区别:http://blog.csdn.net/zhgn2/article/details/14774603)
综上所述,测试环境的搭建还是依赖于你所要测试的软件开发的技术。当然,时下比较流行的是利用虚拟技术实现开发环境,测试环境,生产环境的无缝连接。有兴趣的同学可以多去了解一下 下面的这条鲸鱼,俨然已经是Devops的趋势所在。
docker.jpgHistory
开发在赶天赶地写Bug的时候,测试该干嘛呢?
如何制定测试策略?
如何搭建测试环境
一个人如何开展测试工作
什么样的人适合做测试
网友评论