一、概念
  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. python 学习记录1

    存储 序号   分类    技术      用途 01      存储     Number  数字(不可变) String     字符串(不可变) List          列表 Tuple   ...

  2. SQL易错锦集

    1.LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引 ...

  3. 利用sklearn的Pipeline简化建模过程

    很多框架都会提供一种Pipeline的机制,通过封装一系列操作的流程,调用时按计划执行即可.比如netty中有ChannelPipeline,TensorFlow的计算图也是如此. 下面简要介绍skl ...

  4. vs2015试用到期,不能输入序列号

    如果是社区版,登录账号即可, 如果不能登录账号,可以执行修复再登录账号: 控制面板-程序和应用-vs2015(我写的是简称)-右键-更改-修复-输入序列号

  5. mysql数据库之函数、流程控制

    函数 注意与存储过程的区别,mysql内置的函数只能在sql语句中使用! 参考博客:http://www.cnblogs.com/linhaifeng/articles/7495918.html#_l ...

  6. zping ping包工具20180605.exe测试版

    链接: https://pan.baidu.com/s/1WB3BZn0r9n4DRU_8bNC65g 提取码: mybi zping的第一个exe版本由于未对兼容性进行测试,使用python3.6编 ...

  7. 3道入门字典树例题,以及模板【HDU1251/HDU1305/HDU1671】

    HDU1251:http://acm.hdu.edu.cn/showproblem.php?pid=1251 题目大意:求得以该字符串为前缀的数目,注意输入格式就行了. #include<std ...

  8. java8 用法小结

    一 简单的stream parallelStream慎用,除非你知道它内部干了什么 List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, ...

  9. idea配置glassFish

    FIile ---> settings ---> 查找Application Server .. 点击加号,, 点击glassFish Server.. 找到glassFish存放路径 点 ...

  10. linux系统设置允许密码登录

    编辑  /etc/ssh/sshd_config 文件 将PasswordAuthentication 的值改为 yes 然后重启ssh 服务 进入到  /etc/init.d 文件夹内 执行 ./s ...