一、概念
  1、什么是软件测试?
    使用人工或者自动手段来运行或者测试某个软件的过程,其目的在于检验程序是否满足需求规格说明书或者弄清实际结果与预期结果之间的差异。

    (1)软件(程序+文档+数据)测试
    (2)软件测试工程师
      1)需求分析-->测试计划->测试方案-->测试用例(脚本)-->环境搭建-->执行测试-->跟踪缺陷-->自动化测试-->性能测试-->安全测试-->渗透测试
      2)做手工测试如何提高薪资,需要做到如何预防
        a.需求管理 质量管理(流程、技术、组织) 缺陷管理
      3) 做自动化测试提高薪资

    (3)软件测试的目的:
      1) 证明(表明软件能够工作)
      2) 检测(发现错误)
      3) 预防(管理质量)
    (4)软件由来
      需求分析-->概要设计-->详细设计-->编码-->测试-->运维

  2、什么是功能测试?
    根据测试用例逐一对现有的软件功能进行验证的过程,验证软件的各项功能是否满足用户需求。
    12306(购票:注册、登录、选择城市、选择日期、选择列车号、提交订单、填写信息、付款、查看订单......)
    QQ(社交:注册、登录、发送信息功能、空间、上传照片......)

  3、什么是自动化测试?
    指利用工具(QTP、Selenium)在没有人或者较少人参与的情况下,根据人的要求(测试用例)来完成测试的过程。
    没有人:代码已经写好了,QTP工具去执行测试
    较少人参与:代码执行的过程中需要执行其他操作
    登录
      1、输入用户名(工具输入)
      2、输入密码(工具输入)
      3、输入验证码(手动输入)
      4、点击登录(工具点击)

  4、什么是功能自动化测试(第3阶段的内容)?
    利用工具来测试系统功能的过程。

  5、为什么要实现功能自动化测试?
    功能测试过程中存在大量的回归测试、大数据量测试
    自动化测试可以提高测试效率、测试准确性,可以进行更严格的测试,并且可以做到无人值守
    QQ:V1.0 V1.1 V2.0 .......

    登录
      name={正确的、错误的、不输入}
      passwd={正确的、错误的、不输入}
        1、输入用户名:name
        2、输入密码:passwd
        3、点击登录按钮

  6、什么时候需要执行自动化测试?
    a.需求稳定
    b.通过冒烟测试
    c.测试周期长

  7、如何执行功能自动化测试?(流程)
    使用测试工具QTP
      a.熟悉被测系统
      b.分析需求
      c.设计测试方案
      d.设计测试计划
      e.设计测试用例(脚本)
        --录制脚本(编写脚本、设计脚本)
        --增强脚本(控制流程语句、参数化、检查点、封装方法.....)
        --调试脚本
        --执行脚本
        --分析测试结果
        --编写测试结果报告

  8、自动化测试对测试工程师的影响
    a.薪资待遇更高
    b.提升竞争力
    c.自动化测试是一个重要的发展方向(功能自动化、性能测试、管理、QA、PM)

二、QTP介绍
  1、QTP是什么?
    a.QTP是功能自动化测试工具
    b.QTP使用的语言:VBS脚本语言
    c.QTP当前环境:10.0
      升级版本UFT14.01
      建议使用UFT12(支持手机测试)
    d.功能测试工具
      QTP(Quick Test Professional)
      Selenium(测试web系统的工具)
      QARun
      Robt
      TestWriter

  2、QTP插件管理
    1) 插件管理界面(Add-in Manager),默认安装QTP有三个插件:
      a.ActiveX:录制windows程序(如:计算器、记事本、画图),默认QTP是支持windows程序的
      b.Visual Basic:录制VB程序(如:两位数加法器)
      c.web:录制web程序(Mtours、Ecshop)
    2) 作用:QTP为了识别被测系统控件的一种技术
      常用的控件:
        a.输入框(Edit)--输入(Type、Set)
          WinEdit
          VBEdit
          WebEdit
        b.按钮(Button)--点击(Click)、回车(Enter)
        c.链接(Link)--点击(Click)
        d.复选框(CheckBox)--设置(Set)
        e.单选按钮(RadioButton)--设置(Set)
        f.下拉框(WinComboBox)--选择(Select)
        g.列表(List)--选择(Select)
        h.图片(Image)--点击(Click)
        i.窗口(Window)--最小化、最大化、关闭(Close)
        j.浏览器(Browser)--最小化、最大化、关闭(Close)
    3) 在测试过程中如何选择插件?
      a.由被测系统控件的实现技术来决定选择加载什么插件
      注意:
        a.如果使用QTP时选择了不必要的插件,QTP运行效率较低
        b.如果使用QTP时未选择必要的插件,QTP将无法识别被测系统的对象并对其进行操作(无法进行测试)
    4) 如果打开QTP时没有显示Add-in Manager对话框,可以进入QTP界面进行设置
      菜单栏Tools(工具)-->Options(选项)-->General(常规)-->Display Add-in Manager on startup(启动QTP时显示插件管理对话框),勾选为显示,反之不显示

      练习1:两位数加法器
        (1)录制两位数加法器的加法业务流程
          测试用例:
            1) 打开两位数加法器
            2) 在"第一个数"输入框(Edit)中输入:39 100 -99
            3) 在"第二个数"输入框(Edit)中输入:12 99 0
            4) 点击"计算(J)"按钮
            5) 关闭两位数加法器

            Ctrl+S:保存脚本
            Test1001_两位数加法器_录制回放(自动录制)

            

            

