qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

Selenium中使用chromedriver备忘

 chromedriver是chrome浏览器的webdriver的一个实现。ChromeDriver是由Chrome开发团队来完成的因而ChromeDriver不包含在selenium包中,需要从ChromeDriver网页上下载下来。
  下载地址:
  https://code.google.com/p/chromedriver/downloads/list
  当然你需要安装chrome浏览器,浏览器中有支持WebDriver的API,你才可以使用ChromeDriver。
  使用ChromeDriver:
  System.setProperty("webdriver.chrome.driver", "D:/workspace_Test/ProjectTest/chromedriver.exe"); //设置系统的变量,红色部分为你的chromedriver.exe放置的位置
  WebDriver driver = new ChromeDriver();
  使用RemoteWebDriver:
  DesiredCapabilities capability = DesiredCapabilities.chrome();
  WebDriver driver = new RemoteWebDriver(url, capability);
  在使用远程的chromedriver时,需要指定chromedriver.exe的位置
  如果是作为selenium grid的一个node节点,可以使用以下方式进行启动:
  java -jar selenium-server-standalone-2.25.0.jar -role node -hub http://10.1.60.55:4444/grid/register -port 55551 -Dwebdriver.chrome.driver="c:\chromedriver.exe"
  -browser "browserName=chrome,version=17,maxInstances=10,platform=WINDOWS"
  备忘:
  hub节点启动:
  java -jar selenium-server-standalone-2.25.0.jar -role hub
  默认的端口号为4444,默认主机为localhost

posted @ 2014-10-14 09:30 顺其自然EVO 阅读(663) | 评论 (0)编辑 收藏

LoadRunner监控数据库服务器

使用LoadRunner数据库服务器资源监控器,可以在场景或会话步骤运行期间监控DB2、OracleSQL Server或Sybase数据库的资源使用率。在场景或会话步骤运行期间,使用这些监控器可以隔离数据库服务器性能瓶颈。对于每个数据库服务器,在运行场景或会话步骤之前需要配置要监控的度量。要运行DB2,Oracle和Sybase监控器,还必须在要监控的数据库服务器上安装客户端。
  1>.SQL Server数据库服务器的监控
  类似windows资源监控
  2>.Oracle数据库服务器的监控
  a.确保Oracle客户端已安装在Controller或优化控制台计算机上。
  b.验证路径环境变量中是否包括%OracleHome%\bin.如果不包括,请将其添加到路径环境中。
  c.在Controller或优化控制台计算机上配置tnsnames.ora文件。
  d.向数据库管理员索要该服务器的用户名和密码,并确保Controller或优化控制台对Oracle表具有数据库管理员权限
  e.通过在Controller或者优化控制台计算机上执行tns ping,验证与Oracle服务器的连接
  f.要确保注册表已经依照正在使用的Oracle版本进行了更新并且具有以下注册表项 /HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
  g.验证要监控的Oracle服务器是否已经启动并正在运行
  监控项包括:缓存命中、索引、单条SQL性能、数据库线程数、数据池连接数

posted @ 2014-10-14 09:30 顺其自然EVO 阅读(759) | 评论 (0)编辑 收藏

Visual Studio之UI界面测试

UI界面测试其实就是录制操作路径(Mapping),然后按照路径还原操作顺序的一个过程。这个方法对于Winform和Webform都同样适用。下面以winform为例,来介绍如何进行录制。
  1.新建一个Coded UI Test
  2.然后选择录制。
  3.屏幕右下方会出现UIMap.
  4.打开一个Winform,使用“查看UI控件属性”这个功能可以查看所选控件的属性。
  5.点击红色的开始录制,然后对被测的Winform程序进行一些操作。操作后暂停录制,然后可以查看所录制的操作过程和操作数据。如下图所示:
