zoukankan      html  css  js  c++  java
  • 功能测试

    1.功能测试流程

    1.1 功能测试流程

    # 功能测试大致按照以下流程进行: 
      (1).需求分析与评审
      (2).测试计划与测试方案
      (3).测试用例设计
      (4).测试用例评审
      (5).执行用例
      (6).缺陷跟踪及报告产出

    1.2 功能测试流程详解

    (1).需求分析与评审

    功能测试应从需求出发, 功能测试就是尽量覆盖用户需求, 是软件能够最大程度满足用户的需求. 在开始功能测试之前, 技术人员应一起进行需求评审, 明确需求, 避免需求出现问题, 导致后面开发, 测试在错误的基础上进行.

    测试人员在需求评审过程中要:

      - 确认自己对需求理解清晰, 不存在疑惑
    - 确认需求文档完整, 准确, 能够为后期测试工作所使用
    - 对需求中不合理的地方提出自己的修改建议

    (2).测试计划与测试方案

    测试计划是指描述要进行测试活动的范围, 方法, 资源和进度的文档. 测试计划侧重在“计划”二字. 其核心内容包含但不限于以下:

    - 测试范围与目标
    - 角色与职责
    - 进度与资源
    - 风险与应对
    - 准入准出标准

    测试计划一般由测试组长, 测试经理负责编写, 也有可能有测试工程师编写.

    测试方案是从技术的角度去分析需求, 在方向上明确要怎么测, 分析结果侧重点在于测试策略与技术实现. 测试方案侧重在“方案”二字, 其核心内容包含到不限于以下:

    • 策略与方法

    • 环境

    • 工具的选择

    (3).测试用例设计

    测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包括:测试环境、操作步骤、测试数据、预期结果等要素。

    其实, 测试用例就是一份编写了要测哪些内容的文档. 测试用例表达要清除, 无二义性; 用例可操作性强; 用例的输入与输出明确.

    用例是测试人员根据需求进行设计的, 设计方法有: 等价类划分法, 边界值法, 判定表法, 正交法, 场景法, 错误推测法, 基于需求设计.

    (4).测试用例评审

    测试用例评审是指, 测试人员测试好测试用例后, 需要进行评审, 检查用例设计是否合格, 是否能够最大程度上覆盖用户需求.

    (5).执行用例

    测试用例评审通过, 测试人员就可以根据测试用例对开发提交的代码进行测试了. 并将测试结果与用例中的预期结果进行对比, 并详细记录.

    (6).缺陷跟踪及报告产出

    缺陷跟踪, 是指测试未通过提交的Bug, 开发需要修复Bug, 再次提测. 测试人员要继续测试, 如果不通过还要再次提Bug, 知道测试通过. 这个过程就是缺陷跟踪. 最后产出报告.

     

    2.等价类划分法

    2.1 等价类概念与分类

    # 等价类
    在所有测试数据中, 具有某种共同特征的数据子集即为等价类

    # 等价类分类
    - 有效等价类
     - 无效等价类

    2.2 等价类划分法解决的问题

    # 解决的问题
    划分等价类可以将测试集合科学的从无穷大减少到有限小, 让测试工作从穷举测试中解放出来, 大大减少测试用例数量, 提升测试效率.

    2.3 等价类划分法设计测试用例步骤与应用场景

    # 步骤:
       1.需求分析
       2.划分等价类
          (1).有效等价类
          (2).无效等价类
               - 规则(需求本身出发)
               - 长度需求
               - 类型规定
               - 是否为空(必填项检查)
               - 是否可重复输入
       3.设计用例

    # 典型应用场景: 带有输入框的测试

    2.4 案例实战 --- QQ号注册网站账号

    # 根据以下需求, 利用等价类划分法基于测试用例模板设计测试用例
    # 需求:
    使用QQ号注册网站账号, QQ号要求: 6-10位自然数, 同一QQ号不能重复注册
    # 用例设计步骤
    1.分析需求
    2.等价类划分(见下表)
    - 有效等价类
       - 无效等价类
    3.设计用例(见下图)
    有效等价类有效数据无效等价类无效数据
    6-10位自然数 1234567 小于6位自然数 12345
        大于10位自然数 12345678912
        6-10位字母 abcdefg
        6-10位汉字 你好我好他也好
        6-10位符号 !@#$%^&
        不填写  
        重复输入 1234567

     

    2.5 案例实战 --- 新浪邮箱登录

    # 根据以下需求, 利用等价类划分法基于测试用例模板设计测试用例
    # 需求:
    新浪邮箱登录, 要求输入(邮箱名)@sina.cn和密码进行登录
       邮箱名要求:4-16位字符, 支持英文, 数字, 下划线(不能全是数字或者下划线)
       密码: 6-18位字符
    # 等价类划分法设计测试用例步骤:
    1.需求分析
    2.等价类划分:(见下表)
       - 有效等价类
       - 无效等价类


    有效等价类有效数据无效等价类无效数据
    4-16位英文 abcd 小于4位英文 abc
    4-16位英文数字组合 abc1 大于16位英文 AbcdefAbcdefAbcdefg
    4-16位英文下划线组合 abc_ 4-16位纯数字 1234
    4-16位数字下划线组合 123_ 4-16位纯下划线  
    4-16位英文数字下划线组合 ab1_ 4-16位汉字 你好中国
        4-16位符号 !@#$
        不输入邮箱  
        输入未注册正确邮箱 abcd0820@sina.com
    有效等价类有效数据无效等价类无效数据
    6-18位字符 abcdef 小于6位字符 abcde
        大于18位字符 Abcdefabcdefabcdefg
        6-18位非字符_符号 !@#$%&
        6-18位非字符_汉字 你好我的祖国
        不输入密码  

    测试用例设计

    # 测试用例设计:
    由于存在两个输入框, 对两个输入框进行等价类划分, 每个输入框都有自己的有效等价类和无效等价类, 此时我们要考虑如何进行组合, 来设计测试用例
    可能进行的组合如下:
       用户名        密码       预期结果
       有效          有效       登录成功
       有效          无效       登录失败
       无效          有效       登录失败
       无效          无效       登录失败
    但基于测试的原则, 我们想确定登录失败时, 是由于用户名和密码之间谁的非等价类导致的登录失败, 所有最后一种组合(用户名无效,密码无效)不需要进行测试, 即使结果为登录失败, 也无法确定是谁导致的登录失败. 所以采用以上三种进行测试用例设计.

    3.边界值法

    3.1边界值法概念及存在的意义

    # 1.边界值法概念
    边界值法设计测试用例, 是对输入或输出的边界值(有效等价类和无效等价类的界限)进行测试的一种黑盒测试方法.
    # 2.边界值法存在的意义:
    测试经验表明错误往往会发生在输入或输出范围的边界上, 所以边界值法是对这些边界进行测试, 是对划分等价类法的一种补充.

    # 3.边界值的概念(如下图:)
    - 上点: 边界上的点(符合条件的边界点)
       - 内点: 边界内的点
       - 离点: 离边界最近的左右两点

     

    3.2两位数加法计算器案例

    # 需求:
    一个可以计算两位数内的加法计算器

    # 确定边界值(如下图):
    两位数取值范围数学区间表示上点内点离点
    x >= -99, y <= 99 [-99, 99] -99, 99 20 -100,-98, 98, 100
    x > -99, y <= 99 (-99, 99] [-98,99] -98, 99 10 -99, -97, 98, 100
    x >= -99, y < 99 [-99, 99) [-99,98] -99, 98 0 -100, -98, 97, 99
    x > -99, y < 99 (-99, 99) [-98,98] -98, 98 5 -99, -97, 97, 99

    3.3 设计测试用例的步骤与边界值法应用场景

    # 设计测试用例的步骤
    1.需求分析
       2.划分等价类
       3.确定边界
      - 上点
           - 内点
           - 离点
       4.设计测试用例
       
    # 边界值法应用场景:
    - 在等价类的基础上针对有边界范围的测试数据输入的地方
    - 确定测试条件时, 明显存在(>, <, >=, <=)等的分析中.
       - 典型代表: 有边界范围的输入框类测试

    3.4 QQ号注册网站案例补充

    # 需求
    使用6-10位的QQ号注册网站, QQ号要求6-8位自然数

    # 边界分析(边界分析如图所示)
    上点:6, 10
    内点:8
    离点:5,7, 9, 11
    # 通过边界分析法补充的用例:
    - 输入6位自然数, QQ号正确
    - 输入10位自然数, QQ号正确
    - 输入8位自然数, QQ号正确
    - 输入5位自然数, QQ号错误
    - 输入7位自然数, QQ号正确
    - 输入9位自然数, QQ号正确
    - 输入11位自然数, QQ号错误
       
    # 重复用例消除:
    - 输入6位自然数, QQ号正确(重复)
    - 输入10位自然数, QQ号正确(✅)
    - 输入8位自然数, QQ号正确(✅)
    - 输入5位自然数, QQ号错误(重复)
    - 输入7位自然数, QQ号正确(✅)
    - 输入9位自然数, QQ号正确(✅)
    - 输入11位自然数, QQ号错误(重复)
       
    # 补充测试用例文档:(如下图所示)

    3.5 边界值分析法拓展

    # 边界值优化(7变5)
    从上面分析的边界值[5, 6, 7, 8, 9, 10, 11]来看:
       1.值5是一个无效点是左侧最小的点, 6和7均是有效点, 所以测一个6就可以了, 7可以去掉.
       2.值9, 10, 11中, 11是右侧最大的无效点, 需要保留, 而9, 10都是有效点, 9可以去掉.
       3.内点8凭借经验, 需要保留
    # 结论(重点):
    上点: 必选(不考虑区间开闭)
    内点: 必选(建议选择中间范围)
    离点: 开内闭外(考虑开闭区间, 开区间选择内部离点, 闭区间选择外部离点)

     

  • 相关阅读:
    How to convert VirtualBox vdi to KVM qcow2
    (OK)(OK) adb -s emulator-5554 shell
    (OK)(OK) using adb with a NAT'ed VM
    (OK) How to access a NAT guest from host with VirtualBox
    (OK) Creating manually one VMs from an existing VDI file in CLI (VBoxManage) in Fedora 23
    (OK)(OK) Creating VMs from an existing VDI file in CLI (VBoxManage) in Fedora 23
    (OK) Creating_VMs_from_an_existing_VDI_file.txt
    (OK) Creating VMs from an existing VDI file —— in OS X
    (OK) install_IBM_SERVER.txt
    (OK) install chrome & busybox in android-x86_64 —— uninstall chrome
  • 原文地址:https://www.cnblogs.com/ppzhang/p/15007385.html
Copyright © 2011-2022 走看看