首页 > 其他分享 >白盒测试(测试方法)

白盒测试(测试方法)

时间:2024-05-23 23:01:50浏览次数:24  
标签:语句 逻辑 覆盖 白盒 测试用例 判定 测试 条件 测试方法

       白盒测试也称为结构测试,根据程序的内部结构和逻辑来设计测试用例,对程序的路径和过程进行测试,检查是否满足设计的需要。
        白盒测试常用的技术是逻辑覆盖、循环覆盖和基本路径测试。
(1)逻辑覆盖。逻辑覆盖考察用测试数据运行被测程序时对程序逻辑的覆盖程度,主要的逻辑覆盖标准有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖6种。


①语句覆盖


语句覆盖是指选择足够的测试数据,使被测试程序中的每条语句至少执行
一次。语句覆盖对程序执行逻辑的覆盖很低,因此一般认为它是很弱的逻辑覆盖。


②判定覆盖。

判定覆盖是指设计足够的测试用例,使得被测程序中的每个判定表达式至少获得一次“真”值和“假”值,或者说是程序中的每一个取“真”分支和取“假”分支至少都通过一次,因此判定覆盖也称为分支覆盖。判定覆盖要比语句覆盖更强一些。


③条件覆盖。

条件覆盖是指构造一组测试用例,使得每一判定语句中每个逻辑条件的各种可能的值至少满足一次。


④判定/条件覆盖。

判定/条件覆盖是指设计足够的测试用例,使得判定中每个条件的所有可能取值(真/假)至少出现一次,并使每个判定本身的判定结果(真/假)也至少出现一次。


⑤条件组合覆盖。

条件组合覆盖是指设计足够的测试用例,使得每个判定中条件的各种可能值的组合都至少出现一次。满足条件组合覆盖的测试用例是一定满足判定覆盖、条件覆盖和判定/条件覆盖的。


⑥路径覆盖。

路径覆盖是指覆盖被测试程序中所有可能的路径。
白盒测试的原则如下。
(1〉程序模块中的所有独立路径至少执行一次。
(2〉在所有的逻辑判断中,取“真”和取“假”的两种情况至少都能执行一次。

(3)每个循环都应在边界条件和一般条件下各执行一次。
(4)测试程序内部数据结构的有效性等。

白盒测试的覆盖标准有逻辑覆盖、循环覆盖和基本路径覆盖测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。依照上述顺序的六种覆盖准则发现错误的能力是由弱到强的。

标签:语句,逻辑,覆盖,白盒,测试用例,判定,测试,条件,测试方法
From: https://blog.csdn.net/weixin_72256328/article/details/139131632

相关文章

  • 测试环境建设原则和问题对策
    《Pattern:ServiceMesh》测试环境建设原则和管理实践测试环境不稳定&复杂的必然性及其对策......
  • 一、测试基础(3)
    接着(2)中的Web手工项目进行讨论:9、网络基础知识1、GET和POST的区别最直观的区别就是GET把参数包含在URL中,POST通过requestbody(请求体)传递参数GET比POST更不安全,因为参数直接暴露在URL中,所以不能用来传递敏感信息GET请求在URL中传递的参数的长度是有......
  • 用户体验测试体系调研报告
    一用户体验概述1.1用户体验的定义、要素和价值1.1.1定义用户体验的最新定义(ISO-9241-210:2019)为“用户体验是指用户对系统、产品或服务的使用和(或)预期使用所产生的感知和反应”。1.1.2要素 通过用户体验的定义和要素,可以看出用户体验测试应从产品使用前、使用中和使用......
  • 测试理论基础(2)
    四、用例执行——接口联调和接口功能测试功能测试和接口测试的区别在于,功能测试侧重点在于前端ui界面,数据展示,图形界面,业务逻辑操作等,接口测试侧重点在于,后端返回的数据是否正确,接口是否正常。一、接口测试可以通过接口测试工具或者接口测试脚本来进行测试接口测试工具:apipost......
  • 测试理论基础(1)
    一、需求分析项目立项后,对于整体产品的需求进行认识和理解(与功能测试的需求分析是一致的)。注意:此时只有产品需求文档,架构师还没有开始建模,主要目的是保证各部门(产品、开发、测试...)对于需求理解一致。二、需求评审1、周一早上九点,产品经理群发最新迭代版本的prd文档,并约定评审......
  • APP端体验测试点整理
    1、导航测试  按钮、对话框、列表和窗口等,或在不同的连接页面之间需要导航 是否易于导航,导航是否直观 是否需要搜索引擎 导航与页面结构、菜单、连接页面的风格是否一致2、图形测试  横向比较,各个控件操作方式统一 自适应界面设计,内容根......
  • QUnit-测试即时入门-全-
    QUnit测试即时入门(全)原文:zh.annas-archive.org/md5/255487AFFF4F91077AD36356B55848FE译者:飞龙协议:CCBY-NC-SA4.0前言JavaScript大约20年前首次发布。多年来,它并没有被广大观众认真对待。今天,它是一种成熟(也是最流行)的编程语言。无论为Web做些什么,以一种或另一种方......
  • Robotium-安卓自动化测试-全-
    Robotium安卓自动化测试(全)原文:zh.annas-archive.org/md5/991EAEAE686DDB72AC1C069EB72558B3译者:飞龙协议:CCBY-NC-SA4.0前言移动设备上的自动化测试已经存在了好几年,但真正得到发展是在Robotium框架出现之后。在自动化测试用例的帮助下,业务组件得到了广泛的重用,有助于......
  • 测试用例
    黑盒测试方法设计的测试用例1.用户管理模块测试登录功能:输入正确的用户名和密码,能够成功登录,并跳转到主页面;输入错误的用户名或密码,不能登录成功,并提示错误信息;测试注册功能:输入未注册的用户名和密码,能够成功注册新用户,并跳转到登录页面;输入已经注册过的用户名,不能注册......
  • 个人练习(每个同学都要提交)——学习和使用多个平台上的测试工具 请使用两种以上平台上
    SeleniumSelenium是一种流行的开源自动化测试框架,主要用于测试Web应用程序。我们可以在多个浏览器上编写并执行测试脚本,以确保航空票务系统在不同环境下的稳定性和兼容性。在航空票务项目中的使用方式:功能测试:您可以使用Selenium编写测试脚本,以模拟用户在网站上搜索航班、选......