(VBS脚本)
VbWindow("Form1").VbEdit("Text1").Set "39"
VbWindow("Form1").VbEdit("Text2").Set "12"
VbWindow("Form1").VbButton("计算(J)").Click
VbWindow("Form1").Close

  3、QTP中的视图
    (1)Expert View(专家视图):以代码的形式记录测试人员在录制时对被测系统执行的操作步骤
    (2)Keyword View(关键字视图):以表格的形式记录测试人员在录制时对被测系统执行的操作步骤
      1) Item(项目):记录测试人员在录制时对被测系统操作的控件(对象)
      2) Operation(操作):对控件执行的操作,是点击操作,还是输入操作,还是关闭操作......
      3) Value(值):对可输入的控件输入的值,会有值的控件有输入框、下拉框、列表框、复选框
      4) Documentation(文档):描述测试步骤,可以导出保存为文档,跟测试用例的步骤一样
        注意:keyword View和Expert View中的操作是一一对应的,只是表现形式不一样
    (3)Active Screen(截图视图):保存测试人员在录制时对被测系统执行的操作步骤的截图,只保存录制时的截图
      a.如果视图不显示,可以进行设置
        Tools(工具)-->Options(选项)-->Restore Layout(重置视图)

      b.如果代码运行速度太快怎么办?
        Tools(工具)-->Options(选项)-->Run-->Run mode(运行模式)-->Delay each step execution by [] millisecondes(设置每句代码之间的间隔时间,单位:毫秒)
      c.如果想让结果报告中总是显示步骤截图怎么办?
        Tools(工具)-->Options(选项)-->Run-->
        Screen Capture(屏幕截图)--> Save still image capture to results(保存截图在结果中)-->选择Always,总是保存

        Agent Name:用户名 4-10为字符
        Password:密码 mercury

        手工测试(计算器):
          测试用例01:
            1、打开被测系统
            2、输入48
            3、点击"+"按钮
            4、输入23
            5、点击"="按钮
              预期结果:71

(VBS脚本)
VbWindow("Form1").VbEdit("Text1").Set "48"
VbWindow("Form1").VbEdit("Text2").Set "23"
VbWindow("Form1").VbButton("计算(J)").Click
VbWindow("Form1").Close

          测试用例02:
            1、打开被测系统
            2、输入4
            3、点击"*"按钮
            4、输入2
            5、点击"="按钮
              预期结果:8

