软件测试:黑白盒测试的区别及白盒测试全面解析与应用


✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭
~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:软件测试

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

​​

​​

目录

软件测试分类

黑盒测试与白盒测试的区别

黑盒测试

白盒测试

逻辑覆盖法

语句覆盖

判定覆盖 

条件覆盖

判定条件覆盖条件

条件组合覆盖

修正条件判定覆盖

基本路径测试法

控制流图的图形符号


软件测试分类

黑盒测试与白盒测试的区别

黑盒测试

依据需求规格,内部实现不可见,关注功能实现

黑盒测试用例如果执行不到错误代码,问题就不会被发现 

白盒测试

依据代码逻辑结构 ,需要看代码,关注代码

白盒测试又称为逻辑驱动测试,测试用例是依据选用的覆盖标准来确定的。

白盒测试方法根据程序内部逻辑结构,针对程序语句、路径、变量状态等来进行测试。

单元测试主要采用白盒测试方法,辅以黑盒测试方法。

白盒测试方法应用于代码评审、单元程序之中,而黑盒测试方法则应用于模块、组件等大单元的功能测试之中。 

逻辑覆盖法

逻辑覆盖法用例设计步骤:

1)选择逻辑覆盖标准。

2)按照覆盖标准列出所有情况。

3)选择确定测试用例。

逻辑覆盖法以程序内部逻辑结构为基础的测试技术,它考虑的是测试数据对逻辑的覆盖

语句覆盖

设计若干个测试用例,使每个可执行语句至少执行一次

 举例:

int function(bool a,bool b,bool c)
{
int X;
X=0;
if(a&&(b||c)) 
X=1;
Return X;
}

判定覆盖 

判定覆盖的作用是使真假分支均被执行,虽然判定覆盖比语句覆盖测试能力强,但仍然具有和语句覆盖一样的单一性

设计若干个测试用例,使程序中的每一个真分支和假分支至少执行一次

举例:

部分测试用例

条件覆盖

计若干个测试用例,使每个逻辑条件的可能取值至少执行一次

举例

部分测试用例

判定条件覆盖条件

设计若干个测试用例,使每个条件的所有可能取值至少执行一次,同时所有的判定可能结果也至少执行一次

举例

部分测试用例

条件组合覆盖

设计若干个测试用例,使每个判定的所有条件组合情况至少出现一次

举例

 

修正条件判定覆盖
  • 程序中的每个入口点和出口点都至少被调用一次
  • 程序中的每个条件都至少取得所有可能结果一次
  • 并且决策中的每个条件都被证明通过在保持所有条件不变的同时改变该条件来独立地影响决策的结果。

举例

基本路径测试法

它在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径的集合,从而设计测试用例的方法。

设计出的测试用例要保证在测试中程序的每一条可执行语句至少执行一次

基本路径测试法的步骤

1)导出程序的控制流图;

绘制程序流程图,导出控制流图

2)计算程序的圈复杂度;

计算圈复杂度任选一个方法即可

3)确定线性独立路径集合;

4)生成测试用例。

测试用例 

输入

预期结果

a

b

c

2

3

6

非三角形

2

3

4

一般三角形

2

2

3

等腰三角形

2

2

2

等边三角形

控制流图的图形符号

 ​​

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值