软件测试要学习的基础知识——白盒测试

2149 篇文章 119 订阅
1312 篇文章 21 订阅

白盒测试是通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试,以确定实际运行状态与预期状态是否一致。

白盒测试又被称为:

透明盒测试

结构化测试

逻辑驱动测试

基于代码的测试

在这里插入图片描述

白盒测试的常用技术分类

一、静态分析:

数据流分析

控制流分析

信息流分

二、动态分析:

逻辑覆盖

循环覆盖

基本路径覆盖

优缺点

一、优点:

迫使测试人员去仔细思考软件的实现

可以检测代码中的每条分支和路径

揭示隐藏在代码中的错误

对代码的测试比较彻底

让软件最优化

二、缺点:

昂贵

无法检测代码中遗漏路径和数据敏感性错误

不验证规格的正确性

原则(采用白盒测试方法必须遵循以下原则)

保证一个模块中的所有独立路劲至少被测试一次

对所有的逻辑判定均需测试取真和取假俩种情况

在上下边界及可操作范围内运行所有循环

检查程序的内部数据结构,保证其结构的有效性

工具

jtest java语言的单元测试框架

JUnit验证java的工具

cppunit跨平台的c++单元测试框架

gtest跨平台的c++单元测试框架

PhpUnit Php

Bounds Checker C++,Delphi API和OLE错误检查、指针和泄露错误检查、内存错误检查

True Time C++,Java,Visual Basic代码运行效率检查、组件性能的分析

插桩原理

对jvm的字节码插桩

基于block插桩

计算覆盖的代码块

在这里插入图片描述

逻辑覆盖

语句覆盖:就是指每条语句至少执行一次

判定覆盖:每个判定的分支都要至少执行一次

条件覆盖:要使每个判定的每个条件应取到各种可能的值

判定/条件覆盖:要同时满足判定中各条件的每一种组合至少出现一次

条件组合:是指每个判定中各条件的每一种组合至少出现一次

路径覆盖:程序当中的每一条可能的路径,至少被执行一次

点覆盖:选取足够多的测试数据,使得程序执行路劲至少经过流图的每个结点一次

边覆盖:选取足够多的测试数据,使程序的每条可能路径都至少只执行一次

在这里插入图片描述

白盒测试

正确使用白盒测试,就要先从代码分析入手,根据不同的代码逻辑规则,语句执行情况,选用适合的覆盖方法,任何一个高效的测试用例,都是针对具体测试场景的,逻辑测试不是片面的测试正确的结果或是测试错误的结果,而是尽可能全面地覆盖每一个逻辑路径。

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】
在这里插入图片描述
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

软件测试技术交流群社:746506216(里面还有工作内推机会,毕竟我们是关系社会。)

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

面试文档获取方式:


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值