测试基础

测试目的

  • 检验实际的软件系统是否符合用户需求
    原则:证明软件存在缺陷 2.不可能穷尽测试 3.尽早启动测试 4.缺陷群集现象 5. 不同测试依赖不同的测试背景。

测试原则

+ 1.缺陷具有群集性 
   2.杀虫剂悖论(不要长时间使用一种测试手段)
  3.二八原则 将百分之八十的时间用在百分之二十的重点模块上
  4.测试活动依赖测试背景(金融着重安全。。。)
  5.软件测试证明故障的存在,但不保证不存在bug
  6.穷尽测试是不可能的,要及时的设置终止条件
  7,。软件测试尽早进行
  • 黑盒测试

    • 1.是否有不正确或者遗漏的功能。
      2.在接口上,输信息入是否能正确的接收。执行结果是否正确。
      3.是否有数据结构错误或外部信息访问错误。
      4。性能上是否能满足要求。
      5.不关注程序内部设计
  • 白盒测试

    • 优点:
      1.迫使测试人员去仔细的思考软件的实现,理解原理
      2.可以检测代码中每条分支和路径
      3.揭示隐藏在代码中的错误
      4.对代码测试比较彻底

    • 缺点:
      1.昂贵
      2.无法检测代码中遗漏的路径和数据敏感性错误
      3.不能直接验证需求的正确性。

  • 单元测试

    • 对最小可测试的单元进行测试和验证(Java一个类为最小单元,c语言一个函数,可视化程序一个窗口)。由代码开发人员测试完成
      • 好处
        1.能尽早的发现缺陷
        2.有利于重构
        3.简化集成
        4.文档
        5.用于设计

      • 缺点

        1.单元测试不可能覆盖每一个执行路径,不能保证捕捉到每一个错误
        2.每一行代码需要3~5行测试代码才能完成单元测试,所以工作量大。
        所以存在投入与产出的一个平衡。

  • 集成测试

    • 是在单元测试的下一个阶段,将单元模块组装成系统或者子系统再进行测试。
  • 系统测试和验收测试

    • 系统测试对整个系统功能,性能及其软件的软硬件运行环境进行测试。
      验收测试以用户测试为主。
  • 功能测试

    • 对提供给用户软件功能的测试检测功能是否与用户需求相符。
  • 性能测试

    • 时间性能和空间性能
      时间性能:事物的响应时间
      空间性能:软件运行所消耗的系统资源。

测试框图

测试基础_第1张图片
qq.JPG

黑盒测试

  • 等价类划分
    • 根据软件的需求说明对输入范围进行细分,在分出的区域中选择具有代表性的数据。
      +有效等价类:符合规格说明,合理的输入数据集合
      无效的甲类:不符合。。。,无意义的输入数据集合。
  • 2.等价划分的步骤:
    !等价.jpg
    • 1),先考虑输入数据的类型(合法类型和非法类型)
      2),考虑数据范围(合法区间和非法区间)
      3),画出示意图,区分等价类
      4),为每一个等价类编号
      5),在一个等价类中选取一个测试数据构造测试用例
  • 边界值技术
    边界是最容易出错的地方,我们在等价类中选取数据的时候也要经常选取边界值
    例如(1-100)之间的两个整数和 边界选取(1,1),(100,100),(0,0),(101,101)
  • 边界值3点
  • 上点
    • 边界上的点,(6,18)上点6,18.。【6,18】上点6,18。
  • 离点
    • 距离上点最近的点。
      如果为闭区间6,18则离点为5,19。如果为开区间6,18则离点7,17.
  • 注意:闭区间离点在外,开区间离点在内。
  • 内点
    • 区间内的点

因果图

  • 他是黑盒测试技术,不如等价类划分法,边界值法常用,它适合输入条件比较多的情况。因:原因表输入,果:结果表输出。
    • 因果图不善于处理较大规格的说明
    • 因:指一个明确的输入条件或者输入条件的等价类
    • 果:输出条件或者系统转换。如果某个事物引起文件或者数据库的修改,那么这种改变就是系统转换,系统反馈的确认信息就是输出条件
    • E(互斥):(必须总为真)表示最多一个为1;(不能同时为1)
    • I(包含):ABC三个原因中至少有一个必须成立;
    • O(唯一):a和b有且仅有一个必须为1;
    • R(要求):表示A为1,B也必须为1;
    • M:如果结果a为0,则b强制为0

软件的生命周期

  • 指得是软件开发和测试的全部过程、活动和任务的结构框架,是可行性需求分析。

    • 软件设计、编码、测试、软件发布维护的过程
  • 流程图

    •     新生儿————》儿童、少年————》中年、老年————》死亡
          可行性需求分析————》设计,编码————》发布,维护————》淘汰。
      
  • 生命周期流程图

    • 瀑布模型
      优点:开发的各个阶段比较清晰。
      强调早期计划及需求调查
      适合需求稳定的产品开发

                 缺点:依赖早期的需求调查,不适应需求变化
                       单一流程不可逆
                       风险往往迟至后期才显露,失去早纠正的机会
                       测试仅仅是编码的最后一个阶段
      
  • V模型

    用户需求  《.....................验收测试
                      规格定义    《.............系统测试
                          概要设计    《......集成测试
                              详细设计    单元测试
                                      编码
          优点:详细表示了测试的各个阶段以及参考依据
          缺点:没有说明在项目的前期测试需要哪些工作,流程是单向的不可逆    。
    

测试计划

                  1.明确测试范围和内容(what)
        2.测试目的(why)
        3.测试开始和结束日期(when)
        4.给出测试文档和软件存放的位置(where)
        5.测试人员的分配(who)
        5.测试方法和测试工具(how)

逻辑覆盖

  • 语句覆盖
    • 为了暴露程序中的错误,每个语句至少执行一次。
  • 判定覆盖
    • 判定覆盖又称为分支覆盖,它要求设计足够多的测试用例,使得程序中每个判定至少有一次为真值,有一次为假值,即:程序中的每个分支至少执行一次。每个判断的取真、取假至少执行一次。只关心表达是的值。
    • X Y (XY条件,T,F为真假值)
    • T T
    • F F
    • T F
  • 条件覆盖
    • 每一条语句执行一次,并且每个条件都能取到不同的结果。
  • 判定-——条件覆盖
    • 每个条件取到各种可能的结果,判定表达是也要取到各种个能的结果。
  • 条件组合覆盖
    • 每个判定中条件结果的所有可能组合至少出现一次。

标记符号

  • ST:系统测试,属于黑盒测试范畴
    IT:集成测试,属于灰盒测试范畴
    UT:单元测试,属于白盒测试范畴
    UAT:验收测试

你可能感兴趣的:(测试基础)