前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >testing and SQA_动态白盒測试[通俗易懂]

testing and SQA_动态白盒測试[通俗易懂]

作者头像
全栈程序员站长
发布2022-07-07 16:22:50
2480
发布2022-07-07 16:22:50
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是全栈君。

一、软件測试技术: 黑盒:在不知道程序内部结构,仅仅知道程序结构的情况下採用的測试技术或策略。 白盒:在知道程序内部结构的情况下採用的測试技术或策略。 两种測试方法从不同的角度出发,反映了软件的不同側面。也试用于不同的开发环境。

testing and SQA_动态白盒測试[通俗易懂]
testing and SQA_动态白盒測试[通俗易懂]

二、白盒法又称为逻辑覆盖法。眼下经常使用的覆盖法: 技巧:条件组合覆盖>判定覆盖>语句覆盖 路径覆盖>判定覆盖>语句覆盖 1、语句覆盖——每一个语句至少运行一次

Test case : A=2 , B=0 , X=4.

testing and SQA_动态白盒測试[通俗易懂]
testing and SQA_动态白盒測试[通俗易懂]

2、判定覆盖(分支覆盖)——每一个判定的分支至少运行一次 Test cases:①A=3 , B=0 , X=3②A=2 , B=1 , X=1

testing and SQA_动态白盒測试[通俗易懂]
testing and SQA_动态白盒測试[通俗易懂]

3、条件覆盖——即一个推断语句中往往包括了若干条件。通过给出測试用例,使推断中的每一个条件都获得各种可能的结果。 Test cases: ①A=2 , B=0 , X=4(满足A>1, B=0; A=2, X>1) ②A=1,B=1, X=1

testing and SQA_动态白盒測试[通俗易懂]
testing and SQA_动态白盒測试[通俗易懂]

4、推断/条件覆盖——选取足够多的測试数据。使推断中每一个条件都取得各种可能值。并使每一个推断表达式也取到各种可能的结果。

testing and SQA_动态白盒測试[通俗易懂]
testing and SQA_动态白盒測试[通俗易懂]

5、条件组合覆盖——使得每一个推断中条件的各种可能组合都至少出现一次。

testing and SQA_动态白盒測试[通俗易懂]
testing and SQA_动态白盒測试[通俗易懂]

三、最少用例计算方法 为实现測试的逻辑覆盖,必须设计足够多的測试用例,并使用这些測试用例运行被測程序,实施測试。 我们关心的是,对某个详细程序来说,至少要设计多少測试用例。这里提供一种估算最少測试用例数的方法。我们知道,结构化程序是由 3 种基本控制结构组成,这 3 种基本控制结构就是: 顺序型——构成串行操作。 选择型——构成分支操作; 反复型——构成循环操作。 为了把问题化简。避免出现測试用例极多的组合爆炸,把构成循环操作的反复型结构用选择结构取代。 也就是说,并不指望測试循环体全部的反复运行,而是仅仅对循环体检验一次。这样。任一循环便改造成进入循环体或不进入循环体的分支操作了。 下图给出了类似于流程图的N-S图表示的基本控制结构(图中A、B、C、D、S均表示要运行的操作,P是可取真假值的谓词,Y表真值,N表假值)。当中图9(c)和图9(d)两种反复型结构代表了两种循环。在作了如上简化循环的如果以后。对于一般的程序控制流。我们仅仅考虑选择型结构。其实它已能体现了顺序型和反复型结构了。

testing and SQA_动态白盒測试[通俗易懂]
testing and SQA_动态白盒測试[通俗易懂]

几个相关帮助理解的练习: 1.例如以下图表达了两个顺序运行的分支结构。 两个分支谓词P1和P2取不同值时,将分别运行a或b及c或d操作。显然,要測试这个小程序,须要至少提供4个測试用例才干作到逻辑覆盖。使得ac、ad、bc及bd操作均得到检验。事实上,这里的4是图中第1个分支谓词引出的两个操作。及第2个分支谓词引出的两个操作组合起来而得到的,即2×2 = 4。而且。这里的2是因为两个并列的操作,1 + 1 = 2 而得到的。

testing and SQA_动态白盒測试[通俗易懂]
testing and SQA_动态白盒測试[通俗易懂]

2.下图表示的程序为例,该程序中共同拥有9个分支谓词,虽然这些分支结构交错起来似乎十分复杂。非常难一眼看出应至少须要多少个測试用例。我们注意到该图可分上下两层:分支谓词1的操作域是上层,分支谓词8的操作域是下层。这两层正像前面简单例中的P1和P2的关系一样。仅仅要分别得到两层的測试用例个数。再将其相乘即得总的測试用例数。 这里须要首先考虑较为复杂的上层结构。谓词1不满足时要作的操作又可进一步分解为两层,这就是图中的子图(a)和(b)。 它们所需測试用例个数分别为1+1+1+1+1 = 5及1+1+1 = 3。 因而两层组合,得到5×3 = 15。于是整个程序结构上层所需測试用例数为1+15 = 16。而下层十分显然为3。故最后得到整个程序所需測试用例数至少为6×3 = 48。

testing and SQA_动态白盒測试[通俗易懂]
testing and SQA_动态白盒測试[通俗易懂]

计算方法:

testing and SQA_动态白盒測试[通俗易懂]
testing and SQA_动态白盒測试[通俗易懂]

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116607.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年1月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档