6.点击产生代码,系统会自动产生如下所示的操作代码。
  7.重新打开被测的Winform程序,然后在Test List Editor里面选择刚生成的CodedUITestMethod1方法,执行它。则被测Winform程序会自动执行刚才所录制的所有操作。
  至此,一个简单的Winform单元测试就完成了。对于Webform的录制过程和Winform一样,需要注意的是在录制之前一定要先把测试的网站打开,不能只打开IE。

posted @ 2014-10-14 09:21 顺其自然EVO 阅读(556) | 评论 (0)编辑 收藏

SSD硬盘性能测试比较

 由于公司最近需要上SSD,用于MySQL数据库服务器,以下针对单块480G SSD、接RAID卡240G SSD* 2 RAID0,以及与普通硬盘SATA硬盘以及SAS(raid10)做个比较:
  480G SSD: INTEL SSDSC2BP480G4
  SATA:WD6401AALS-00J7B1
  240*2 SSD RAID0:  INTEL SSDSC2BP240410BTJR408108F5240AGN    RAID卡: LSI MegaRAID SAS 9271-4i
  300G*4 SAS RAID10: SEAGATE ST3146855SS
  测试目的:
  1、测试单块480G SSD硬盘直连主板,与2块240G SSD 接RAID卡做RAID0 性能比较
  2、测试单块SSD与SATA以及SAS(RAD10)的性能比较
  测试方法:
  1、通过sysbench mark基准测试工具对文件读写IO进行测试;
  2、准备样本数据100G,分16个文件;
  3、分别基于4KB,16KB 两个block size进行读写测试;
  4、共进行随机读、随机写、随机读写、顺序读、顺序写、顺序读写6种Case测试;
  5、测试同时加载16个线程,最大执行时间180秒,最大请求100000次;
  测试脚本:
