zoukankan      html  css  js  c++  java
  • 白盒测试及其存在的一些问题

    白盒测试,又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

    盒子就是指被测的软件,白盒的意思就是软件内部的结构是可视的,测试人员可以根据代码,在分析完程序的结构之后,我们全面了解程序内部逻辑结构、对所有逻辑路径进行测试。我们要穷举路径,从检查程序的逻辑着手,得出测试数据。但有的时候,贯穿程序的独立路径数是天文数字。

    基本分类 参考于百度百科

    覆盖

    白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:
    1.语句覆盖每条语句至少执行一次。
    2.判定覆盖每个判定的每个分支至少执行一次。
    3.条件覆盖每个判定的每个条件应取到各种可能的值。
    4.判定/条件覆盖同时满足判定覆盖条件覆盖。
    5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
    6.路径覆盖使程序中每一条可能的路径至少执行一次。
     
    我们一般依据软件设计说明书进行测试、对程序内部细节的严密检验、针对特定条件设计测试用例、对软件的逻辑路径进行覆盖测试。
    穷举路径,画出流程图是我认为最麻烦的。

    优点(基于知道代码的情况)

    1.迫使测试人员去仔细思考软件的实现 穷举各种问题
    2.可以检测代码中的每条分支和路径
    3.揭示隐藏在代码中的错误穷,举路径过程中,问题一旦发生,也即被定位
    4.对代码的测试比较彻底
    5.最优化

    缺点与问题

    1.昂贵
    2.无法检测代码中遗漏的路径和数据敏感性错误,一旦有漏下的情况,问题发现不了,
    3.不验证规格的正确性
     

    局限

    但即使每条路径都测试了仍然可能有错误。可能出现的情况如下:
    1. 穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。
    2. 穷举路径测试不可能查出程序中因遗漏路径而出错。(穷举必须认真)
    3. 穷举路径测试可能发现不了一些与数据相关的错误。白盒测试基于代码,如果是数据库或者一些关键数据是错的,那么我们是发现不了的。

    总体而言,对于一些规模较小的软件,还是白盒测试相对较好,穷举路径,不易遗漏,对问题的测试更加地透彻。

  • 相关阅读:
    javascript数据结构
    uni-app — 一套前端开发跨平台应用的终极解决方案
    从函数式编程到Ramda函数库(二)
    从函数式编程到Ramda函数库(一)
    node.js爬取数据并定时发送HTML邮件
    vue cli3.0 结合echarts3.0和地图的使用方法
    vue加载优化策略
    C#时间格式化
    wpf 调用线程无法访问此对象,因为另一个线程拥有该对象。
    使用oracle数据库开发,异常总结
  • 原文地址:https://www.cnblogs.com/PreTang/p/4440378.html
Copyright © 2011-2022 走看看