QTP(1)的更多相关文章

  1. QTP(16)

    一.QTP项目(ECShop) 1.ECShop是一个开源免费的一个B2C的电子商务系统,主要用于商家和顾客进行商品交易操作. 2.ECShop分为前台和后台两个子系统: (1)ECShop前台:顾客 ...

  2. QTP(14)

    练习1.Flight4a 要求: a.录制Flight4a登录+退出业务流程 b.使用自定义检查结合Exist属性验证登录是否成功 c.为用户名实现参数化 用户名 Jack 正确 Rose 正确 12 ...

  3. QTP(13)

    练习1:Flight4a 要求: a.录制Flight4a登录+购票+退出业务流程 b.实现登录1次,购票3次,退出1次 c.对Fly From.Fly to.航班实现随机参数化 随机参数化:Rand ...

  4. QTP(12)

    练习:录制两位数加法器加法计算后退出的步骤,对两个加数做随机数参数化,随机数范围是0-50,在计算后获得被测系统计算的结果,判断如果结果等于100,msgbox提示“满分”,如果结果在80和99之间, ...

  5. QTP(10)

    一.VBS语言基础 1.运算符和表达式 (1)运算符 (2)表达式 a.数学表达式:由算术运算符连接,计算结果为数字 b.字符串表达式:由字符串连接符连接,计算结果为字符串 c.条件表达式:由关系运算 ...

  6. QTP(9)

    常用的Windows控件 WinEdit---Set "数据值" SetSecure "加密数值" WinButton---Click WinComboBox- ...

  7. QTP(8)

    一.Action 1.调用Action C:\Program Files\HP\QuickTest Professional\CodeSamplesPlus\Flight_Samples (1)调用A ...

  8. QTP(7)

    一.输出值(Output Value) 1.应用场景: 1) 关心被测系统的数据 2) 将被测系统生成的数据作为后面步骤的输入 2.输出值就是输出被测系统中实际运行时的数据的一种技术 a.运行中对象的 ...

  9. QTP(6)

    一.检查点 1.标准检查点(Standard Checkpoint) 作用:检查对象的属性值是否正确 文本框对象:text 预期值 单选按钮对象:checked ON/OFF 下拉框对象:Select ...

  10. QTP(5)

    一.检查点 1.位图检查点(Bitmap CheckPoint) (1)作用:主要用于检查UI界面,检查页面布局,包括控件位置.大小.颜色.状态等 (2)确定位图检查点的要素: a.检查哪个控件 b. ...

随机推荐

  1. Int8,Int16,Int32,Int64 有啥不同呢?看了立马就懂!

    大家有没有写了很久代码,还不知道这个Int8,Int16, Int32, Int64有什么区别呢?或者是为什么后面的数字不一样呢? 初步了解了一下,才清楚这个东西. 先来扫盲一下计算机存储单元, 在计 ...

  2. 【并行计算-CUDA开发】GPU 的硬体架构

    GPU 的硬体架构   这里我们会简单介绍,NVIDIA 目前支援CUDA 的GPU,其在执行CUDA 程式的部份(基本上就是其shader 单元)的架构.这里的资料是综合NVIDIA 所公布的资讯, ...

  3. flask钩子函数

    @app.context_processor def context_processor(): return {"current_user":"zhiliao" ...

  4. Spring boot + Jpa + Maven + Mysql 初级整合

    1.使用Idea创建spring boot工程的博客 https://www.cnblogs.com/black-spike/p/8017768.html 2.本篇博客参考网址 https://blo ...

  5. linux:date 计算一组命令所花费的执行时间

    date 命令可以用于计算一组命令所花费的执行时间 可以以不同的格式来读取.设置日期. (1) 读取日期: $ date Thu May 20 23:09:04 IST 2010 (2) 打印纪元时: ...

  6. Linux系列(1):入门之基本命令详解

    Linux常用命令 声明: 作者使用的Linux是CentOS7版本. 本节主要讲解内容: 1.ls.date.bc.cal等指令的详细用法 2.介绍常用快捷键 3.了解磁盘分区以及挂载等概念 在Li ...

  7. HDU3068 最长回文(manacher模板

    给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.回文就是正反读都是一样的字符串,如aba, abba等 Input输入有多组case,不超过120组,每组输入为一 ...

  8. 题解 洛谷P1311 【选择客栈】

    可能这做法是最奇葩的ST表 我们枚举k,计算每种色调的客栈各有多少种方法  我们利用一种奇怪的思想:除了不可行的,剩下的都是可行的 所以我们先求出 每种颜色的客栈随机选择两个,一共有多少种结果 接着减 ...

  9. PHP以table形式导出数据表实现单元格内换行

    <br style='mso-data-placement:same-cell;'>

  10. 老贾的幸福生活day6 整型和布尔值的转换 字符串讲解 for 循环简介

    整型和布尔值的转换: 整型: python 2 整型 int long(长整型) /获取的是整型 python 3 整型 int 获取的是浮点数(小数) 十进制转二进制: print(bin(36)) ...