软工——关于软件测试

一、软件测试的分类

在这里插入图片描述

二、软件测试的生命周期

1、
在这里插入图片描述
2、
在这里插入图片描述
3、在这里插入图片描述
4、
在这里插入图片描述
5、
在这里插入图片描述

三、静态测试和动态测试

1、静态测试

静态测试是指被测程序不被运行,而通过其
他手段进行检测的测试方法。

2、动态测试

动态测试是指通过运行和使用被测程序,发
现软件故障,以达到检测目的的测试方法。

四、黑盒测试和白盒测试

1、黑盒测试

黑盒测试将程序看作是从输入定义域映射到输出值域的函数过程,其主要依据是程序的规格说明,不涉及内部结构和特性,只依靠被测程序的输入和输出间关系设计测试用例。
在这里插入图片描述

不用考虑软件具体实现,即使软件实现发生变化,只要软件接口不变,测试用例也可不变;用例设计和软件实现可同时进行。

(1)等价类划分法

等价类划分:把程序输入的定义域划分为若干子集,并从每一个子集中选取少量具有代表性的数据生成测试用例。

等价类:输入定义域的某个子集。等价类中各个输入数据具有等价特性,因此测试等价类中的代表值等价于测试这一类中其它值。

使用等价类划分法的目的是既希望进行完备测试,又希望避免冗余。

(2)边界值划分法

人们从长期的测试工作经验得知,大量的故障往往发生在输入定义域或输出值域的边界上,而不是在其内部。

使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应选取正好等于、刚刚大于或刚刚小于边界的值作为边界测试数据。

(3)决策表法

在这里插入图片描述

(4)因果图法

2、白盒测试

白盒测试是基于被测程序的源代码,而不是软件
规格说明的测试活动。白盒测试按照程序内部的
结构测试程序,检验程序中的每条通路是否都能
按预定要求正确工作,而不顾它的功能。

1、逻辑覆盖测试
(1)语句覆盖

在这里插入图片描述

各个语句都走过

(2)判断覆盖

在这里插入图片描述

所有T和F都走过

(3)条件覆盖

在这里插入图片描述

各个条件都有T和F

(4)判断/条件覆盖
(5)路径覆盖

在这里插入图片描述

所有可能的路径

2、路径分析测试

对于比较简单的小程序来说,实现路径覆盖是可能的,但如果程序比较复杂,存在多个判断和多个循环,实际上可以做到的只是有选择地测试程序中某些有代表性的路径。

(1)独立路径测试

在这里插入图片描述

step1:导出程序控制流图
step2:求出程序环形复杂度
step3:基于独立路径集设置测试用例
例子在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)z路径测试

所谓简化循环就是减少循环的次数,不考虑循环体的形式和复杂度如何,也不考虑循环体实际上需要执行多少次,只考虑通过循环体零次一次这两种情况。

零次循环是指跳过循环体,从循环体的入口直接到循环体的出口。通过一次循环体是指检查循环初始值。根据简化循环的思路,循环要么执行,要么跳过,这和判定分支的效果是一样的。

可见,简化循环就是将循环结构变成选择结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

庸人阿九

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值