发布新日志

  • 转贴

    2010-10-20 09:39:50

     

    http://blog.csdn.net/broadview2006/archive/2010/06/30/5703818.aspx

     

     

    http://blog.csdn.net/KerryZhu/archive/2008/10/02/3009465.aspx

     

     

     

    http://blog.csdn.net/KerryZhu/archive/2010/05/28/5631960.aspx

  • qtp描述性编程解决层级新增对象选取问题

    2010-08-12 14:12:28

    Dim unionname
    With  Browser("网络视频监控管理中心").Page("网络视频监控管理中心").Frame("Main")
     Browser("网络视频监控管理中心").Page("网络视频监控管理中心").Frame("Menu").Image("Area").Click
         .Image("addbuttonhover").FireEvent "onmouseover"
      .Image("addbuttonhover").Click
     For  unionname=1to 7
      .WebEdit("AreaName").Click
      .WebEdit("AreaName").Set unionname
      .Image("savehover").Click
       Browser("网络视频监控管理中心").Page("网络视频监控管理中心").Frame("Menu").WebTable("text:="&unionname,"name:=TreeSub").image("file name:=Area.gif").Click
      .Image("addbuttonhover").FireEvent "onmouseover"
      .Image("addbuttonhover").Click
     Next
    End With
    delunion(1)

     

  • oralce sqlplus command not found问题转载

    2010-04-15 11:36:08

    连续2天出现oralce sqlplus command not found的问题,搞得我是头晕脑大,今天终于发现这篇文章,非常高兴,转载牛人解决方案:http://space.itpub.net/22666004/viewspace-618337

  • 描述性编程和虚拟对象

    2010-03-22 11:50:15

        描述性编程是建立在识别对象的基础上,而虚拟对象是对于那些没法识别的对象基础上的;

    描述性编程可以不使用对象库的原理,使用自己识别出的对象属性进行描述;

    描述性编程查阅网上有2种,一种为直接描述法:

    测试对象(“属性名字=属性值”,“属性名字1=属性值1”)

    另一种为使用description对象的方法:

    set  newobject=description.create()

    newobject(“属性名字").value=属性值;

    虚拟对象,其实只是识别图片而已,将其虚拟出一个对象,进行操作;下下策;

  • [论坛] 备忘mysql---qtp

    2010-03-19 17:05:53

    Dim cmm, strCnn, Rst,returnname

     

    Set cmm = CreateObject("ADODB.command")
    'cnn.Open strCnn
    Set Rst = CreateObject("ADODB.Recordset")
    strCnn = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=192.168.205.101;DATABASE=tp;USER=tp;PASSWORD=tp;Option=3"
    cmm.ActiveConnection=strCnn
    sql="select tp_info.nick from "&parameter("table")&"  where tp_info.id='50002' "
    cmm.CommandText=sql
    Set Rst = cmm.Execute()
    parameter("username")=cstr(Rst(0))
    returnname = parameter("username")
    Set cmm =nothing
    Set Rst=nothing

  • 个人2010年的目标

    2010-01-08 13:26:56

      在测试上也工作一年半了,在头一年里学习项目流程和应变快速项目的能力,并学习了大量的基础功能测试思想,第

    2年开始逐渐往测试多元化发展,接口测试,自动化测试,性能测试都学了那么一点;

    给自己的目标是,在第一个季度加强自动化测试的编码能力,并固定测试思想和流程;

    在第2个季度里完成oracle的学习并掌握好plsql;

    在第3个季度里针对性能测试的思想和分析方法进行学习;

    目标有些大,工作有些忙,希望到年底的时候能够完成,这样的话就应该可以摆脱初级测试工程师的头衔了。

  • 乱忙

    2010-01-08 11:55:16

      从11月份开始,工作的重心就逐渐的转为后台的接口测试,也是初次尝试,没有什么经验首先确定了流程;然后一直在学习junit进行接口测试;测试的接口只是针对我们暴露给外面的接口进行测试这也限定了接口的界限;

      当正在学习junit的时候,又接到个紧急项目,就把我从刚刚上手的接口测试中调出来,又去进行网站的测试;在1月5日进入项目组以来,了解了网站测试的流程和我们后台的流程很不相同,前期的准备时间很长。很多流程都是规范前期的,待执行时时间倒是不长,前期每个阶段测试都要有文档化的东西输出,从需求到开发阶段,再到测试资源,测试范围都形成文档化,个人觉得这个项目也就流程值得一学,至于其他的,无非是些流程呀,页面的基础测试。

      目前最不开心的事情,就是总是接触一个事情后然后被打断发配到另外一个事情中去,正在进行的东西也断了,无法全身心的投入其中,到这个项目结束又回去,然后再接上前面的东西,太痛苦了!!!!!!最让我无法理解的是现在这个项目要给出测试方案这倒没什么,居然要画uml图和思维导图,唉,测试都转行了,照这样下去我们都快成pd了。

    自动化测试;任何系统都可以实现自动化测试,自动化测试的意义在于节省时间,如何系统的项目都在1、2个月之间这种变动,那么自动化测试就会严重影响项目的进度,而没有必要采用自动化测试;再说自动化测试也不容易应对需求变更;

    但可以执行自动化的测试效果还是比较明显的,自动化测试个人认为分为2类,页面自动化以及后端自动化,目前页面自动化的工具为qtp、ruby等;后端自动化目前个人就接触了junit;由于qtp是收费性产品而且可扩展性不高,所以建议大家使用ruby搭建适合自己项目的ruby测试;

     

  • 测试语言的学习

    2010-01-04 11:16:44

        目前正在学习java,但遇到的问题不少,尤其是不知道到达那个程度才算可以满足接口测试的要求,其实接口测试的代码很简单,就是通过一定的接口协议来调用被测接口并进行输入输出验证,由于用的是j2ee,所以测试的过程中我们采用junit进行测试,但对于写接口用例代码要到达什么程度的编程能力确实很困扰我,按理来说java基础就可以了,但是java基础只是可以满足你工作上的基础需要,因为你在debug的时候,就会看到java的web开发一些代码,什么spring、数据持久层之类的啦,但是你要全部了解这些也不是切合实际的,可简单的学习些java基础的编程技巧也是没多大用处的;再代码稳定后可以实现自动化而自动化你想把你的代码效率提高又不是简单的事情;苦恼中。。。。

  • 完全转载

    2009-11-20 16:57:28

    最近有很多朋友在软件测试的QQ群中问我关联如何做,我就在这里简单的说一下.
    loadrunner中关联可以分为自动关联与手动关联,关联函数为web_reg_save_param:
    1.自动关联,在tools-recording options的correlation中,选中enable correlation during recording的复选框,在下面list中选择你需要自动关联的协议,选择协议的时候要注意,如果是不合适的请不要勾选,否则将会导致脚本出错。如是seibel协议的,那么你就勾选seibel协议,否则不必关联的地方也关联的,会给你造成不必要的麻烦。一切准备妥当后,在录制脚本时,在可关联处会弹出一个dialog进行选择是否对该处进行关联,这样,在你脚本录制好之后,关联已经自动生成了,十分方便。
      另一种自动关联的方法是,你在tools-recording options的correlation中,不选中enable correlation during recording的复选框的情况下进行自动关联,你可以先录制一个脚本,然后选择vuser-scan action for correlation或者直接ctrl+f8来运行一下脚本,这样也能自动找到不同的地方而进行自动关联,此时你只需要钩选你需要关联的地方后点击关联即可。
    2.手工关联,需要录制2个相同业务流程的虚拟用户脚本,然后通过tools-compare with vusers来打开wdiff.exe对2个脚本进行比较,找到需要关联的部分,然后指定左右边界,然后将脚本中原来的值替换成参数即可. 或者直接在tree view的server response中找到要关联的唯一id,选中它的值,然后选择creare para即可。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jacky8024/archive/2007/07/16/1693663.aspx

  • 一知半解的日记

    2009-11-20 16:48:25

       测试客户端环境的搭建,分2种,1种是通过web应用服务器进行访问,即server端为jboss web服务器,则如果想访问可通过搭建本地Web服务器进行访问,即client端搭建web应用服务器,这里jbosstomcat都可,搭建好后可以通过hession协议进行接口访问;注意;由于

    Client端也为web应用服务器,所以也可作为服务端被其他人用;2种,是通过完全client端访问,即我们作为客户端通过接口对server端的web服务器进行访问,这时,我们是为纯客户端;

     

  • 集成测试用例设计

    2009-11-17 20:48:40

       最近在搞接口测试,自己对接口测试的一点初见;

     集成测试又等于接口测试(个人认为),是在单元测试中的一个,可以认为是单元测试,又可认为是接口测试,

    集成用例设计基于业务场景,其实说白了集成测试是按照详细设计来写的,但其输入的数据来源则是来于

    uc,设计思想如下;

    先进行数据准备,数据准备的思想来源于uc,分析出uc的业务场景,通过各个业务场景来产生各个类型输入数据;

    又叫数据准备;

    数据准备好了,分析接口参数,从数据库字段的限制分析,输入的参数合法不合法,长度如何,是否可为空;

    这个又叫假定接口参数的不正确性;

    结果期待输出值的各种情况;

    可以把接口想象一个盒子我们输入预期的数据,给我们返回预期的结果;

    但这有个问题就是无法知道盒子内部的逻辑是否正确?

    内部的逻辑严格讲应为单元测试,单元测试应保持内部逻辑的正确性,可单元测试和接口测试界限并不是那么清楚

    所以我们也可以从给出的设计文档中考虑内部逻辑错误的分支情况和异常;

    由于内部的异常不一定是输入的数据造成的,但却有可能是其他逻辑造成的数据丢失的情况;

    例如:有个删除功能将数据表中的一条记录删掉,而提供给外部的接口是要查询到这个数据才能返回成功;

    这样内部的异常还是有可能存在的;

    总结:

    1、数据准备;来源于uc的业务场景分析;

    2、接口;参数分析;错误和正确;

    3、内部逻辑分析;

     

     

  • ruby新手学习笔记1-01

    2009-10-27 16:38:32

    class Dns

    def oo

    puts "hello!"

    end

    end

    pp=Dns.new

    pp.oo

     

     

    class Dns

    def self.oo

    puts "hello!"

    end end

    pp=Dns.new

    pp.oo

     

    class Dns

    def self.oo

    puts "hello!"

    end end

    Dns.oo

     

  • ruby新手学习笔记1

    2009-10-27 12:01:56

    def contains?(x,y)

    return true

    if(@x..(@x+@dimensions)).include?(@x)&&(@y..(@y+@dimensions)).include?(@y)

    return false

    end

    刚开始学,上面的这个方法觉得很好就贴出来了,经查询网络得知

    在ruby中,通过给对象发送消息,来完成对象的功能,例如:对象.方法名,对象接收到消息开始执行与消息相关

    的功能;但有时我们不知道对象是否响应了消息,就是说对象是否执行了该消息功能,没有个返回的信息;

    所以就有了上面的方式,这个方法是将x,y传进去,看看是否包含在里面,当然这个是方法,对于对象也同样适用;

     

  • oracle新手安装

    2009-10-26 10:32:05

       周末终于将oracle9i装进了linux里,其中的痛苦真的是只有自己知道,由于以前没有装过这个东东,搞得一切对我来说都很困难,但好在有网络这个东西,可以借鉴的文章和视频还是很多的,下面介绍下我这个新手的安装oralce的痛苦历程;

       1、首先是准备,去oracle官方网站下载oracle9i,这里有10g和11,但我还是选择了比较成熟的9i,然后,

    去linux下载了red4企业版。

       2、linux中要装oracle需要18个rpm包的安装,好在多数都在red4中的rpm文件夹中,有3个是要到网上去找的

       3、一切准备好后,开始安装,我遇到的第一个问题就是虚拟机的问题,先是如何改也ping不通,后来发现主机的

    ip尽量设为虚拟机ip的前面数字,并且关掉windows和linux的防火墙,selinux;

       4、弄好后我已经耗费了很多时间,好不容易弄通了,这时又发现crt连不上linux,弄了半天发现那里都没有错误

    为什么会连不上呢,原来是每次开机后要手动启动network(没有将其装入自动启动的脚本中)。

       5、现在linux也连好了,准备工作已经差不多,可是我发现oracle传进linux下太困难,由于文件太大传送的速度过慢,并且经常出现传到一半的时候出现错误无法接着传进去,ftp、fx都试过了,即便能成功传的时间也太长,接着就想到了linux的共享文件夹,这个是和windows交互的东西;

       6、但是问题又来了,无论我在设置里怎么设置文件,在linux的mnt下都看不到,经过查找原来是我的vmtools没有安装,于是进入linux页面将其安装但又发现个问题,安装成功后,在mnt下也还是看不到,这时要到/usr/bin下启动vmware-config-tools.pl才能成功。

       7、总算是都好了下面开始安装,首先将18个包装进去,这里装的时候可能会报错因为有些包是依赖于其他包的,这时按着提示将其他包安好在回来安就可以了。

       8、设置主组合辅助组,2个组;然后添加oracle用户;

       9、用户身份进入更改.bash_profile文件的参数,

       10、安装xmanger图形界面工具,解压oralce包cpio,进入disk1进行安装,运行命令后会自动将其按配置要求装入相应文件夹;

       11、如果顺利的话,接下来会进入图形界面,开始傻瓜安装;

     

    经过一顿折腾,oracle总算是安好了,对于一个新手来说这个过程真的很不容易,在时间的消耗上真是巨大;

Open Toolbar