#!/bin/sh
device=$1
log_file=fileio.log
Usage() {
echo "basename $0 [Device Directory]"
exit 0
}
if [ -z "$*" ] || [ $# -ne 1 ]; then
Usage
fi
cd $device
for blksize in 4096 16384; do
##prepare
/usr/local/sysbench/bin/sysbench --test=fileio --file-num=16 --file-total-size=100G prepare
for mode in rndrd rndwr rndrw seqrd seqwr seqrewr; do
# for mode in seqrewr; do
echo "----$device $blksize $mode----" >> $log_file
#run
/usr/local/sysbench/bin/sysbench --test=fileio --file-num=16 --file-total-size=100G --file-test-mode=$mode --max-time=180 --max-requests=100000 --num-t
hreads=16 --init-rng=on --file-extra-flags=direct --file-fsync-freq=0 --file-block-size=$blksize run >> $log_file 2>&1
done
#cleanup
/usr/local/sysbench/bin/sysbench --test=fileio --file-total-size=100G cleanup
done
  测试结果1:单块480G SSD与2块240 SSD(RAID0)性能比较
  1、随机读
  4KB Block随机读:两者相当                     16KB Block随机读:240G*2 SSD(RAID0)相对较优;
  2、随机写
  4KB Block随机写:480G SSD(Local)较优          16KB Block随机写:两者相当;
  3、随机读写
  4KB Block随机读写: 480G SSD(Local)较优        16KB Block随机读写:240G*2 SSD(RAID0)相对较优
  4、顺序读
  4KB Block顺序读: 240G*2 SSD(RAID0)较优          16KB Block顺序读:240G*2 SSD(RAID0)较优
  5、顺序写
  4KB Block顺序写:480G SSD(Local)较优          16KB Block顺序写: 480G SSD(Local)较优
  6、顺序读写
  4KB Block顺序读写:480G SSD(Local)较优        16KB Block顺序写:480G SSD(Local)较优
  测试结论1:(For 单块SSD与SSD(raid0)比较)
  1、总体IO读方面:240G*2 SSD (RAID0)在读性能方面相对较优,但只是略微高于480G SSD(Local),远远未达到2倍的效果;
  2、总体IO写方面:480G SSD(Local) 各种写情况都高于240G*2 SSD (RAID0) ;
 测试结果2:(For SSD与SATA以及SAS(RAID10)的性能测试对比)
  (由于mysql innodb datafile 每个PAGE Size默认为16KB,这里主要看16KB Block Size的性能对比结果)
  测试结论2:
  1、可见SSD在随机读、写等方面等有非常大的优势,顺序读和顺序写方面,与SATA的优势不明显,但仍远远大于SAS(RAID10)的性能;
  2、虽在Sequential Read&Write of IOPS方面 SATA略优于SSD,但数据库很少有这种应用。
  测试结果数据统计:
  以上主要测试硬盘在IO方面的性能对比结果,目前暂未测试基于MySQL QPS/TPS的测试结果。

posted @ 2014-10-14 09:20 顺其自然EVO 阅读(467) | 评论 (0)编辑 收藏

测试思想—系统测试之用户文档测试

文档类型
  用户手册
  安装和设置指导
  联机帮助
  指南、向导
  样例、示例和模板
  授权/注册登记表
  最终用户许可协议
  测试要点
  读者群:文档面向的读者定位要明确。对于初级用户、中级用户以及高级用户应该有不同的定位
  术语:文档中用到的术语要适用于定位的读者群,用法一致,标准定义与业界规范相吻合。
  正确性:测试中需检查所有信息是否真实正确,不出现错别字,查找由于过期产品说明书和销售人员夸大事实而导致的错误。检查所有的目录、索引和章节引用是否已更新,尝试链接是否准确,产品支持电话、地址和邮政编码是否正确等。
  完整性:对照软件界面检查是否有重要的分支没有描述到,甚至是否有整个大模块没有描述到,主要是测试文档内容的全面性。
  一致性:检查文档描述与实际结果的一致性。按照文档描述的操作执行后,检查软件返回的实际结果是否与文档描述的相同。检查所有图表与界面截图是否与发行版本相同。检查样例与示例,像用户一样载入和使用样例。如果是一段程序,就输入数据并执行它,以每一个模块制作文件,确认它们与描述的一致性
  易用性:对关键步骤以粗体或背景色给用户以提示,合理的页面布局、适量的图表都可以给用户更高的易用性。需要注意的是文档要有助于用户排除错误。不但描述正确操作,也要描述错误处理办法。文档对于用户看到的错误信息应当有更详细的文档解释。
  无二义性:不要出现有二义性的说法。特别要注意的是屏幕截图或绘制图形中的文字。
  印刷与包装:检查印刷质量;手册厚度与开本是否合适;包装盒的大小是否合适;有没有零碎易丢失的小部件等等

posted @ 2014-10-13 09:53 顺其自然EVO 阅读(160) | 评论 (0)编辑 收藏

在wamp下安装bugfree

 1.wamp安装,
  wamp的安装时相当简单的了
  2.如果出现问题,请修改配置
  1)打开wamp安装目录,搜一下 httpd.conf 这个文件,找到后打开;
  2)搜一下“LoadModule rewrite_module modules/mod_rewrite.so”,找到这一行,去掉前面的“#”;
  3)deny from all 全部修改为 Allow from all
  4)然后在php.ini文件中查找"pdo",你就可以一下找到  ;extension=php_pdo.dll  这一行,看这行前面是否有分号,如果有的话,把它去掉。
  5)然后找找有没有  extension=php_pdo_mysql.dll   如果有,同样去掉前面的分号。如果没有,则手动添加上

posted @ 2014-10-13 09:53 顺其自然EVO 阅读(293) | 评论 (0)编辑 收藏

