
什么是测试环境呢?大白话讲就是可以基本准确的将测试用例执行出来,并且结果是有参考意义的那么个环境~
这前题是你的测试用例是有效的。那撇掉这个不管的情况下,测试环境就不可能是固定的。
有时候,测试环境可能就是一个系统。P如你这个软件,什么都不用管,你只要测能不能装在XP系统上,那此时,一个完整的XP系统就是测试环境。
有时候,你要测一个网站支持不支持多种浏览器。那此时,你的测试环境就是一个安装了多种浏览器的 *** 作系统。
我说的你明白了么?所谓的搭建测试环境(招聘的老有这要求,会搭建环境),就是你能搭出可供测试用的环境。简单了说~是 *** 作系统~复杂了说,是装了特定软件做了特定设置的 *** 作系统~
问题二:什么是测试环境?如何搭建测试环境? 硬件:包括PC机、笔记本、服务器、各种终端等。例如要测试photoshop软件,是要在PC机上测,还是笔记本上测?是在cpu为酷睿的计算机上测,还是要在炫龙的cpu上测?不同的硬件环境photoshop的处理速度是不一样的。
软件:这里主要指的是软件运行的 *** 作系统。例如测试photoshop,是指windows xp下测试还是在vista下测试?可能会有兼容性问题。软件环境还包括与其他各类软件共存同一系统时的兼容性问题。
一般来说,配置测试环境可遵循下列原则:
1、真实:尽量模拟用户的真实使用环境。这里需要提一点,关于项目软件与产品软件需要不同看待。项目软件由于只针对某一群体的用户,所以测试的环境比较单一。但产品软件针对的是广大群众,所以测试环境比较复杂,要多方面考虑。
2、干净:测试环境中尽量不要安装与被测软件无关的软件。笔者就遇到这种事情,两台机器,针对一个功能,一台测试OK,另一台测试NG,最后根据调查发现,测试OK的机器上安装了客户根本不会安装的VC++开发环境,测试NG的机器正因为没有安装VC,所以测试出了这个bug:软件中缺少必要的动态链接库支持。但这个干净也不是必须的,有时还要刻意去测试某个软件去其他软件并存时的兼容性问题。
问题三:windows怎么搭建测试环境 第1步、下载IIS
1、如果不是很清楚自己的装有Microsoft Windows XP *** 作系统的电脑上是否安装了IIS,可以打开IE浏览器,在其地址栏输入127.0.0.1并回车,如下图
2
如果能正常打开上面的网页,说明本台电脑已安装了IIS(Internet信息服务)。如果打不开上面的网页,我们就得自己来安装IIS。下面介绍的是如何来安装IIS,如果你已会,完全可以跳过本部分,不会的可以一起来学习一下。
3
2、系统安装光盘中带有IIS的安装程序,但因为现在大部分朋友的电脑都是GHOST系统,所以可以用搜索引擎,下载IIS独立安装包。打开百度,输入“IIS for xp”,找到相关链接网站,下载所需要IIS安装包,如下图
4
3、下载下来的“IIS for XP”安装包一般都为压缩文件,所以使用它前,得先行解压,如下图
5
第2步、安装IIS
1、我们依次打开“开始”→“控制面板”,找到并双击”添加或删除程序“,打开了”添加或删除程序“窗口,如下图
6
2、点击窗口左侧的“添加/删除Windows组件”,如下图
7
3、勾选“Internet信息服务”,并点击“下一步”命令按钮,如下图
8
4、d出“所需文件”对话框,点击窗口右下角的“浏览”命令按钮,打开“查找”对话框,找到我们刚才从网上下载下来,并解压的IIS FO XP 安装包,找到所需的文件,选择打开后,然后再点“确定”命令按钮,继续IIS的安装,以后安装过程中再需要什么文件的话,找到安装包后,选择文件就可以了。如下图
9
点击“完成”命令按钮,完成IIS的安装,如下图
10
第3步、测试IIS
打开IE 浏览器,在其地址栏输入”127.0.0.1“后回车,看到如下图所示的界面,就证明IIS安装成功了,如下图
11
至此,我们已成功安装IIS,IIS的安装讲解完毕,接下来讲解如何测试我们自己的ASP网站。
12
第4步、架设网站
1、我们把自己的ASP网站源代码拷贝到电脑任意一个磁盘分区,比如D盘,如下图
13
2、打开“计算机”管理。在“我的电脑”上右击,选择并点击“管理”,这样我们就打开了“计算机管理”窗口,在该窗口左侧依次点击“服务和应用程序”→“Internet信息服务”→“网站”,然后在“默认网站”上右击,选择“新建”→“虚拟目录”,如下图
14
3、新建虚拟目录。点击“虚拟目录”,打开“虚拟目录创建向导”对话框,点击“下一步”命令按钮,输入虚拟目录“别名”,比如:glxt,然后再点“下一步”命令按钮,通过“浏览”的方式找到网站源代码所在的目录,我们刚才把源代码放在了:D:\bysjASP,如下图
15
4、完成向导。目录选择好后,我们点“下一步”,在“访问权限”对话框,按照下图所示选择就可以了,再点“下一步”命令按钮,出现“已成功完成虚拟目录创建向导”对话框,点击“完成”,完成虚拟目录的创建工作,如下图
16
第5步、测试网站
1、我们在“计算机管理”窗口的“默认网站”下面,找到我们刚才创建成功的虚拟目录“glxt”,然后点击这个虚拟目录,如下图
17
2、在窗口的右侧,找到我们网站的首页:index.asp,然后右击这个文件,在d出的快捷菜单中选择并点击“浏览”,如下图
18
这样我们就打开了我们自己的网站,如果程序没有错误,网站是可以正常打开的;如果程序有错误,则网......>>
问题四:如何搭建一个稳定、可重复的测试环境 innodb_data_home_dir = /longxibendi/mysql/mysql/var/
#innodb_data_file_path = ibdata1:1G:autoextend
innodb_data_file_path = ibdata1:500Mibdata2:2210M:autoextend #表空间
innodb_file_io_threads = 4 #io线程数
问题五:什么是android测试环境搭建 android 官网之前发布过ADT版本的Eclipse,建议使用官网提供的集成开发环境IDE(已上传附件),即官方已经集成好ADT CDT SDK Eclipse,不需要再做任何的配置,直接解压就可以用了。
问题六:面试问到软件测试中怎么搭建测试环境 搭建测试环境实际就是部署环境,比如window+mysql+tomcat部署这些
问题七:软件测试搭建环境具体是怎么做的 这个要看实际工作环境、软件的运行环境来决定的,总体来说从:
1、 *** 作系统:win还是Linux
2、软件架构: B/S还是C/S
3、数据库类型:orcale还是mssql,db2deng
。。。。
问题八:前端的开发调试测试的环境怎么搭建 前端环境搭建系列的目的是把前端团队作为一个整体,如何有效的团队协同开发,第一部分开发环境。
1.代码版本管理
SVN是必不可少了,版本号的规划按照项目三位版本,开发四位版本来部署。比如我要做A项目,版本号为1.0.0,我第一次提测的代码版本为1.0.0.1。每次四位版本按照tag区分。QA按照这个tag部署测试代码,OP则部署线上代码。
如果多个项目同时开发,就开分支。这些需要一个项目管理平台来管理版本。
2. 开发环境
我假设前端team的范畴是HTML CSS JS MVC中的V 和 C。最佳的环境是每个人一个开发环境,代码通过SVN同步别人的代码。但是文件的路径全部都一致。
比如
css的img.xx/css
js的img.xx/js
flash的img.xx/swf
后台环境,假设每个后端开发也都有独立的环境,如果和谁联调代码就让他把配置指向你的V C目录进行调试。
QA环境的debug问题,你的环境和QA环境代码部署一致,能够通过host切换静态文件,如css js flash。毕竟前端的大部分问题是前端代码的问题,V 和 C的问题就在自己的环境调试了,静态资源切换到QA的host。
数据问题,最后有个大的造数据平台,通用一份数据库,提供数据增加和修改的接口,这是理想状态,当然这个平台也会很麻烦,实在不行就通过后端的数据 *** 作接口 *** 作数据。
3.编译环境
可恶的前端代码裸上,会有很多问题,大部分是性能问题,还有部分是缓存问题。
所以需要提供编译环境,编译流程放在提测前是安全的,因为会经过QA的质量检测,如果在OP环节应该比较麻烦,编译代码的bug也没人去测。
编译一般解决的事情
1、批量的一些 *** 作,比如版本号
2、代码的合并和压缩
3、代码的优化或者职能替换,比如资源打包
我遇到过的开发状况都不乐观。所以有时间自己搭下试试有多复杂。
一般有公用开发环境,就一台机器一个host,不管主干分支都放在那里,可想又多混乱,还有前端无版本管理软件,人肉维护多个并发版本。
或者有版本管理,开发环境还是多人一个,而且没有host,静态资源引入都是通过模板conf管理路径的。这样的代码不利于资源路径管理,特别是图片,加入png半透明的需要全路径,多个css合并的最好是根目录路径。
各种悲剧,此文到此结束。下篇为开发模式和模块化。
有一些有用的工具可以测试MySQL 和基于MySQL 的系统的性能。这里将演示如何利用这些工具进行测试。mysqlslap
mysqlslap可以模拟服务器的负载,并输出计时信息。它包含在MySQL 5.1 的发行包中,应该在MySQL 4.1或者更新的版本中都可以使用。测试时可以执行并发连接数,并指定SQL 语句(可以在命令行上执行,也可以把SQL 语句写入到参数文件中)。如果没有指定SQL 语句,mysqlslap 会自动生成查询schema 的SELECT 语句。
MySQL Benchmark Suite (sql-bench)
在MySQL 的发行包中也提供了一款自己的基准测试套件,可以用于在不同数据库服务器上进行比较测试。它是单线程的,主要用于测试服务器执行查询的速度。结果会显示哪种类型的 *** 作在服务器上执行得更快。
这个测试套件的主要好处是包含了大量预定义的测试,容易使用,所以可以很轻松地用于比较不同存储引擎或者不同配置的性能测试。其也可以用于高层次测试,比较两个服务器的总体性能。当然也可以只执行预定义测试的子集(例如只测试UPDATE 的性能)。这些测试大部分是CPU 密集型的,但也有些短时间的测试需要大量的磁盘I/O *** 作。
这个套件的最大缺点主要有:它是单用户模式的,测试的数据集很小且用户无法使用指定的数据,并且同一个测试多次运行的结果可能会相差很大。因为是单线程且串行执行的,所以无法测试多CPU 的能力,只能用于比较单CPU 服务器的性能差别。使用这个套件测试数据库服务器还需要Perl 和BDB 的支持,相关文档请参考.
Super Smack
Super Smack是一款用于MySQL 和PostgreSQL的基准测试工具,可以提供压力测试和负载生成。这是一个复杂而强大的工具,可以模拟多用户访问,可以加载测试数据到数据库,并支持使用随机数据填充测试表。测试定义在"smack"文件中,smack 文件使用一种简单的语法定义测试的客户端、表、查询等测试要素。
Database Test Suite
Database Test Suite 是由开源软件开发实验室(OSDL,Open Source DevelopmentLabs)设计的,发布在SourceForge 网站上,这是一款类似某些工业标准测试的测试工具集,例如由事务处理性能委员会(TPC,Transaction Processing Performance Council)制定的各种标准。特别值得一提的是,其中的dbt2 就是一款免费的TPC-C OLTP 测试工具(未认证)。之前本书作者经常使用该工具,不过现在已经使用自己研发的专用于MySQL 的测试工具替代了。
Percona's TPCC-MySQL Tool
我们开发了一个类似TPC-C 的基准测试工具集,其中有部分是专门为MySQL 测试开发的。在评估大压力下MySQL 的一些行为时,我们经常会利用这个工具进行测试(简单的测试,一般会采用sysbench 替代),在源码库中有一个简单的文档说明。
sysbench
sysbench是一款多线程系统压测工具。它可以根据影响数据库服务器性能的各种因素来评估系统的性能。例如,可以用来测试文件I/O、 *** 作系统调度器、内存分配和传输速度、POSIX 线程,以及数据库服务器等。sysbench 支持Lua 脚本语言,Lua 对于各种测试场景的设置可以非常灵活。sysbench 是我们非常喜欢的一种全能测试工具,支持MySQL、 *** 作系统和硬件的硬件测试。(节选自《高性能MySQL》)
MySQL数据同步主要有三种方式:1.利用MySQL自身的数据库同步功能
2.利用MySQL数据库的特性(数据库存在固顶目录,并且以文件形式存储),进行数据库目录同步以达到数据同步目的
3.利用专用的MySQL数据库同步软件
1.利用MySQL自身的数据库同步功能(下面参考自网上的文章,写的非常详细了)
MySQL从3.23.15版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能.
数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(一般是my.cnf),在unix环境下在/etc/mysql/my.cnf或者在mysql用户的home目录下的my.cnf。
windows环境中,如果c:根目录下有my.cnf文件则取该配置文件。当运行mysql的winmysqladmin.exe工具时候,该工具会把c:根目录下的my.cnf命名为mycnf.bak。并在winnt目录下创建my.ini。mysql服务器启动时候会读该配置文件。所以可以把my.cnf中的内容拷贝到my.ini文件中,用my.ini文件作为mysql服务器的配置文件。
设置方法:
设置范例环境:
*** 作系统:window2000professional
mysql:4.0.4-beta-max-nt-log
Aip:10.10.10.22
Bip:10.10.10.53
A:设置
1.增加一个用户最为同步的用户帐号:
GRANTFILEON*.*TObackup@'10.10.10.53'IDENTIFIEDBY‘1234’
2.增加一个数据库作为同步数据库:
createdatabasebackup
B:设置
1.增加一个用户最为同步的用户帐号:
GRANTFILEON*.*TObackup@'10.10.10.22'IDENTIFIEDBY‘1234’
2.增加一个数据库作为同步数据库:
createdatabasebackup
主从模式:A->B
A为master
修改Amysql的my.ini文件。在mysqld配置项中加入下面配置:
server-id=1
log-bin
#设置需要记录log可以设置log-bin=c:mysqlbakmysqllog设置日志文件的目录,
#其中mysqllog是日志文件的名称,mysql将建立不同扩展名,文件名为mysqllog的几个日志文件。
binlog-do-db=backup#指定需要日志的数据库
重起数据库服务。
用showmasterstatus命令看日志情况。
B为slave
修改Bmysql的my.ini文件。在mysqld配置项中加入下面配置:
server-id=2
master-host=10.10.10.22
master-user=backup#同步用户帐号
master-password=1234
master-port=3306
master-connect-retry=60预设重试间隔60秒
replicate-do-db=backup告诉slave只做backup数据库的更新
重起数据库
用showslavestatus看同步配置情况。
注意:由于设置了slave的配置信息,mysql在数据库目录下生成master.info
所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。
双机互备模式。
如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。
在A的配置文件中mysqld配置项加入以下设置:
master-host=10.10.10.53
master-user=backup
master-password=1234
replicate-do-db=backup
master-connect-retry=10
在B的配置文件中mysqld配置项加入以下设置:
log-bin=c:mysqllogmysqllog
binlog-do-db=backup
注意:当有错误产生时*.err日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slavestart
重起AB机器,则可以实现双向的热备。
测试:
向B批量插入大数据量表AA(1872000)条
A数据库每秒钟可以更新2500条数据。
2.数据库目录同步,方法和文件同步一样,设置好需要同步的两个数据库目录就可以了!
缺点很明显,数据同步只能单向进行,可以作为备份方案
3.用专用的MySQL同步软件进行同步
这方面的软件有SQLBalance和MyReplicator,优点是方便直观,还有很多争强功能!
缺点和2一样,只能单项同步!
当然你也可以修改镜像网站的程序为提交数据到母数据库,读取则在当前镜像下的数据,不过,修改起来麻烦!普通用户修改也非常难!呵呵,大家了解一下就可以!给大家一个思路!有能力的朋友可以试试阿!
4.关于MySQL论坛的数据同步
由于数据来源的不可控制(不好表达),论坛数据是实时的,而且还要考虑来自镜像论坛的数据,如何实现镜像论坛与母论坛数据同步呢?
用1中介绍的MySQL自带的数据库同步功能互相备份模式就可以实现的!
不过,具体的应用我没有测试!稳定性不敢保证!
有能力的朋友推荐用下面这种思路来同步,相对来说减少点效率,但能减少发生的错误!
比如镜像论坛数据同步:
1.母论坛和镜像论坛的数据全写在母论坛数据库里,主从模式,读取只在本地读取,这个需要修改程序!
2.每次写数据,都同时提交到两个数据库中,安全,但是效率很差,也得修改程序!
MSSQL
MSSQL数据同步利用数据库复制技术实现数据同步更新(来自网络,也是非常完美的教程)
复制的概念
复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。
SQL复制的基本元素包括
出版服务器、订阅服务器、分发服务器、出版物、文章
SQL复制的工作原理
SQLSERVER主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器
SQLSERVER复制技术类型
SQLSERVER提供了三种复制技术,分别是:
1、快照复制(呆会我们就使用这个)
2、事务复制
3、合并复制
只要把上面这些概念弄清楚了那么对复制也就有了一定的理解。接下来我们就一步一步来实现复制的步骤。
第一先来配置出版服务器
(1)选中指定[服务器]节点
(2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令
(3)系统d出一个对话框点[下一步]然后看着提示一直 *** 作到完成。
(4)当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器。同时也生成一个分发数据库(distribution)
第二创建出版物
(1)选中指定的服务器
(2)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令。此时系统会d出一个对话框
(3)选择要创建出版物的数据库,然后单击[创建发布]
(4)在[创建发布向导]的提示对话框中单击[下一步]系统就会d出一个对话框。对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)
(5)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行"SQLSERVER2000"的数据库服务器
(6)单击[下一步]系统就d出一个定义文章的对话框也就是选择要出版的表
(7)然后[下一步]直到 *** 作完成。当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。
第三设计订阅
(1)选中指定的订阅服务器
(2)从[工具]下拉菜单中选择[复制]子菜单的[请求订阅]
(3)按照单击[下一步] *** 作直到系统会提示检查SQLSERVER代理服务的运行状态,执行复制 *** 作的前提条件是SQLSERVER代理服务必须已经启动。
(4)单击[完成]。完成订阅 *** 作。
完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?这里可以通过这种方法来快速看是否成功。展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。接下来就是判断复制是否成功了打开C:/ProgramFiles/MicrosoftSQLServer/MSSQL/REPLDATA/unc/XIAOWANGZI_database_database下面看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。要是你还不信的话就打开你的数据库看在订阅的服务器的指定订阅数据库下看是不是看到了你刚才所发布的表—
一个手工同步的方案
--定时同步服务器上的数据
--例子:
--测试环境,SQLServer2000,远程服务器名:xz,用户名为:sa,无密码,测试数据库:test
--服务器上的表(查询分析器连接到服务器上创建)
createtable[user](idintprimarykey,numbervarchar(4),namevarchar(10))
go
--以下在局域网(本机 *** 作)
--本机的表,state说明:null表示新增记录,1表示修改过的记录,0表示无变化的记录
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[user]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
droptable[user]
GO
createtable[user](idintidentity(1,1),numbervarchar(4),namevarchar(10),statebit)
go
--创建触发器,维护state字段的值
createtriggert_stateon[user]
afterupdate
as
update[user]setstate=1
from[user]ajoininsertedbona.id=b.id
wherea.stateisnotnull
go
--为了方便同步处理,创建链接服务器到要同步的服务器
--这里的远程服务器名为:xz,用户名为:sa,无密码
ifexists(select1frommaster..sysserverswheresrvname='srv_lnk')
execsp_dropserver'srv_lnk','droplogins'
go
execsp_addlinkedserver'srv_lnk','','SQLOLEDB','xz'
execsp_addlinkedsrvlogin'srv_lnk','false',null,'sa'
go
--创建同步处理的存储过程
ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[p_synchro]')andOBJECTPROPERTY(id,N'IsProcedure')=1)
dropprocedure[dbo].[p_synchro]
GO
createprocp_synchro
as
--setXACT_ABORTon
--启动远程服务器的MSDTC服务
--execmaster..xp_cmdshell'isql/S"xz"/U"sa"/P""/q"execmaster..xp_cmdshell''netstartmsdtc'',no_output"',no_output
--启动本机的MSDTC服务
--execmaster..xp_cmdshell'netstartmsdtc',no_output
--进行分布事务处理,如果表用标识列做主键,用下面的方法
--BEGINDISTRIBUTEDTRANSACTION
--同步删除的数据
deletefromsrv_lnk.test.dbo.[user]
whereidnotin(selectidfrom[user])
--同步新增的数据
insertintosrv_lnk.test.dbo.[user]
selectid,number,namefrom[user]wherestateisnull
--同步修改的数据
updatesrv_lnk.test.dbo.[user]set
number=b.number,name=b.name
fromsrv_lnk.test.dbo.[user]a
join[user]bona.id=b.id
whereb.state=1
--同步后更新本机的标志
update[user]setstate=0whereisnull(state,1)=1
--COMMITTRAN
go
--创建作业,定时执行数据同步的存储过程
ifexists(SELECT1frommsdb..sysjobswherename='数据处理')
EXECUTEmsdb.dbo.sp_delete_job@job_name='数据处理'
execmsdb..sp_add_job@job_name='数据处理'
--创建作业步骤
declare@sqlvarchar(800),@dbnamevarchar(250)
select@sql='execp_synchro'--数据处理的命令
,@dbname=db_name()--执行数据处理的数据库名
execmsdb..sp_add_jobstep@job_name='数据处理',
@step_name='数据同步',
@subsystem='TSQL',
@database_name=@dbname,
@command=@sql,
@retry_attempts=5,--重试次数
@retry_interval=5--重试间隔
--创建调度
EXECmsdb..sp_add_jobschedule@job_name='数据处理',
@name='时间安排',
@freq_type=4,--每天
@freq_interval=1,--每天执行一次
@active_start_time=00000--0点执行
go
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)