萧萧的枫林,萧萧的我

发布新日志

  • 文本框测试用例

    紫梦 发布于 2009-12-15 16:15:31

    一、文本框为字符型

    •必填项非空校验: 
         1、必填项未输入--程序应提示错误; 
         2、必填项只输入若干个空格,未输入其它字符--程序应提示错误;

    •字段唯一性校验: (不是所有字段都作此项校验,视实际项目情况而定)    
    1、新增时输入重复的字段值--必须提示友好信息;     
    2、修改时输入重复的字段值--必须提示友好信息;  

    •字段长度校验:    
    1、输入[最小字符数-1]--程序应提示错误;    
    2、输入[最小字符数]--OK;    
    3、输入[最小字符数+1]--程序应提示错误;    
    4、输入[最大字符数-1]--OK;    
    5、输入[最大字符数]--OK;    
    6、输入[最大字符数+1]--程序应提示错误;  

    •字段为特殊字符校验:   
    1、输入域如对某些字符禁止输入时,限制是否成功,提示信息是否友好 ;    
    2、中文、英文、空格,数字,字符,下划线、单引号 等所有特殊字符的组合 ;    
    3、所有特殊字符都必须进行测试(!~@#$^&*()_+{}|:“<>?/.,;‘[]\=-`¥……()--:《》?、。,;’【】、=-· )  

    •字段为特殊代码校验:     
    1、输入htm代码:比如” <font>你好</font>”;--必须以文本的形式将代码显示出来。      
    2、输入JavaScript代码:比如<param name=“MovieWindowWidth” value=“320”>;--必须以文本的形式将代码显示出来。  

    •多行文本框输入:     
    1、是否允许回车换行 ;     
    2、保存后再显示能够保持输入时的格式 ;     
    3、仅输入回车换行,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示 ;     
    4、仅输入空格,检查能否正确保存;若能,查看保存结果。若不能,查看是否有正确提示 。  

    二、文本框为数值型  

    •边界值:
    1、输入[最小值-1]--程序应提示错误;
    2、输入[最小值]--OK;
    3、输入[最大值]--OK;
    4、输入[最大值+1]--程序应提示错误;

    •位数:
    1、输入[限制位数]--OK;
    2、输入[限制位数+1]--根据实际项目而定,是否自动四舍五入成限制位数,还是提示信息;
    3、输入[限制位数-1]--OK;

    •异常值、特殊值:
    1、输入非数值型数据:汉字、字母、字符--程序应提示错误;
    2、输入负数--根据实际项目而定,如果不允许输入负数,必须提示友好信息;
    3、字段禁止直接输入非数值型数据时,使用“粘贴”、“拷贝”功能尝试输入,并测试能否正常提交保存--只能使用“粘贴”、“拷贝”方法输入的特殊字符应无法保存,并应给出相应提示 ;
    4、全角数字和半角数字的情况--全角数字不能保存,提示友好信息,半角数字正常保存;
    5、首位为零的数值:如01=1--视实际项目情况而定;  

    三、文本框为日期型  

    •合法性检查:
    1、日输入[0日]--程序应提示错误;
    2、日输入[1日]--OK;
    3、日输入[32日]--程序应提示错误;
    4、月输入[1、3、5、7、8、10、12月]、日输入[31日]--OK;
    5、月输入[4、6、9、11月]、日输入[30日]--OK;
    6、月输入[4、6、9、11月]、日输入[31日]--程序应提示错误;
    7、输入非闰年,月输入[2月]、日输入[28日],比如2009.2.28--OK;
    8、输入非闰年,月输入[2月]、日输入[29日],比如2009.2.29--程序应提示错误
    9、(闰年)月输入[2月]、日输入[29日],比如2008.2.29--OK;
    10、(闰年)月输入[2月]、日输入[30日],比如2008.2.30--程序应提示错误;
    11、月输入[0月]--程序应提示错误;
    12、月输入[1月]--OK;
    13、月输入[12月]--OK;
    14、月输入[13月] --程序应提示错误;

    •格式检查:
    1、不合法格式:2009-09、 2009-09 -、200-2-2;
    2、视具体项目而定是否合法:2009/09/01、2009.09.01 、20090901、2009-09-01 ;

    •异常值、特殊值:
    1、输入汉字、字母、字符--程序应提示错误;  

    四、文本框为时间型  

    •合法性检查:
    1、时输入[24时] --程序应提示错误;
    2、时输入[00时] --OK;
    3、分输入[60分] --程序应提示错误;
    4、分输入[59分] --OK;
    5、分输入[00分] --OK;
    6、秒输入[60秒] --程序应提示错误;
    7、秒输入[59秒] --OK;
    8、秒输入[00秒] --OK;

    •格式检查:
    1、不合法格式:12:30:、 123000;
    2、视具体项目而定是否合法:12:30、 1:3:0;

    •异常值、特殊值:
    1、输入汉字、字母、字符--程序应提示错误;
    2、系统中所涉及时间是否取服务器时间;

  • QTP中读取SQL数据库例子

    yzgonline 发布于 2009-03-05 12:42:39

    Browser("aaa").Page("bbb").WebEdit("username").Set DataTable("Pname", dtGlobalSheet)
    username = Browser("aaa").Page("bbb").WebEdit("username").GetROProperty("value")
    Browser("aaa").Page("bbb").WebEdit("password").SetSecure "447bc007c1401dd4511996463d35fd01"
    Browser("aaa").Page("bbb").WebButton("登 录").Click

    Dim res,sql,dtvalue
    '创建两个对象
    Set Res=createobject("adodb.recordset")
    Set Cmd=createobject("adodb.command")
    '设置数据库连接,例子是连接的sql数据库,Initial Catalog是在本机上配置的ODBC数据源名称ata Source中IP后面一定要加上,1443,
    '不然会报连无效;

    Cmd.activeconnection="Provider =SQLOLEDB;User ID =sa; PWD=sa; Initial Catalog=documan_ch; Data Source=localhost,1433"
    '使用 CommandType 属性设置命令类型;
    Cmd.CommandType = 1
    sql="select  *  from TBLUser  where USR_Name='"&username&"'"
    '使用 CommandText 属性定义命令(例如SQL语句)的可执行文本
    Cmd.CommandText = sql
    MsgBox sql
    Set res = Cmd.Execute()
    '该例子的结果为一行记录。下面是三种方法获取这一行结果各列的值,索引是从0开始,USR_Name代表的是列名。
    '如果结果集中包含有多行记录,那么可以使用res.recordCount取得总记录行数,可以使用res.movenext移动到下一行,
    '而res(i)这个时候是返回一行记录了,索引也是从0开始。

    MsgBox TRIM(res.Fields(3))
    MsgBox Trim(res.Fields("USR_Name"))
    MsgBox (res(1))
    dtvalue =Trim(res.Fields("USR_Name"))
    '下面是判断从数据库读取到的用户和输入的是否一致,只校验了一个字段,可以校验多个字段
    If Trim(username) = dtvalue Then
     Report.ReportEvent micpass "成功"
    Else
     Report.ReportEvent micfail "不成功"
    End If
    Set res =Nothing
    Set Cmd.ActiveConnection=Nothing
    Set Cmd =Nothing

  • 4、TD邮件发送脚本编写示例

    紫梦 发布于 2007-04-18 13:37:47

    当用户改变TD优先级时,如何通过程序发送email,编写脚本如下:
    Sub Defects_Bug_FieldChange(FieldName)
    On Error Resume Next

    If FieldName="BG_PRIORITY" then ' Check if the field changed is priority
      If Bug_Fields("BG_PRIORITY").Value="5-Urgent" Then  'check if priority is changed to urgent.
        dim tdc ' TDConnection
        dim header 'as string
        dim body 'as string
      
        set tdc = TDConnection 'initilalize td connection object
        header="Defect ID:" & Bug_Fields("BG_BUG_ID").Value & " - Changed to priority : " & Bug_Fields("BG_PRIORITY").Value
        body="Defect Summary : " & Bug_Fields("BG_SUMMARY").Value

        'send email 
        'parameters of TDConnection.SendMail are the following:
        'SendMail(<To>, <From>, <Subject (Optional)>, <Message (Optional)>, <AttachArray (Optional)>,
        '<Format(HTML or Text, Optional)>)
      tdc.SendMail Fields("BG_RESPONSIBLE").Value&"@merc-int.com","admin","Summary","body",NULL,"HTML"

       end if
    end if

    On Error GoTo 0
    End Sub

  • TD查询中通配符使用

    紫梦 发布于 2007-10-26 10:06:34

    在TD的查询条件中可以使用以下通配符:
     * 星号 代表任意字符(可以是单个,也可以是多个)
      如 abc   xabcd  xxabcdxx
      查询条件  *abc* 则可以查询出 abc   xabcd  xxabcdxx

     _ 下划线 代表占位符(一个下划线占一个字符)
      如 abc   xabcd  xxabcdxx
      _abc* 则只能查询出 xabcd 的记录。__abc* 则只能查询出 xxabcdxx的记录
      注意:_下划线要与*星号配合使用才有效。如果只用 _abc_ 查询的话,查询不出任何记录。

     [] 中括号 代表范围(查询时可模糊配置该字段的取值范围)
      如  a1bcd、a2bc、a3dd 、abcd
       a[1-9]bc* 则查询出的结果为: a1bcd a2bc a3dd 等
     注意:_下划线要与*星号配合使用才有效。如果只用 _abc_ 查询的话,查询不出任何记录。

  • TD自定义按钮事件

    紫梦 发布于 2007-10-26 10:04:27

    1、在管理后台中,打开脚本编辑器。
    2、在 命令栏编辑器 页面中,选择 Bug命令栏后点击 Add 按钮,新增一个Action命令。
    3、修改该命令的 Caption 和 Action Name 两个字段的值,如:Caption:辅助工具 Action Name:Defects_Tool,并给该命令选择一个显示图标。
    4、然后在脚本编辑器中,Defects Module scrīpt 中修改以下方法。

    Function Defects_ActionCanExecute(ActionName)
      On Error Resume Next
      Defects_ActionCanExecute = true

      dim TD_tool
      set TD_tool = CreateObject("Wscrīpt.Shell")
      '取出系统盘符
      Set   fs   =   CreateObject("scrīpting.FileSystemObject")
      set   systemdir   =   fs.GetSpecialFolder(WindowsFolder)
               drivername   =   fs.GetDriveName(systemdir)
      ' msgbox "the TD path is:" & drivername
      '控件运行按钮
      if ActionName= "Defects_run" then
         if User.IsInGroup("TDAdmin") then
             TD_tool.Exec (drivername & "\Program Files\Common Files\Mercury Interactive\TD2000_80\TD_Tool.exe")
             set TD_tool = nothing
           else
            msgbox "对不起,你没有权限运行该工具,请与项目管理员联系!"
           end if
      end if
      On Error GoTo 0
    End Function

Open Toolbar