缺陷管理、分类、提交

 一、bug管理
  目前管理bug工具众多, 只要符合方便公司的工作流, 就可以采用。比如有:Bugzilla,B/S架构的mantis TestCenter
  工具各异,但是bug管理流程具有共通性,一般有如下流程:
  处理状态:
  未确认 新建 已分派 再开启 已确认 已关闭
  解决状态:
  已解决  无效的  wontfix不被修改   保留   重复   worksforme暂时不重现
  二、bug类型说明
  1、Bug错误类型
  阻碍开发和/或测试工作
  死机,丢失数据,内存溢出较大的功能缺陷
  业务逻辑错误
  配置问题
  客户端代码/js/ajax问题
  版本与兼容性问题
  用户界面
  建议或意见
  2、重现概率
  必然出现
  有规律出现
  无规律出现
  只出现一次
  3、 bug缺陷级别
  致命、严重、一般、较小
  4、 bug优先级别
  严重strategic、高high、中normal、低low
  三、提交bug
  必要元素有:
  bug摘要 、操作步骤(重现步骤)、预期结果、实际结果
  另外,一个较完整的bug还需要填写:
  测试模块及版本  测试环境  优先级 附件图  分配人员等

posted @ 2014-10-13 09:53 顺其自然EVO 阅读(384) | 评论 (0)编辑 收藏

什么是可用性测试?

 如今的ICT解决方案的复杂性正在增加,由于位于多个地点并由不同方来管理的集成系统的存在。而他们常常部分由云管理的事实使得事情变得更加复杂。因为组织提供24/7的企业对企业的服务,这些集成解决方案的可用性也变得越来越重要。
  在互联网上,你会发现数百个销售同种产品的网店。万一不可用,客户就很容易切换到另一家店。
  因此,一个解决方案的可用性对业务至关重要。大多数情况下,在生产中监测可用性,如果服务不可用就采取改进措施。防止被看作是这种质量特性的业务指标的可用性问题是有必要的。
  这篇文章介绍了可用性测试使用的测试设计技术:措施可用性的“状态转换测试” ( STT )。
  状态转换测试
  最正式的测试设计技术是基于工艺流程或数据的(根据可能的输入或设计技巧划分,因为他们检测不同的问题。)所以经常去试着用工艺流程导向和数据输出导向的设计技术的组合。
  状态转换测试设计技术的强大之处在于它是基于机器状态的,因此,它不同于大多数正式的测试设计技术。
  可用性
  在ISO 25010里 ,可用性被定义为: “当需要用到时,一个软件组件可操作和可使用的程度” 。
  它还提到,可用性可以由软件产品处于升级状态时的总时间比例来外部评估。因此可用性是成熟(控制故障率),容错性及可复原性(控制每次故障后停机时间的长度)的组合。
  大多数解决方案可用性的相关问题是由解决方案运行上的基础设施事件造成的。每个人都至少可以给出一个他或她由此事件造成的故障的亲身体验的例子,例如:电源故障或从互联网断开。这类故障的影响普遍很大。
  然而,由于它们主要涉及基础设施(不在项范围之内),相关业务风险往往在软件开发项目中没有确定且没有被测试。
  开发测试
  负责解决方案“业务管理”或“开发”的部门是“开发测试”的利益相关者。
  开发测试是基于荷兰术语“Exploitatie testen ” 。这不是最终的翻译,但它是最恰当的。
  也可以翻作 “业务就绪测试”,但这只覆盖ITIL /服务管理的业务部分,所以,不匹配。“生产验收测试”也是一种翻译,但在我看来,它更关注生产环境的验收。
  因此,我把 “Exploitatie testen” 翻译为“开发测试” 。
  开发测试的定义:
  检查是否关于应用程序和底层IT基础架构的同意或预期的服务水平可以实现。
  这些协议和/或期望在一个所谓的服务水平协议(SLA )的合同是正式的。
  一个SLA的定义:
  一方为客户另一方为服务提供商的双方协议。
  SLA描述了IT服务,文件服务水平目标,并详细说明了IT服务提供商和客户的责任。
  SLA中对解决方案可用性的相关要求进行了描述。
  图1显示了开发测试在V模型中的位置。
  
