未来已来

发布新日志

  • 深圳的天气

    2008-08-06 10:31:10

      

        记得来深圳之前有人跟我说有一位伟大的人预言中国2008年9月份南方会有大的海啸发生,据说这次要死亡人数达到100多w,绝对是人类史上最大的灾难。听起来好恐怖,她说这个人曾经预测了人类很多的历史事件,其中就包括戴安娜的死

       (转)法国预言家诺斯特拉丹姆斯的《诸世纪》一书,在众多的预言中显得有些神秘莫测。有人认为,诺斯特拉丹姆斯早在400多年前就曾预见到了戴安娜王妃的神秘死亡。在《诸世纪》一书中,诺斯特拉丹姆斯曾经这样写道:“跟先知同一名字的人,其幼子会为戴安娜带来她的安息日”。有人据此认为,戴安娜男友法耶兹的父亲穆罕默德法耶兹,其名字正好与伊斯兰教先知穆罕默德的名字一样,因此诺斯特拉丹姆斯早在400多年前就预见到了戴安娜的死亡。在《诸世纪》一书中,诺斯特拉丹姆斯还留下了一千多首预言诗,其内容涉及到人类社会的方方面面。有人就从这些晦涩难懂的预言诗中得出结论,认为法国大革命、人类两次世界大战以及前苏联的解体,都曾被诺斯特拉丹姆斯准确地预见到了。从《诸世纪》这本书的内容来看,诺斯特拉丹姆斯对人类社会的预言一直延续到公元3797年,其中不乏惊人之语。

       不管是不是灾难会降临,由于深圳最近经常下雨,小区经常有各种警报的通告,提醒大家安全。所以我对几个警报有了了解,红色警报,黄色警报,蓝色警报的区别。其实这三个警报只是指天气变化的程度,红色最强,橙/黄色次之,蓝色较弱一般情况下,常见的有雷雨大风蓝色预警(雷雨大风、短时强降水天气),暴雨红色预警(降雨量将达100毫米以上),暴雨黄色预警(预计降水100毫米以下),高温橙色预警(将会出现37℃以上高温)等等。

      深圳的气温很高,但是总不见高过40度,所以大家揣测因为气温超过40度就要在家休息国家肯定会受到很重大的损失,所以气象台从来不报超过40度。

       (转)《重庆市高温天气劳动保护办法》(以下简称《办法》)的征求意见稿已经出炉,并刊发在重庆市人民政府公众信息网(www.cq.gov.cn)上。 《办法》规定,日最高气温达到37℃以上时,单位应根据工作情况,采取换班轮休等方式,缩短劳动者的连续作业时间,但不得安排劳动者加班加点;日最高气温达到39℃以上时,当日工作时间不得超过5小时,暂停11时——16时高温时段工作;当日最高气温达到40℃以上时,可以在家休息不上班。

       由于气温高对各方面其实都是有影响的,根气温有影响的就是深圳的全市消耗电量,据统计2006年深圳市单日电力负荷最高到837万千瓦,最高错峰量约130万千瓦,2006年广东电网公司深圳供电局总共电量达到468.8亿千瓦。

      说句题外话(小道消息),其实深圳市的各企业的大量服务器的运行时产生的电力需求是深圳工业用电日益增长的重要原因之一。腾讯注册用户总数达5亿7千2百30万,在深圳本市他们就有各种服务器5w台,去年深圳市政府为了省电曾经下文给腾讯公司停电,但是腾逊公司以“是中国网络安全节点”为由没有停电。

      大家都说深圳的天气冬天会很舒服,希望冬日早点来临。

  • 老婆测试工具培训记 -- QTP Scripting - 实践10

    2008-08-05 18:09:05

    Write a program to  comparing text files?

    Sub Main
      fileName1
    = "x:\text1.txt"
      fileName2 = "x:\text2.txt"

      If CompareFiles(fileName1, fileName2) Then
          Msgbox "The files are equal"
      Else
          MsgBox  "The files are different"
      End If
    End Sub

    Function CompareFiles(fileName1, fileName2)
      Const ForReading = 1
      Const ForWriting = 2
      Const ForAppending = 8

      'Creates the FileSystemObject object
      Set fso = CreateObject("scrīpting.FileSystemObject")

      'Reads the first text file
      Set file1 = fso.OpenTextFile(fileName1, ForReading)
      fileText1
    = file1.ReadAll
      file1.Close

      'Reads the second text file
      Set file2 = fso.OpenTextFile(fileName2, ForReading)
      fileText2
    = file2.ReadAll
      file2.Close

      'Creates the regular expression object
      Set regEx = New RegExp

      'Specifies the pattern for the date/time mask
      'MM/DD/YYYY HH:MM:SSLL (for example: 4/25/2006 10:51:35AM)
      regEx.Pattern = "\d{1,2}.\d{1,2}.\d{2,4}\s\d{1,2}:\d{2}:\d{2}\w{2}"
      regEx.IgnoreCase = True
      regEx.Global = True

      'Replaces the text matching the specified date/time format with <ignore>
      newText1 = regEx.Replace(fileText1, "<ignore>")
      newText2
    = regEx.Replace(fileText2, "<ignore>")

      'Compares the text
      If newText1 = newText2 Then
        CompareFiles = True
      Else
        CompareFiles = False
      End If
    End Function

  • qtp 8.2 9.2 输出Html格式报告

    2008-08-04 18:11:53

        如果想输出Html格式的Log,如何办呢,其实qtp内建了这个功能,需要打开这个开关。                

        修改注册表:

             HKEY_LOCAL_MACHINE

                     - SOFTWARE

                          -Mercury Interactive

                                 -QuickTest Professional

                                      -Logger

                                          - Media

                                                - Log

                                                   - Active    1   "REG_DWORD"

           这个时候就会在你的qtp工程文件夹下"Log"下多出一个"LogFile"文件夹 里面会多出html格式的Log文件
      

       代码:

       Set ōbjShell = Wscrīpt.CreateObject("Wscrīpt.Shell")

       KeyVal= objshell.regread("HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\QuickTest Professional\Logger\Media\Log\Active")

       objshell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\QuickTest Professional\Logger\Media\Log\Active",1,"REG_DWORD"

       Set qtApp = CreateObject("QuickTest.Application")
       qtApp.Launch
       qtApp.Visible = True
       qtApp.Open "C:\Documents and Settings\Administrator\桌面\test", True
       set qttest = qtapp.test
       qtTest.Run

       qtApp.Quit

       Wscrīpt.Quit

       set QtApp=nothing

       set Wscrit=nothing


     

  • 接触猎头的感受

    2008-08-02 13:55:46

             

          刚到深圳不久,很多事情都要亲力亲为,由于做就业培训项目必须要扩大就业渠道,所以接触了不少企业,当然还有一些猎头。猎头见了不少,但是大部分的猎头接触下来给我感觉就是个“劳务中介”。

         场景一:一个职位是高级测试经理(猎头说这个职位是年薪30w以上)要求:

        1.本科以上学历(限男性),5年以上的IT行业自动化测试测试经验、具有测试管理经验者优先考虑;
        2.精通自动化测试思想,技术,发展趋势,熟悉业界自动化现状,熟悉业界商业/开源的自动化测试框架/工具并能熟练应用和二次开发. 具有实际的自动化测试开展经验并取得良好效果者优先考虑
        3.精通C(C++), Javascrīpt, PHP, Shell(TCL/PERL/Ruby/Python/Lua任一脚本语言)等开发语言并有多年时间在LINUX(或UNIX)下开发经验

         猎头找到我,需要介绍人给她,要5年测试工作经验的人(这里是要求自动化测试经验,并且要有测试管理经验),根本没有分析这个职位的要求和应聘者的职业技能与职位的匹配程度,这让我想起来一个例子,有一个猎头给某大电子商务网站公司推荐高级开发人员,用人要求写明需要unix开发经验,她推荐过去了人,招到对方的人力资源经理的投诉,原因是她推荐的人是一名window开发的程序人员,根本就没有在unix下开发的经验,而且这个女孩子还在推荐人的简历上重点注明window开发。当领导找到她的时候这个女孩子说了一个理由,服务器是unix的,但是客户用的是window,所以这个开发人员是符合用户的需求的,当时哭笑不得。

        场景二:职位测试技术经理(年薪在20-25w)要求:

    • 计算机及相关专业本科以上学历
    • 具有Mercury及相关测试系统的管理支持经验
    • 具有跨国公司/外企测试管理经验,至少3年以上经验
    • 非常强的流程管理背景,精通软件测试理论、方法和过程,并能够不断地学习、总结和提高
    • 良好的沟通能力和积极主动精神,能够有力推动、协调工作的开展
    • 强烈的责任心和敬业精神,结果导向型思维; 能承受较大的工作压力
    • 较好的英语听、说、读、写能力;能用英语与国外用户顺畅沟通
    • 有海外教育或工作或背景优先
    • CSTE/CSQAMercury/Rational认证优先

        这次联系我的猎头不是先要人,而是先把这个职位跟我说了,说自己对职位的述求把握的不是很准确,需要请教,给我打了两次电话,电话中详细问了测试行业的情况,了解mercury工具,认证,技术等,每个问题都问得很仔细,很谦虚。

       我把我的一个朋友介绍了给她,她再次电话给我详细问了朋友简历里的细节,让我帮助她来分析下职位和简历的匹配程度。最后给我的朋友打了电话,了解具体的细节。

     

       这是两次完全不同的体验,给我的感觉每份工作都可以做到很专业,第一个场景中的猎头做了3年,已经时间不短了,这让我想起来我们做软件测试的同行,很多人做了很久还是很盲目,从来没有细心去分析自己做的工作,如何才能做好。

       

       把一件简单的事情做得好,才是人的能力的最佳体现。

      

       后话:测试天天做得也是重复性的工作,如何把重复性的工作做得更加有效,更加专业希望每个人都可以好好思考,混日子可以过,过好日子也是可以过,何不过好每一天呢。  

  • 老婆测试工具培训记 - QTP Scripting - 实践9

    2008-08-01 13:36:11

    Write a program to Dynamically adding to WebList ?

    思路:html dom 技术

    脚本代码:

        Dim objDoc
        Dim objElement
        Dim newNode

        Set ōbjDoc = Browser("Browser").Page("Page").Object
        Set ōbjElement = objDoc.GetElementByID("WebList")

       

        Set newNode = objDoc.createElement("option")
        newNode.Text = "Test——pcl"
        objElement.add newNode

        Set newNode = Nothing
        Set ōbjElement = Nothing
        Set ōbjDoc = Nothing

  • LoadRunner监控服务器系列 - How to set up the Microsoft .NET CLR monitor

    2008-08-01 08:17:16

     Requirements

    1.      LoadRunner 7.8 Feature Pack 1 or above. 

    2.      Controller machine must have a full installation of LoadRunner.

    3.      To use the monitor, you need the license for the Microsoft .NET CLR.

    4.      The server machine must have the Microsoft .NET Framework version 1.1 installed.

    5.      Supported on all Windows OS including Windows 2003.

     

    Installation

     

    1.      For LoadRunner8.0

    For LoadRunner8, you do not need to install any additional component on the controller machine. However, on the .Net Server machine, you need to run Mercury’s ‘Microsoft .Net Server Monitor Probe’ to configure the .Net Server machine for .NET monitoring. To install the .Net Probe component,

    a.       Locate the LoadRunner Addin installation CD

    b.      Navigate to \Additional Components\Dot_NetProbe directory

    c.        Run Dot_Net_Probe.exe file.

    Note: If you want to monitor a service on the Microsoft .Net Server machine, you should install LoadRunner’s Net Server Monitor Probe as a service. This is the case when you want to monitor the .Net components running under the IIS Web server. To install the probe as a service, you just enter the domain, user name, and password at the install.

     

    2.      For LoadRunner 7.8

    1. Apply LoadRunner Feature Pack 1 on all the LoadRunner machines.
    2. On the Microsoft .Net Server machine, run <Dot_Net_Server_Add-in.exe>. To obtain this file, run the UpdateService (Start à Programs à LR à UpdateService) and select ". Net monitor - server side installation." from a machine with LoadRunner7.8 or 7.8 FP1 install

    Note: If you want to monitor a service on the Microsoft .Net Server machine, you should install LoadRunner’s .Net agent as a service. This is the case when you want to monitor the .Net components running under the IIS Web server. To install the .Net agent as a service, you just enter the domain, user name, and password at the end of the server side installation.

     

     

     

     

     

     

     

     

     

    Configuring the Microsoft .NET CRL monitor

    Microsoft .NET Server Setup

    To monitor Microsoft .NET server performance, you must first install the Microsoft .NET Server Monitor Probe on the server machine, and select the components (applications and assemblies) for .NET profiling:

     

    1.      On the .NET server machine, select the .NET Monitor Configure program from the Windows Start menu. The .NET Monitor Configure window opens.

    2.      Click <Add>, select a .NET executable or assembly file to profile, and click <Open>. The selection is displayed in the .NET Monitor Configure window.

     

    Field

    Descrīption

    Applications and assemblies enabled for profiling:

    Displays the applications and assemblies that are selected for .NET profiling.

    Add

    Click this button to select an application for profiling.

    Remove

    Click this button to remove the selected application.

    Save

    Click this button to save the displayed applications and profiling.

    Enable/Disable Profiling:

    Profiling enabled

    Select this option to enable profiling. Profiling may slow down system performance. Use this option to enable or disable .NET profiling.

    To ensure that changes to this option take effect immediately, reboot the computer, or log out and log back in.

    3.      Click <Add>, select a .NET executable or assembly file to profile, and click <Open>. The selection is displayed in the .NET Monitor Configure window

    4.      Click <Save>.

    5.      Enable or disable profiling, and click <Close>.

    LoadRunner Controller Setup

     

    1.      Click on the Microsoft .NET CLR graph in the graph tree, and drag it into the right pane of the Run view.

     

    2.      Right-click the graph and choose "Add Measurements."

     

    3.      In the Monitored Server Machines section of the Microsoft .NET CLR dialog box, click <Add> to enter the server name or IP address of the machine you want to monitor. Select the platform on which the machine runs, and click <OK>.

     

    Note: To connect to the monitor over a firewall, enter the server name or IP address of the machine you want to monitor, according to the following format:

    <MI Listener machine>:<server machine key>

    Example: 111.111.111.111.ServerLocalMachineKey

     

    4.      In the Resource Measurements section of the Microsoft .NET CLR dialog box, select the server running .NET and click <Add>. The .NET Performance Monitors dialog box opens displaying the available measurements

     

     

    5.      Browse the Measured Components tree, and check the required performance counters in the .NET Performance Monitors window's right pane.

     

    6.      To activate the Microsoft .NET CLR monitor, click <OK> in the .NET Performance Monitors dialog box and in the Microsoft .NET CLR dialog box.

     

    Note: The data sampling rate for the .NET monitor is fixed (five seconds) and cannot be modified using the Controller Tools à Options à Monitors dialog.

     

    Performance Counter

    Application Level

    Measurement

    Descrīption

    Application Lifetime

    Monitors the duration of the application in seconds.

    Exception Frequency

    Monitors the number of exceptions per second, in the five second polling period.

    JIT (Just In Time) Duration

    Monitors the time, in seconds, it takes for the JIT to compile code.

    Thread Creation Frequency

    Monitors the number of threads that are created in a polling period.       

    Thread Lifetime

    Monitors the duration of threads.

    Domain Creation Frequency

    Monitors the number of domain creations in a polling period. (Domains protect areas of code. All applications run in a domain which keeps them encapsulated, so that they cannot interfere with other applications outside the domain).

    Domain Load Time

    Monitors the time it takes to load a domain. (Domains protect areas of code. All applications run in a domain which keeps them encapsulated, so that they cannot interfere with other applications outside the domain).

    Domain Unload Time

    Monitors the time it takes to unload a domain. (Domains protect areas of code. All applications run in a domain which keeps them encapsulated, so that they cannot interfere with other applications outside the domain).

    Domain Lifetime

    Monitors the duration of a domain. (Domains protect areas of code. All applications run in a domain which keeps them encapsulated, so that they cannot interfere with other applications outside the domain).

    Module Creation Frequency

    Monitors the number of modules that get created in a polling period. (Modules are groups of assemblies that make up a DLL or EXE.)

    Module Load Time

    Monitors the time it takes to load a module. (Modules are groups of assemblies that make up a dll or exe.)

    Module Unload Time

    Monitors the time it takes to unload a module. (Modules are groups of assemblies that make up a dll or exe.)

    Module Lifetime

    Monitors the duration of a module. (Modules are groups of assemblies that make up a dll or exe.)

    Garbage Collection Duration

    Monitors the duration between the start and stop of Garbage Collection.

    Garbage Collection Frequency

    Monitors the number of breaks for Garbage Collections in a polling period.

    Unmanaged Code Duration

    Monitors the duration of the calls to unmanaged code.

    Unmanaged Code Frequency

    Monitors the number of calls to unmanaged code.

    Assembly  Level

    Measurement

    Descrīption

    Assembly Creation Frequency

    Monitors the number of assembly creations in a polling period. (Assemblies hold the .NET byte code and metadata).

    Assembly Load Time

    Monitors the time it takes to load an assembly. (Assemblies hold the .NET byte code and metadata).

    Assembly Unload Time

    Monitors the time it takes to unload an assembly. (Assemblies hold the .NET byte code and metadata).

    Assembly Lifetime

    Monitors the duration of an assembly. (Assemblies hold the .NET byte code and metadata).

    Class Level

    Measurement

    Descrīption

    Class Lifetime

    Monitors the duration of a class.

    Class Load Time

    Monitors the time it takes to load a class.

    Class Unload Time

    Monitors the time it takes to unload a class.

     

    Method Level

    At the method level, the measured time is per method, exclusive of other methods, calls to unmanaged code, and garbage collection time.

    Measurement

    Descrīption

    Method Duration

    Monitors the duration of a method.

    Method Frequency

    Monitors the number of methods called in a polling period.

     

  • 51testing就业培训学员 就业喜讯 哈哈

    2008-07-31 12:38:32

      

        其实做培训每天有意思的事情是听到我们培训的学员找到了工作,为了帮学员找到工作就业专员以及任课老师下了很大的功夫。记得去年北京刚开始带着小苗(以前有个外号叫教母 我给起的 因为管理的学员很多)做推荐,一开始很辛苦,我每次跑到办公室第一件事就是问今天有多少就业的,经过后来大家的努力,现在学员推荐很顺利,就业专员经常追着商莉(北京负责教学的老师 我们叫她商妈妈)问什么时候下一期班出来啊,企业着急啊。记得我从北京走的那个?月份,北京一个班还没有毕业就9个人被东软录用,6个人被一家做航天软件的公司录用,还有学员去了国内很知名的互联网公司,薪水6.5k。这些是跟我们的老师就业专员的辛苦付出密不可分的。

       今天收到一封公司内部上海的邮件:

       发件人: sunlirui [mailto:sunlirui@51testing.com]
    发送时间: 2008年7月30日 17:03
    收件人: wangyan@51testing.com; kexin@51testing.com; songfeng@51testing.com;
    yangzhi@51testing.com; xieluyi@51testing.com; wanglili@51testing.com;
    songzhihong@51testing.com; libo@51testing.com; wangwei@51testing.com;
    zhouchunjiang@51testing.com; wuxiaohong@51testing.com; chenji@51testing.com;
    longlin@51testing.com; songyulin@51testing.com; jiangyuli@51testing.com;
    zhangming@51testing.com
    主题: 2008-07-30就业详情

    大家好:

         截至7月底,本月就业人数31人。

         29期毕业一个月,就业进度进展顺利,包含外地找工作和考试未及格学员共计6
    人。

         30期8月中旬毕业,目前已经就业20人

         目前我们有四名学员入职INFOSYS,20名学员入职SALARY,10名学员入职HP。 

         另外29期刘劲詜毕业后就职西安的一家公司,目前薪资8.5k;29期王斐就职美资公司,月薪5k;27期王磊月薪6k;30期郑家晔,就职德国公司,年薪13万。
        

         真是令人振奋的消息,我们深圳要努力了。

          

  • 随笔点滴 - 沙龙

    2008-07-30 16:02:59

     

       今天中午整理广州沙龙报名信息,发现到2008年7月29日为止,报名人数272人、公司总数149家公司。第一次是异地筹备,中间还有很多细致的工作需要做。我们争取把全国巡回沙龙第三站办的有声有色。
       回想起2004年加入51Testing以来,经历了很多期的沙龙,从开始沙龙几十个人到现在动则百人来看,测试行业越来越兴旺。51testing为了针对不同人群,交流的更充分更有效果,举办了不同类型的沙龙:测试经理沙龙,专场沙龙,针对所有测试人员的测试沙龙,并和很多业界领先的厂商合作举办过,比如Mercury(现在被Hp收购)我们就举办过多次关于自动化测试和性能的沙龙,还有就是今年上半年全国巡回沙龙第一站就是跟广州IBM合办,当时参与的人有来自279家公司,有多名公司技术总监,测试总监报名参加,测试经理以及主管就占48名,场面火爆,当时公司内部还发了一封邮件说这是51Testing有史以来最大的沙龙规模,因为当时来得人数到将近500人。其实每一次沙龙大家都准备的很辛苦,为了保质保量要做很多工作。
       现场布置,每一个座位如何摆放,如何让大家更开放的交流
       资料装袋,每次资料装袋,资料以什么顺序放袋,笔纸如何摆放等等。
       现场招待,前台接待几人,每人的工作细则,如何引导与会人员等

       每次沙龙都好比一场战役,看上去平淡无奇,其实都凝聚了每个人的心血。沙龙的花费其实很大,但是51Testing一直都是免费提供,因为bwf一直都认为51testing的品牌是网站全体会员一起努力的结果,回馈网站会员。
      下面是本次广州沙龙参与者所在公司名单部分:

    Bamboo
    LINKEY
    XPG
    埃森哲咨询有限公司广州分公司
    艾利丹尼森公司 AVERYDENNISON
    安凯(广州)软件技术有限公司
    北大明天资源科技发展有限公司
    北京邦永科技有限公司
    北京博惠思华信息技术有限公司
    北京城市热点咨询有限公司
    博汇数码(广州)有限公司
    晨星资讯(深圳)有限公司
    大展信息科技(深圳)有限公司
    丰顺国际船务有限公司
    广东超干软件发展有限公司
    广东东方思维科技有限公司
    广东华工九方科技有限公司
    广东普信科技有限公司
    广东数据通信网络有限公司
    广东太平洋互联网信息服务有限公司
    广东天讯电讯科技有限公司
    广东通科电子技术有限公司
    广东拓思软件科学园有限公司
    广东威创视讯科技股份有限公司
    广东新华南方软件外包公司
    广东新华南方软件外包有限公司
    广发证券
    广州柏特科技有限公司
    广州邦永技术有限公司
    广州奔步电脑有限公司
    广州畅游网络科技有限公司
    广州从兴电子开发有限公司
    广州德达泰尔通信有限责任公司
    广州德捷科技有限公司
    广州地球村计算机系统有限公司
    广州方欣科技有限公司
    广州菲奈特软件有限公司
    广州海斗信息科技有限公司
    广州红帆电脑科技有限公司
    广州鸿蒙信息科技有限公司
    广州华南资讯科技有限公司
    广州汇智通信技术有限公司
    广州火石软件有限公司
    广州交通信息投资公司
    广州杰升信息科技有限公司
    广州京华网络有限公司
    广州九城科技有限公司
    广州聚晖电子科技有限公司
    广州凯媒通讯有限公司
    广州科望计算机软件技术服务有限公司
    广州联奕信息科技有限公司
    广州南方电力集团科技发展有限公司
    广州南天电脑系统有限公司
    广州品高软件开发有限公司
    广州企源电脑科技有限公司
    广州企源电脑科技有限公司
    广州融讯科技有限公司
    广州软动智软计算机科技有限公司
    广州锐伟特计算机科技有限公司
    广州瑞达通信技术有限公司 
    广州瑞达通信有限公司
    广州赛宝软件评测中心
    广州赛宝腾睿信息科技有限公司
    广州市艾森斯软件研发有限公司
    广州市八丁动漫网络科技有限公司
    广州市奔步电脑有限公司
    广州市博颖信息科技有限公司
    广州市诚毅科技软件开发有限公司
    广州市方欣科技有限公司
    广州市方欣科技有限公司
    广州市海维空间信息系统有限公司
    广州市凯乐软件技术有限公司
    广州市品高软件开发有限公司
    广州市品高软件开发有限公司 
    广州市瑞联技术开发有限公司
    广州市尚旗软件开发有限公司
    广州市天维数码技术有限公司
    广州市雄冠条码实业有限公司
    广州市亚加度电脑软件开发有限公司
    广州市益百计算机工程有限公司
    广州市优易数码科技有限公司
    广州市知微科技有限公司
    广州市知微科技有限公司
    广州市中奕信息科技有限公司
    广州市足迹信息技术有限公司
    广州市尊网商通资讯科技有限公司
    广州通易科技有限公司
    广州拓欧信息技术有限公司
    广州万迅电脑软件有限公司
    广州喂哇网络技术有限公司
    广州矽金塔电子有限公司
    广州新盛通科技有限公司
    广州亚软信息技术有限公司
    广州亚软信息技术有限公司   
    广州溢信科技有限公司
    广州银联网络支付有限公司
    广州印网科技有限公司
    广州英狮数码科技有限公司
    广州优易数码科技有限公司
    广州御银科技股份有限公司
    广州元迪信息技术有限公司
    广州智软科技有限公司
    广州中继网络科技有限公司
    广州中望龙腾科技发展有限公司
    广州纵横天地电子商旅服务有限公司
    宏天
    华南教育科技发展有限公司
    汇丰软件开发(广东)有限公司
    慧迅软件有限公司
    火石软件(广州)有限公司
    京虹科技有限公司
    竞优集团(IFCASoftWare)-IFCA中国研发中心
    蓝韵实业有限公司
    满堂红信息技术中心
    美达信电子科技有限公司
    盟讯科技有限公司
    明高资讯科技(广州)有限公司
    深圳彩讯科技有限公司
    深圳广电银通金融电子科技有限公司
    深圳吉祥腾达科技有限公司
    深圳市彩讯科技有限公司
    深圳市汇巨信息技术有限公司
    深圳市盛视科技有限公司
    深圳市易思博软件技术有限公司
    深圳市卓润科技有限公司
    深圳太极软件有限公司
    深圳易通科技有限公司
    时代财富科技有限公司
    世纪龙信息网络有限责任公司
    数夫家具软件有限公司
    四川格瑞特科技有限公司
    速达软件技术有限公司
    万宝盛华人力资源有限公司
    武汉品格科技开发有限公司
    武汉思远顾问有限公司
    西安中兴精诚通讯有限公司
    香港方达科技(亚洲)有限公司
    亚信科技(中国)有限公司
    宇龙计算机通讯科技(深圳)有限公司
    智盟英纳科技有限公司
    智软(中国)电脑系统开发有限公司
    中国南方航空公司信息中心
    中国数据华南研发中心
    中企动力华南研发中心
    珠海高凌信息科技有限公司
    珠海金山软件股份有限公司

  • 老婆测试工具培训记-Scripting-实践8

    2008-07-29 13:57:33

    write a program to Highlight a object?

    思路:利用api函数实现

    代码:
    Extern.Declare micHwnd, "GetDesktopWindow", "User32.DLL", "GetDesktopWindow"
    Extern.Declare micULong, "GetWindowDC", "User32.DLL", "GetWindowDC", micHwnd
    Extern.Declare micInteger, "ReleaseDC", "User32.DLL", "ReleaseDC", micHwnd, micULong
    Extern.Declare micULong, "CreatePen", "Gdi32.DLL", "CreatePen", micInteger, micInteger, micDword
    Extern.Declare micInteger, "SetROP2", "Gdi32.DLL", "SetROP2", micULong, micInteger
    Extern.Declare micULong, "SelectObject", "Gdi32.DLL", "SelectObject", micULong, micULong
    Extern.Declare micULong, "DeleteObject", "Gdi32.DLL", "DeleteObject", micULong
    Extern.Declare micULong, "GetStockObject", "Gdi32.DLL", "GetStockObject", micInteger
    Extern.Declare micULong, "Rectangle", "Gdi32.DLL", "Rectangle", micULong, micInteger, micInteger, micInteger, micInteger


    Function HighlightRect (X, Y, W, H, Times)

    hDC = Extern.GetWindowDC (Extern.GetDesktopWindow)
    hPen = Extern.CreatePen (6, 3, RGB(0, 0, 0)) ' PS_INSIDEFRAME, 3 , RGB(0, 0, 0)
    Extern.SetROP2 hDC, 6 ' hDC, R2_NOT
    Extern.SelectObject hDC, hPen

    Extern.SelectObject hDC, Extern.GetStockObject (5)


    For i = 0 to Times * 2 + 1
    Extern.Rectangle hDC, X, Y, X + W, Y + H
    wait 0, 50
    Next


    Extern.ReleaseDC Extern.GetDesktopWindow, hDC
    Extern.DeleteObject hPen

    End Function

  • LoadRunner Vugen 脚本文件

    2008-07-28 22:48:06

        LoadRunner用VuGen创建脚本的时候将建立一些文件,这些文件对vugen或Controller都是必需的。
    例如,有脚本名字为Login ,两个Actions,Home和Login,将产生如下文件:
    • Login.usr:.usr文件设置那些ACTION被调用,使用哪些协议等
    • default.usp:包含run logic的设置
    • default.cfg:包含run-time settings 设置(除了run-logic设置) 
    • globals.h:全局头文件 
    • Home.c :包含代码的文件
    • login.c :包含代码的文件
    • vuser_init.c :包含代码的文件
    • vuser_end.c :包含代码的文件
    • Login.prm:包含参数定义

         *.dat: 参数数据文件,你可以保存待任意位置,甚至映射到其他服务器上的驱动器

       vugen回放时创建的文件如:*.txt, *.log, *.idx, *.bak, result*, pre_cci.c, combined_*, *.ci 等文件都可以删除,你不需要担心他们对你的脚本有影响。

  • 老婆测试工具培训记-qtp scriping-实践7

    2008-07-25 14:10:12

    write a program to send email?

    思路:利用 cmo和 outlook对象

    解决方法1:


      Dim Outlook 'As New Outlook.Application
      Set ōutlook = CreateObject("Outlook.Application")
      

      Dim Message 'As Outlook.MailItem
      Set Message = Outlook.CreateItem(olMailItem)
      With Message
        .Subject ="hello"
        .Body = "test"
      
        'Set destination email address
        .Recipients.Add ("pcl@51testing.com")
       .Send
      End With

    解决方法2:

     Dim Email As Object
     NameS = "http://schemas.microsoft.com/cdo/configuration/"
     Set Email = CreateObject("CDO.Message")
     Email.From = "****@qq.com" '//你自己的油箱号码
     Email.To = "" ' // 要发的人
     Email.Subject = "" '//相当于邮件里的标题
     Email.Textbody = "" '//相当于邮件里的内容
     Email.Configuration.Fields.Item(NameS & "sendusing") = 2
     Email.Configuration.Fields.Item(NameS & "smtpserver") = "smtp.qq.com" '// 服务器
     Email.Configuration.Fields.Item(NameS & "smtpserverport") = 25 '//端口号
     Email.Configuration.Fields.Item(NameS & "smtpauthenticate") = 1
     Email.Configuration.Fields.Item(NameS & "sendusername") = "**" '//油箱号码@前面的名字
     Email.Configuration.Fields.Item(NameS & "sendpassword") = "**" '//你油箱的密码
     Email.Configuration.Fields.Update
     Email.Send

  • 老婆测试工具培训记 - QTP Scripting - 实践6

    2008-07-22 14:57:20

       write a program to Saving a file from IE?

       思路: 利用MSXML4里面提供了一个可用的新的组件:WinHttp.WinHttpRequest.5.1

       技术主要利用在下载文件验证方面。下面是我做个下载我上传的一个文件的测试,除了WinHttp.WinHttpRequest.5.1对象还利用到了ado.stream对象,进行保存文件处理。

       代码如下:


    Set WinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
    If WinHttp Is Nothing Then Set WinHttp = CreateObject("WinHttp.WinHttpRequest")
    WinHttp.Open "GET", "http://www.51testing.com/batch.download.php?aid=10479", False
    WinHttp.Send
     
    arrArray = WinHttp.ResponseBody
    Set WinHttp = Nothing
     

    On Error Resume Next
        Set ōADO = CreateObject("ADODB.Stream")
        If oADO Is Nothing Then
            Set ōFSO = CreateObject("scrīpting.FileSystemObject")
            Set ōTextFile = oFSO.OpenTextFile("c:\a.rar", 2, True)
            sData = ""
            sBuffer = ""
            For iCount = 0 to UBound(arrArray)
                oTextFile.Write Chr(255 And Ascb(Midb(arrArray,iCount + 1, 1)))
            Next
            oTextFile.Close
        Else
            oADO.Type = 1
            oADO.Open
            oADO.Write arrArray
            oADO.SaveToFile "c:\a.rar", 2
            oADO.Close
        End If
     
        Set ōADO = Nothing
        Set ōTextFile = Nothing
        Set ōFSO = Nothing

     

  • 老婆的工作定了

    2008-07-22 14:03:56

        7月1日早2点30分飞机降落在深圳宝安国际机场,我也来到了这个陌生的城市,深圳-标志着一个新的开始。7月2日老婆就从哈尔滨来深圳和我会合,我们两个人在一起中间遇到了很多困难,虽然短短的几个月时间,但是中间的事情也许比一些人一生发生的事情都要多。

        老婆为了我放弃了很多,原先在哈尔滨做软件测试工作,在公司是测试主管,在公司很有发展前景的。来到深圳之后又面临着重新开始。第一步是安定,首先面临的是找工作的环节,虽然老婆也作过几年测试,但是哈尔滨的测试毕竟不正规,她对测试的理解还不是很深刻,但是面临找工作,必须要有面试一道关。

        首先投简历,简历的投放一定要有效果,在不同的时间段效果上不一样的,摸索和对比了下发现在深圳找工作,51job,chinahr不如中国人才热线以及深圳人才。简历找对了地方之后,就有了多家邀请面试的机会。

        准备面试,准备面试关键在于如何把自己所做的项目和经验表述出来,一方面我帮老婆总结了以前的项目和经验。一方面给老婆进行了工具的培训,所以才有“老婆测试工具培训记”出来。另外就是看了下简历可能要问得问题,比如为什么离职,什么时候打算结婚,什么时候打算生孩子等等 人力方面的问题,项目是什么,缺陷跟踪如何做等等测试方面的问题,在一个突出技术能力的 性能和自动化测试的表述。

        面试过程,面试是一个交流的过程,要分析和总结,老婆总共面试了4家,

        第一家公司技术面试测试主管问的问题多是测试方面问题,但是问得都是概念性的东西,如黑盒测试是什么,而且强烈要求把概念说出来。虽然最后拿到了这家公司的offer,老婆还是给放弃了。觉得发展空间不大。

        第二家公司去的时候总共有10多人面试,老婆是唯一一个谈了1个多小时的面试人员,当天一路从技术经理,人力面试到副总,现在差公司老总面试,据老婆说当时面试的时候老婆吧自己做得自动化测试项目和性能测试项目以及测试管理的项目经验说了之后,大家很认可,小吹一把,出门的时候几个同去面试的测试人员还特崇拜老婆跟她要了qq,要以后多交流。

       第三家公司是一家做服务的公司,面试的是测试经理的职位,这个公司有100多名测试人员,现在要招聘一个管理17人的测试团队的测试经理,先笔试,笔试涵盖 逻辑题,测试,英语翻译,据老婆说他逻辑题目15道题目全部做对,笔试完毕,测试经理,人力总监,基本上工作搞定,还需要香港的负责人最后一面。

       第四家是做产品的公司,面试职位测试经理,测试团队基本上没有,需要老婆过去独立组建这个团队,急需用人,当天面试完就让第二天上班了。

       综合考虑了下,老婆选择了第四家公司,觉得发展空间比较大,公司环境也不错。

       老婆的工作定了,我们也算初步稳定下来了。深圳51Testing第一期软件测试就业培训班也开起来了,希望一切慢慢走上正轨。再接再厉希望再创辉煌。 

      

  • 自动化测试框架设计随想 1

    2008-07-21 18:37:50

        软件测试正逐渐从手工测试往测试自动化测试方面发展,其实就是正朝业务流程自动化方向发展。自动化测试是一项工程,需要编写代码,为了保证代码的可维护性,保证代码的灵活性,它也需要设计,所以框架设计变得很重要。

        我们知道在大型项目中自动化功能测试是复杂和困难的,因为它需要深入的知识背景。其中包括很重要的两方面知识:一种是编程和测试工具的技能,一种是业务知识。但通常的程序员没有足够的业务领域知识(尤其是复杂的企业系统,如ERP,BOSS等) ,但熟悉业务的测试人员又缺乏编程和自动化测试的经验。
     
       所以一般我们在自动化测试团队中需要两种人员:  
       业务专家,主要负责测试场景的设计; 
       自动化测试工具专家(qtp熟悉的人,如QTP CPC): 负责开发脚本代码,调试实施的职能。  
       
       要设计并实现一个强大的关键字驱动自动化框架是一项很大的挑战。在公司内部组建一个集中的自动化测试的团队设计关键字数据驱动框架,这么做的好处是可以跨多平台应用,从而节省大量的时间,精力和费用。关键字数据驱动的框架让测试人员关注测试用例的设计,自动化测试开发人员关注在功能的实现。
       待续...............  
      
  • Qtp如何调用vbs中创建的类?

    2008-07-14 18:20:33

    论坛问题 http://bbs.51testing.com/thread-119751-1-6.html  

    答案代码如下

    Option explicit

    Public function stack()
        set stack = new clsStack
    End Function

    Class clsStack

        Private l
        Private Sub Class_Initialize    ' Setup Initialize event.
            set l = linkedList         ' Create a linked list instance
        End Sub

        Public function pop()
            If l.count = 0 Then exit function    ' No items in the list
            pop = l.getlast()          ' Return the last item
            l.deleteLast               ' and delete it
        End Function

        Public sub push(element)       
            l.add element              ' Add an item to the list
        End sub

        Public function peek()           
            peek = l.getlast()         ' Peek at the top item
        End Function

    End Class

     

    在qtp中加载以上vbs文件然后在qtp中写如下代码:

    Dim tStack

    set tStack = stack         

    以上代码运行会有错误,因为linkedList类的实现我没有给出代码。

  • 老婆测试工具培训记 - QTP Scripting - 实践5

    2008-07-14 16:42:29

    针对论坛问题进行实战,在论坛寻找没有被解决的问题进行实战代码演练,问题如下

    http://bbs.51testing.com/thread-119326-1-2.html 

    这里面问题的难点主要利用ado如何读取数据库大二进制流的数据,如何把图片插入到excel中

    ado需要利用的方法: GetChunk

    功能:
    返回大型文本或二进制数据   Field   对象的全部或部分内容。  
    语法  
     variable   =   field.GetChunk(   Size   )  
    返回值  
    返回变体型。  
    参数  
    Size       长整型表达式,等于所要检索的字节或字符数。  
    说明  
    使用   Field   对象的   GetChunk   方法检索其部分或全部长二进制或字符数据。在系统内存有限的情况下,可使用   GetChunk   方法处理部分而非全部的长整型值。  
    GetChunk   调用返回的数据将赋给“变量”。如果   Size   大于剩余的数据,则   GetChunk   仅返回剩余的数据而无需用空白填充“变量”。如果字段为空,则   GetChunk   方法返回   Null。  
    每个后续的   GetChunk   调用将检索从前一次   GetChunk   调用停止处开始的数据。但是,如果从一个字段检索数据然后在当前记录中设置或读取另一个字段的值,ADO   将认为已从第一个字段中检索出数据。如果在第一个字段上再次调用   GetChunk   方法,ADO   将把调用解释为新的   GetChunk   操作并从记录的起始处开始读取。如果其他   Recordset   对象不是首个   Recordset   对象的副本,则访问其中的字段不会破坏   GetChunk   操作。  
    如果   Field   对象的   Attributes   属性中的   adFldLong   位设置为   True,则可以对该字段使用   GetChunk   方法。  
    如果在   Field   对象上使用   Getchunk   方法时没有当前记录,将产生错误   3021(无当前记录)。

    解决问题代码:

    sub main
         save_pic
         insert_Excel_pic
    end sub

     

    Sub Save_Pic()
       Dim DcnNWind 'As ADODB.Connection
       Dim rs  'As ADODB.Recordset
       set DcnNWind=New ADODB.Connection
       Set rs = New ADODB.Recordset
       DcnNWind.CursorLocation = adUseClient
       DcnNWind.Open "Provider=SQLOLEDB.1;Integrated Security=SSI;Persist Security Info=False;Initial

    Catalog=CUSTOM;Data Source=SERVER"
       rs.CursorType = adOpenKeyset
       rs.LockType = adLockOptimistic
       rs.Open "CustomInfo", DcnNWind, , adCmdTable
       rs.Move 第几行数据 '指针指向到第几行数据
       Call BlobToFile (rs.Fields("Image"), "c:\windows\temp\tmp.bmp", rs.Fields("Image").ActualSize)

    End Sub

     

    Sub BlobToFile(fld , FileName, Optional ChunkSize )
       Dim fnum , bytesLeft , bytes
       Dim tmp()  'As Byte
       If (fld.Attributes And adFldLong) = 0 Then
          Err.Raise 1001, , "Field doesn't support the GetChunk method."
       End If
       If Dir$(FileName) <> "" Then Kill FileName
       fnum = FreeFile
       Open FileName For Binary As fnum
       bytesLeft = fld.ActualSize
       Do While bytesLeft
          bytes = bytesLeft
          If bytes > ChunkSize Then bytes = ChunkSize
          tmp = fld.GetChunk(bytes)
          Put #fnum, , tmp
          bytesLeft = bytesLeft - bytes
       Loop
       Close #fnum
    end sub


    Sub insert_Excel_pic()
    Set ōbjExcel = CreateObject("Excel.Application")
    objExcel.Visible = True
    objExcel.Workbooks.Add
    objExcel.Range("A1").Select
    objExcel.ActiveSheet.Pictures.Insert("C:\a.bmp").Select
    '处理Excel
    set ōbjExcel=Nothing
    End Sub

  • xmlhttp的应用

    2008-07-13 10:38:10

    论坛问题:

    1. 在hotel.qunar.com中,城市:广州;入住时间:5-20 离店时间5-25; 用QTP将该城市搜索到的酒店及各个房型的报价记录下来。
    2. 在www.qunar.com 中, 写一个qtp 脚本来验证搜索机票单程列表页各个功能

    问题1: 检索符合要求的酒店 可以通过如下代码获得 获得房型的报价代码还在研究中

     

    Browser("酒店预定").Page("酒店预定").WebEdit("fromDate").Set "2008-7-21"
    Browser("酒店预定").Page("酒店预定").WebEdit("toDate").Set "2008-7-22"
    Browser("酒店预定").Page("酒店预定").WebCheckBox("paraSearch").Set "OFF"
    Browser("酒店预定").Page("酒店预定").WebButton("酒店搜索").Click

    Set xmlobj=CreateObject("Microsoft.XMLHTTP")
    xmlobj.open "Get","http://hotel.qunar.com/city/guangzhou/?#priceRange=&fromDate=2008-07-21&hotelName=&_VTYPE=map&hselSearchHistory=toCity%3D%25E5%25B9%25BF%25E5%25B7%259E%26fromDate%3D2008-07-21%26toDate%3D2008-07-22&toDate=2008-07-22",false
    xmlobj.send()
    htmlcode= xmlobj.responsetext


    Set RegEx=New RegExp
    RegEx.pattern="<a href=.dt-.*"
    RegEx.Global=True
    regEx.IgnoreCase   =   true
    Set matches=RegEx.execute(htmlcode)


    For Each Match in matches
      
                    RetStr = Match.Value
                    RetStr =RegExp_Replace(patrn,RetStr ,"")
                    RetStr =RegExp_Replace(patrn,RetStr ,"")
                    'print RetStr
    Next

     

    Set regex=nothing

    Set RegEx=New RegExp
    RegEx.pattern="\<.+?>\s*([\s\S]*?)\s*</a>"
    RegEx.Global=True
    Set matches=RegEx.execute(RetStr)

    For Each Match in matches
      
                                           

           RetStr= Match.submatches(0)

           print RetStr
               
                  
    Next

    Set regex=nothing

    Function   RegExp_Replace(patrn,str,replStr)  
              Dim   regEx   '   建立变量。  
              Set   regEx   =   New   RegExp   '   建立正则表达式。  
              regEx.Pattern   =   patrn   '   设置模式。  
              regEx.IgnoreCase   =   true   '   设置是否区分大小写。  
              RegExp_Replace   =   regEx.Replace(str,replStr)   '   作替换。  
    End   Function


    ------------------------------------------
    代码增强,需要验证搜索到的结果正确性,代码没有经过验证,因为不知道后台数据库

    Browser("酒店预定").Page("酒店预定").WebEdit("fromDate").Set "2008-7-21"
    Browser("酒店预定").Page("酒店预定").WebEdit("toDate").Set "2008-7-22"
    Browser("酒店预定").Page("酒店预定").WebCheckBox("paraSearch").Set "OFF"
    Browser("酒店预定").Page("酒店预定").WebButton("酒店搜索").Click

    Set xmlobj=CreateObject("Microsoft.XMLHTTP")
    xmlobj.open "Get","http://hotel.qunar.com/city/guangzhou/?#priceRange=&fromDate=2008-07-21&hotelName=&_VTYPE=map&hselSearchHistory=toCity%3D%25E5%25B9%25BF%25E5%25B7%259E%26fromDate%3D2008-07-21%26toDate%3D2008-07-22&toDate=2008-07-22",false
    xmlobj.send()
    htmlcode= xmlobj.responsetext


    Set RegEx=New RegExp
    RegEx.pattern="<a href=.dt-.*"
    RegEx.Global=True
    regEx.IgnoreCase   =   true
    Set matches=RegEx.execute(htmlcode)


    For Each Match in matches
      
                    RetStr = Match.Value
                    RetStr =RegExp_Replace(patrn,RetStr ,"")
                    RetStr =RegExp_Replace(patrn,RetStr ,"")
                    'print RetStr
    Next

     

    Set regex=nothing

    Set RegEx=New RegExp
    RegEx.pattern="\<.+?>\s*([\s\S]*?)\s*</a>"
    RegEx.Global=True
    Set matches=RegEx.execute(RetStr)

    dim conn
    dim rst
    set conn=createobject("adodb.connection")
    conn.open "数据库联接字符串"

    set rst=createobject("adodb.recordset")
    rst.open "select * from 表 where 条件符合宾馆地点的 orderby 符合服务器传输数据顺序的",conn

    rst.movefirst

    For Each Match in matches
      
                                           

           RetStr= Match.submatches(0)
          
           if RetStr=rst.fields("列") then

              msgbox "符合条件"
           else
               msgbox "数据不符合"
           end if

           print RetStr
           rst.movenext           
                  
    Next


    rst.close
    set rst=nothing
    conn.close
    set conn=nothing

    Set regex=nothing

    Function   RegExp_Replace(patrn,str,replStr)  
              Dim   regEx   '   建立变量。  
              Set   regEx   =   New   RegExp   '   建立正则表达式。  
              regEx.Pattern   =   patrn   '   设置模式。  
              regEx.IgnoreCase   =   true   '   设置是否区分大小写。  
              RegExp_Replace   =   regEx.Replace(str,replStr)   '   作替换。  
    End   Function


    问题2 需要具体知道验证点问题不明确

     

    第一个问题还需要跟开发人员交流下,了解页面布局,知道价钱所在位置后,利用dom技术进行页面解析,分解出来所要的数据。

    现在仅仅依靠自己分析页面布局,工作量比较大,而且进展很慢。

  • qtp 成为高手需要掌握常用com对象

    2008-07-11 15:47:17

       成为高手需要了解的基本com对象处理技术,了解常用的com对象的使用,如果你想成为高手,那么从下面对象开始吧:

    文件系统对象相关:
    ("scrīptING.FILESYSTEMOBJECT")

    应用:数据驱动技术常用,日志输入常用

    字典相关:
    ("scrīptING.DICTIONARY")

    应用:脚本配置控制开关 list对象item数据对比

    脚本外壳相关:
    ("Wscrīpt.SHELL")

    应用:最常用其中的sendkeys方法,利用在不可识别对象技术方面

    WINDOWS外壳相关:
    ("SHELL.APPLICATION")

     

    正则表达式相关:
    ("VBscrīpt.REGEXP")

    应用:网页解析,数据对比 验证点技术实现的一种

    编码与密码相关:
    ("scrīptPW.PASSWORD")
    ( "scrīptING.ENCODER" )

    应用:数据包传输测试过程中应用

    邮件发送的组件相关:
    ("JMAIL.MESSAGE")
    ("CDONTS.NEWMAIL")
    ("CDO.CONFIGURATION")
    ("EUDORA.EUAPPLICATION.1")
    ("NOVELLGROUPWARESESSION")

    应用:测试报告发送

    水晶报表相关:
     ("CRYSTALRUNTIME.APPLICATION")

    应用:测试报告美化,常用的是excel的报告输出,这种技术用的少

    IE浏览器相关:
    ("INTERNETEXPLORER.APPLICATION")

    应用:web测试用的比较多

    ADO相关:
    ("ADODB.CONNECTION")
    ("ADODB.COMMAND")
    ("ADODB.RECORDSET")
    ("ADODB.RECORD")
    ("ADODB.STREAM")
    ("DAO.DBENGINE.35")
    ("ADOX.CATALOG")
    ("ADOX.TABLE")

    应用:数据驱动,数据库验证,dao主要利用在access数据库处理

    SQL相关:
    ("SQLDMO.SQLSERVER")
    ("SQLDMO.LOGIN")
    ("SQLDMO.BACKUP")
    ("SQLDMO.USER")
    ("SQLDMO.BACKUPDEVICE")
    ("SQLDMO.DATABASE")
    ("SQLDMO.RESTORE")
    ("SQLDMO.APPLICATION")

    OFFICE相关:
    ("WORD.APPLICATION")
    ("EXCEL.APPLICATION")
    ("POWERPOINT.APPLICATION")
    ("EXCEL.SHEET")
    ("FRONTPAGE.APPLICATION")
    ("ACCESS.APPLICATION")
    ("MSGRAPH.APPLICATION")
    ("OUTLOOK.APPLICATION")

    应用:测试报告输出,数据驱动

    WMI相关:
    ("WBEMscrīptING.SWBEMDATETIME")
    ("WBEMscrīptING.SWBEMLOCATOR")
    ("WBEMscrīptING.SWBEMNAMEDVALUESET")
    ("WBEMscrīptING.SWBEMSINK", "SINK_")
    ("WBEMscrīptING.SWBEMREFRESHER")
    ("WBEMscrīptING.SWBEMLASTERROR")
    ("WBEMscrīptING.SWBEMOBJECTPATH")

    应用:初始化测试环境

    对象为我所用,我为测试所用

  • ISTQB Examp Paper 1 (转)

    2008-07-10 22:54:25

    ISTQB (International Software Testing Qualification Board)是国际唯一权威的软件测试资质认证机构,现有包括美国、德国、英国、法国、日本等近40个成员国。

    ISTQB-Certified Tester培训及认证体系分为三个级别:基础级/Foundation Level、高级/Advanced Level、专家级/Expert Level。培训者获得基础级证书后,可申请参加更高级别的培训和认证考试,并获得相应证书。至2007年6月,全球已有超过 60,000 IT 专业人士持有ISTQB-Certified Tester的认证证书。

    1 When what is visible to end-users is a deviation from the specific or expected behavīor, this is called:
    a) an error
    b) a fault
    c) a failure
    d) a defect
    e) a mistake

    2 Regression testing should be performed:
    v) every week
    w) after the software has changed
    x) as often as possible
    y) when the environment has changed
    z) when the project manager says

    a) v & w are true, x – z are false
    b) w, x & y are true, v & z are false
    c) w & y are true, v, x & z are false
    d) w is true, v, x y and z are false
    e) all of the above are true

    3 IEEE 829 test plan documentation standard contains all of the following except:
    a) test items
    b) test deliverables
    c) test tasks
    d) test environment
    e) test specification

    4 Testing should be stopped when:
    a) all the planned tests have been run
    b) time has run out
    c) all faults have been fixed correctly
    d) both a) and c)
    e) it depends on the risks for the system being tested

    5 Order numbers on a stock control system can range between 10000 and 99999 inclusive. Which of the following inputs might be a result of designing tests for only valid equivalence classes and valid boundaries:
    a) 1000, 5000, 99999
    b) 9999, 50000, 100000
    c) 10000, 50000, 99999
    d) 10000, 99999
    e) 9999, 10000, 50000, 99999, 10000

    6 Consider the following statements about early test design:
    i. early test design can prevent fault multiplication
    ii. faults found during early test design are more expensive to fix
    iii. early test design can find faults
    iv. early test design can cause changes to the requirements
    v. early test design takes more effort

    a) i, iii & iv are true. Ii & v are false
    b) iii is true, I, ii, iv & v are false
    c) iii & iv are true. i, ii & v are false
    d) i, iii, iv & v are true, ii us false
    e) i & iii are true, ii, iv & v are false

    7 Non-functional system testing includes:
    a) testing to see where the system does not function properly
    b) testing quality attributes of the system including performance and usability
    c) testing a system feature using only the software required for that action
    d) testing a system feature using only the software required for that function
    e) testing for functions that should not exist

    8 Which of the following is NOT part of configuration management:
    a) status accounting of configuration items
    b) auditing conformance to ISO9001
    c) identification of test versions
    d) record of changes to documentation over time
    e) controlled library access

    9 Which of the following is the main purpose of the integration strategy for integration testing in the small?
    a) to ensure that all of the small modules are tested adequately
    b) to ensure that the system interfaces to other systems and networks
    c) to specify which modules to combine when and how many at once
    d) to ensure that the integration testing can be performed by a small team
    e) to specify how the software should be divided into modules

    10 What is the purpose of test completion criteria in a test plan:
    a) to know when a specific test has finished its execution
    b) to ensure that the test case specification is complete
    c) to set the criteria used in generating test inputs
    d) to know when test planning is complete
    e) to plan when to stop testing

    11 Consider the following statements
    i. an incident may be closed without being fixed
    ii. incidents may not be raised against documentation
    iii. the final stage of incident tracking is fixing
    iv. the incident record does not include information on test environments
    v. incidents should be raised when someone other than the author of the software performs the test

    a) ii and v are true, I, iii and iv are false
    b) i and v are true, ii, iii and iv are false
    c) i, iv and v are true, ii and iii are false
    d) i and ii are true, iii, iv and v are false
    e) i is true, ii, iii, iv and v are false

    12 Given the following code, which is true about the minimum number of test cases required for full statement and branch coverage:
    Read P
    Read Q
    IF P+Q > 100 THEN
    Print “Large”
    ENDIF
    If P > 50 THEN
    Print “P Large”
    ENDIF

    a) 1 test for statement coverage, 3 for branch coverage
    b) 1 test for statement coverage, 2 for branch coverage
    c) 1 test for statement coverage, 1 for branch coverage
    d) 2 tests for statement coverage, 3 for branch coverage
    e) 2 tests for statement coverage, 2 for branch coverage

    13 Given the following:
    Switch PC on
    Start “outlook”
    IF outlook appears THEN
    Send an email
    Close outlook

    a) 1 test for statement coverage, 1 for branch coverage
    b) 1 test for statement coverage, 2 for branch coverage
    c) 1 test for statement coverage. 3 for branch coverage
    d) 2 tests for statement coverage, 2 for branch coverage
    e) 2 tests for statement coverage, 3 for branch coverage

    14 Given the following code, which is true:
    IF A > B THEN
    C = A – B
    ELSE
    C = A + B
    ENDIF
    Read D
    IF C = D Then
    Print “Error”
    ENDIF

    a) 1 test for statement coverage, 3 for branch coverage
    b) 2 tests for statement coverage, 2 for branch coverage
    c) 2 tests for statement coverage. 3 for branch coverage
    d) 3 tests for statement coverage, 3 for branch coverage
    e) 3 tests for statement coverage, 2 for branch coverage

    15 Consider the following:
    Pick up and read the newspaper
    Look at what is on television
    If there is a program that you are interested in watching then switch the the television on and watch the program
    Otherwise
    Continue reading the newspaper
    If there is a crossword in the newspaper then try and complete the crossword

    a) SC = 1 and DC = 1
    b) SC = 1 and DC = 2
    c) SC = 1 and DC = 3
    d) SC = 2 and DC = 2
    e) SC = 2 and DC = 3

    16 The place to start if you want a (new) test tool is:
    a) Attend a tool exhibition
    b) Invite a vendor to give a demo
    c) Analyse your needs and requirements
    d) Find out what your budget would be for the tool
    e) Search the internet

    17 When a new testing tool is purchased, it should be used first by:
    a) A small team to establish the best way to use the tool
    b) Everyone who may eventually have some use for the tool
    c) The independent testing team
    d) The managers to see what projects it should be used in
    e) The vendor contractor to write the initial scrīpts

    18 What can static analysis NOT find?
    a) The use of a variable before it has been defined
    b) Unreachable (“dead”) code
    c) Whether the value stored in a variable is correct
    d) The re-definition of a variable before it has been used
    e) Array bound violations

    19 Which of the following is NOT a black box technique:
    a) Equivalence partitioning
    b) State transition testing
    c) LCSAJ
    d) Syntax testing
    e) Boundary value analysis



    20 Beta testing is:
    a) Performed by customers at their own site
    b) Performed by customers at their software developer’s site
    c) Performed by an independent test team
    d) Useful to test bespoke software
    e) Performed as early as possible in the lifecycle

    21 Given the following types of tool, which tools would typically be used by developers and which by an independent test team:
    i. static analysis
    ii. performance testing
    iii. test management
    iv. dynamic analysis
    v. test running
    vi. test data preparation

    a) developers would typically use i, iv and vi; test team ii, iii and v
    b) developers would typically use i and iv; test team ii, iii, v and vi
    c) developers would typically use i, ii, iii and iv; test team v and vi
    d) developers would typically use ii, iv and vi; test team I, ii and v
    e) developers would typically use i, iii, iv and v; test team ii and vi

    22 The main focus of acceptance testing is:
    a) finding faults in the system
    b) ensuring that the system is acceptable to all users
    c) testing the system with other systems
    d) testing for a business perspective
    e) testing by an independent test team

    23 Which of the following statements about the component testing standard is false:
    a) black box design techniques all have an associated measurement technique
    b) white box design techniques all have an associated measurement technique
    c) cyclomatic complexity is not a test measurement technique
    d) black box measurement techniques all have an associated test design technique
    e) white box measurement techniques all have an associated test design technique

    24 Which of the following statements is NOT true:
    a) inspection is the most formal review process
    b) inspections should be led by a trained leader
    c) managers can perform inspections on management documents
    d) inspection is appropriate even when there are no written documents
    e) inspection compares documents with predecessor (source) documents

    25 A typical commercial test execution tool would be able to perform all of the following EXCEPT:
    a) generating expected outputs
    b) replaying inputs according to a programmed scrīpt
    c) comparison of expected outcomes with actual outcomes
    d) recording test inputs
    e) reading test values from a data file

    26 The difference between re-testing and regression testing is
    a) re-testing is running a test again; regression testing looks for unexpected side effects
    b) re-testing looks for unexpected side effects; regression testing is repeating those tests
    c) re-testing is done after faults are fixed; regression testing is done earlier
    d) re-testing uses different environments, regression testing uses the same environment
    e) re-testing is done by developers, regression testing is done by independent testers

    27 Expected results are:
    a) only important in system testing
    b) only used in component testing
    c) never specified in advance
    d) most useful when specified in advance
    e) derived from the code

    28 Test managers should not:
    a) report on deviations from the project plan
    b) sign the system off for release
    c) re-allocate resource to meet original plans
    d) raise incidents on faults that they have found
    e) provide information for risk analysis and quality improvement

    29 Unreachable code would best be found using:
    a) code reviews
    b) code inspections
    c) a coverage tool
    d) a test management tool
    e) a static analysis tool

    30 A tool that supports traceability, recording of incidents or scheduling of tests is called:
    a) a dynamic analysis tool
    b) a test execution tool
    c) a debugging tool
    d) a test management tool
    e) a configuration management tool

    31 What information need not be included in a test incident report:
    a) how to fix the fault
    b) how to reproduce the fault
    c) test environment details
    d) severity, priority
    e) the actual and expected outcomes

    32 Which expression best matches the following characteristics or review processes:
    1. led by author
    2. undocumented
    3. no management participation
    4. led by a trained moderator or leader
    5. uses entry exit criteria

    s) inspection
    t) peer review
    u) informal review
    v) walkthrough

    a) s = 4, t = 3, u = 2 and 5, v = 1
    b) s = 4 and 5, t = 3, u = 2, v = 1
    c) s = 1 and 5, t = 3, u = 2, v = 4
    d) s = 5, t = 4, u = 3, v = 1 and 2
    e) s = 4 and 5, t = 1, u = 2, v = 3

    33 Which of the following is NOT part of system testing:
    a) business process-based testing
    b) performance, load and stress testing
    c) requirements-based testing
    d) usability testing
    e) top-down integration testing

    34 What statement about expected outcomes is FALSE:
    a) expected outcomes are defined by the software’s behaviour
    b) expected outcomes are derived from a specification, not from the code
    c) expected outcomes include outputs to a screen and changes to files and databases
    d) expected outcomes should be predicted before a test is run
    e) expected outcomes may include timing constraints such as response times

    35 The standard that gives definitions of testing terms is:
    a) ISO/IEC 12207
    b) BS7925-1
    c) BS7925-2
    d) ANSI/IEEE 829
    e) ANSI/IEEE 729

    36 The cost of fixing a fault:
    a) Is not important
    b) Increases as we move the product towards live use
    c) Decreases as we move the product towards live use
    d) Is more expensive if found in requirements than functional design
    e) Can never be determined

    37 Which of the following is NOT included in the Test Plan document of the Test Documentation Standard:
    a) Test items (i.e. software versions)
    b) What is not to be tested
    c) Test environments
    d) Quality plans
    e) Schedules and deadlines

    38 Could reviews or inspections be considered part of testing:
    a) No, because they apply to development documentation
    b) No, because they are normally applied before testing
    c) No, because they do not apply to the test documentation
    d) Yes, because both help detect faults and improve quality
    e) Yes, because testing includes all non-constructive activities

    39 Which of the following is not part of performance testing:
    a) Measuring response time
    b) Measuring transaction rates
    c) Recovery testing
    d) Simulating many users
    e) Generating many transactions

    40 Error guessing is best used
    a) As the first approach to deriving test cases
    b) After more formal techniques have been applied
    c) By inexperienced testers
    d) After the system has gone live
    e) Only by end users
    <!--[if !supportLineBreakNewLine]-->
    <!--[endif]-->


    Question number Correct answer
    1 C
    2 C
    3 E
    4 E
    5 C
    6 A
    7 B
    8 B
    9 C
    10 E
    11 B
    12 B
    13 B
    14 B
    15 E
    16 C
    17 B
    18 C
    19 C
    20 A
    21 B
    22 D
    23 A
    24 D
    25 A
    26 A
    27 D
    28 C
    29 A
    30 E
    31 E
    32 B
    33 E
    34 A
    35 B
    36 B
    37 D
    38 D
    39 C
    40 B

  • 老婆测试工具培训记 - QTP Scripting - 实践4

    2008-07-10 22:44:02

    Write a program to read and delete cookies?

    关键点在于常识:cookies所存放的文件夹位置

    Set fso = CreateObject("scrīpting.FilesystemObject")
    set wshNetwork = CreateObject("Wscrīpt.Network")


    struser = wshNetwork.UserName
    fso.DeleteFile "C:\DOCUMENTS AND SETTINGS\" & struser & "\COOKIES\*.*",Force
    fso.DeleteFile "C:\DOCUMENTS AND SETTINGS\" & struser & "\LOCAL SETTINGS\TEMP\*.*",Force
    fso.DeleteFile "C:\DOCUMENTS AND SETTINGS\" & struser & "\LOCAL SETTINGS\TEMPORARY INTERNET FILE\*.*",Force
    fso.DeleteFile "C:\WINNT\TEMP\*.*",Force

    set fso=nothing
    set wshNetwork=nothing

    what a Limitations of DataTable QTP?

    Maximum worksheet size—65,536 rows by 256 columns
    Column width—0 to 255 characters
    Text length—16,383 characters
    Formula length—1024 characters
    Number precision—15 digits
    Largest positive number—9.99999999999999E307
    Largest negative number— -9.99999999999999E307
    Smallest positive number—1E-307
    Smallest negative number— -1E-307
    Maximum number of names per workbook—Limited by available memory
    Maximum length of name—255
    Maximum length of format string—255
    Maximum number of tables (workbooks)—Limited by system resources (windows and memory)

     

1667/9<123456789>
Open Toolbar