图1.开发测试在V模型中的位置
  (当然)这个过程业务需求的收集。
  该系统的规格是基于功能和一些非功能的需求。一些业务要求(例如可用性和安全性需求)也将影响与IT服务提供商的合同( SLA)。
  测试管理技术“风险管理”通过识别并优先考虑关于IT服务管理的业务风险提高了这一过程。

posted @ 2014-10-13 09:52 顺其自然EVO 阅读(191) | 评论 (0)编辑 收藏

什么是可用性测试?

如今的ICT解决方案的复杂性正在增加,由于位于多个地点并由不同方来管理的集成系统的存在。而他们常常部分由云管理的事实使得事情变得更加复杂。因为组织提供24/7的企业对企业的服务,这些集成解决方案的可用性也变得越来越重要。
  在互联网上,你会发现数百个销售同种产品的网店。万一不可用,客户就很容易切换到另一家店。
  因此,一个解决方案的可用性对业务至关重要。大多数情况下,在生产中监测可用性,如果服务不可用就采取改进措施。防止被看作是这种质量特性的业务指标的可用性问题是有必要的。
  这篇文章介绍了可用性测试使用的测试设计技术:措施可用性的“状态转换测试” ( STT )。
  状态转换测试
  最正式的测试设计技术是基于工艺流程或数据的(根据可能的输入或设计技巧划分,因为他们检测不同的问题。)所以经常去试着用工艺流程导向和数据输出导向的设计技术的组合。
  状态转换测试设计技术的强大之处在于它是基于机器状态的,因此,它不同于大多数正式的测试设计技术。
  可用性
  在ISO 25010里 ,可用性被定义为: “当需要用到时,一个软件组件可操作和可使用的程度” 。
  它还提到,可用性可以由软件产品处于升级状态时的总时间比例来外部评估。因此可用性是成熟(控制故障率),容错性及可复原性(控制每次故障后停机时间的长度)的组合。
  大多数解决方案可用性的相关问题是由解决方案运行上的基础设施事件造成的。每个人都至少可以给出一个他或她由此事件造成的故障的亲身体验的例子,例如:电源故障或从互联网断开。这类故障的影响普遍很大。
  然而,由于它们主要涉及基础设施(不在项范围之内),相关业务风险往往在软件开发项目中没有确定且没有被测试。
  开发测试
  负责解决方案“业务管理”或“开发”的部门是“开发测试”的利益相关者。
  开发测试是基于荷兰术语“Exploitatie testen ” 。这不是最终的翻译,但它是最恰当的。
  也可以翻作 “业务就绪测试”,但这只覆盖ITIL /服务管理的业务部分,所以,不匹配。“生产验收测试”也是一种翻译,但在我看来,它更关注生产环境的验收。
  因此,我把 “Exploitatie testen” 翻译为“开发测试” 。
  开发测试的定义:
  检查是否关于应用程序和底层IT基础架构的同意或预期的服务水平可以实现。
  这些协议和/或期望在一个所谓的服务水平协议(SLA )的合同是正式的。
  一个SLA的定义:
  一方为客户另一方为服务提供商的双方协议。
  SLA描述了IT服务,文件服务水平目标,并详细说明了IT服务提供商和客户的责任。
  SLA中对解决方案可用性的相关要求进行了描述。
  图1显示了开发测试在V模型中的位置。
  
图1.开发测试在V模型中的位置
  (当然)这个过程业务需求的收集。
  该系统的规格是基于功能和一些非功能的需求。一些业务要求(例如可用性和安全性需求)也将影响与IT服务提供商的合同( SLA)。
  测试管理技术“风险管理”通过识别并优先考虑关于IT服务管理的业务风险提高了这一过程。
 SLA中的利益相关者是:
  1.功能管理
  2.审计员
  3.安全员
  4.财务管理
  5.技术管理
  6.服务水平管理(业主)
  7.业务
  IT服务水平协议也会影响系统的规格。
  没有各方的参与不能达成协议。
  因此,SLA将在UCS和OLA变得有形。这些合同也将影响系统规范。
  例如,3秒的最大响应时间的要求仅通过基础设施不能实现。也需要性能优化的软件去满足这一要求。
  在V模型中,开发测试被描述为一个不同的测试水平。
  开发测试将基于SLA (测试基准)上,并由IT服务管理的组织执行。
  业务可能为了接受所提供的IT服务,执行不同的开发测试(开发验收测试) 。
  表1展示了:执行以检查是否服务供应商能够提供与SLA中所描述一致的议定质量的测试。

posted @ 2014-10-13 09:47 顺其自然EVO 阅读(173) | 评论 (0)编辑 收藏

象棋中马行走路线的测试用例设计

 声明:
  这个例子的设计并不是我首先想出的,我参考了原文,然后经过整理,融汇了我的Excel技巧,把它整理了出来,分析了表的生成过程,比原来的设计有一定的易学易用性。现在让大家来进行分析与学习
  需求规格:
  1、如果落点在棋盘外,则不移动棋子;
  2、如果落点与起点不构成日字型,则不移动棋子;
  3、如果落点处有自己方棋子,则不移动棋子;
  4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;
  5、如果不属于1-4条,且落点处无棋子,则移动棋子;
  6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;
  7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
  一.原因条件:
  1、 落点在棋盘上;
  2、 落点与起点构成日字;
  3、 落点处不为自己方棋子;
  4、 落点方向的邻近交叉点有棋子(绊马腿);
  5、 落点处无棋子;
  6、 落点处为对方棋子(非老将);
  7、 落点处为对方老将。
  二.结果动作:
  21.不移动棋子
  22.移动棋子(不吃子)
  23.移动棋子并除去对方棋子
  24.移动棋子除去对方老将,胜利。
  添加一个中间节点11,这样能够简化设计。然后画出因果图:
  通常的设计方法就是一个表的方法,我称为一表法。但是七个因子,表格就会非常的长,让人望而却步!2^7=128,那么长的表是一般人不能做到的,在Excel里面都感觉版面不够,要是拿来考试怎么办?所以这里提供两表法。1、2、3、4只与11及21有关,可以使用一个表先处理。然后11、5、6、7有可以作为一个表。
  1、列出表一
  合并表一:
  黄色背景的项说明了他们可以合并,合并后得到:
  2、列出表二
首先去掉由于约束而无效的项,然后再进行合并,得到下面的表:
  3、把两个表合并成一个表
  由11因子的中介作用,合并的表二的每一个因子都对应一个表一的所有与之相同值的项,如表二中的列1就对应表一的1、9、13、16,如此对应,可生成下面的表格:
  由于上表中有一些相似的项,可以考虑他们是否可以合并,所有先在Excel中把相似的项复制在一起,得到下面的表:
  这样就可以生成测试用例了。其实真正的用例就在表中,只是还是要写成连菜鸟也要看得懂的文字而已。下面是用例:
  用例1:如果在棋盘上,构成日字,并且不是自己方棋子,落点方向的邻近交叉点没有棋子,落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
  用例2:如果在棋盘上,构成日字,并且不是自己方棋子,落点方向的邻近交叉点没有棋子,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子。
  用例3:如果在棋盘上,构成日字,并且不是自己方棋子,落点方向的邻近交叉点没有棋子,且落点处无棋子,则移动棋子。
  用例4:如果落点不在棋盘上,直接不移动棋子。
  用例5:如果落点在棋盘上,不构成日字,则不移动棋子。
  用例6:如果落点在棋盘上,构成日字,是自己方棋子,不移动棋子。
  用例7:如果落点在棋盘上,构成日字,不是自己方棋子,落点方向的邻近交叉点上有棋子,则不移动棋子。

posted @ 2014-10-13 09:45 顺其自然EVO 阅读(314) | 评论 (0)编辑 收藏

仅列出标题
共394页: First 上一页 34 35 36 37 38 39 40 41 42 下一页 Last 
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