软件测试——期末复习(二)

第四章:测试设计技术

白盒和黑盒测试的优缺点

在这里插入图片描述

1. 黑盒测试的优点有
  • 比较简单,不需要了解程序的内部的代码及实现
  • 与软件的内部实现无关
  • 从用户的角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题
  • 基于软件开发文档,所以也能知道软件实现了文档中的哪些功能
  • 在做软件自动化测试时较为方便
缺点
  • 不可能覆盖所有的代码, 覆盖率较低,大概只能达到总代码量的30%

  • 自动化测试的复用性较低。

2. 白盒测试的优点
  • 帮助软件测试人员增大代码的覆盖率。 提供代码的质量,发现代码中隐藏的问题
缺点
  • 程序运行会有很多不同的路径,不可能测试所有的运行路径

  • 测试基于代码,只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求

  • 系统庞大时,测试开销会非常大。

1. 黑盒测试技术

在这里插入图片描述

1.1 等价类划分

等价类划分技术把所有可能的输入数据,即软件或者系统的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例的输入数据!

等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试!

  • 有效等价类是指对于软件或者系统的规格说明来说,是合理的,有意义的输入数据构成的集合!

  • 无效等价类是指对于软件或者系统的规格说明来说,是不合理的,无意义的输入数据构成的集合!

  • 等价类划分的原则1

    如果输入条件规定了连续的取值范围,则可以创建一个有效等价类和两个无效等价类;

    image-20201111153439960

  • 等价类划分的原则2

    假如描述的是允许数值的范围(离散的数字),则可以创建一个有效等价类(所有可能的有效值),和两个无效等价类(少于和多于有效的个数);

    image-20201111153535700

  • 等价类划分的原则3

    假如输入数据规定的是一组值(假定n个),并且软件对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类;

    image-20201111153635306

    image-20201111192820269

image-20201111192855288

image-20201111192909868

image-20201111192937947

image-20201111193001500

image-20201111193011212

1.2 边界值分析

边界值分析就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界 !

边界值分析方法需要测试边界值以及离边界值最近的上下两个值(等价类里面的值和等价类外面的值)。因此,通常情况下,对于边界值,一般可以得到3个测试用例!

image-20201111193812814

image-20201111193825273

1.3 决策表测试

决策表测试是分析和表达多逻辑条件下执行不同操作的情况的工具 !

决策表能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合;

在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题;

image-20201112083229358

image-20201112083306562

image-20201112083343908

image-20201112083409992

image-20201112083423441

1.4 状态转换测试

测试对象的输出和行为方式不仅受当前输入数据的影响,同时还与测试对象之前的执行情况,或者之前的事件或以前的输入数据等有关;

通过引入状态图(state diagram)来描述测试对象和测试数据、对象状态之间的关系;

状态图中的各个状态是通过不同的事件驱动的,比如函数的调用;

基于状态图开展的测试称之为状态转换测试;

1.5 用例测试

通过用例(Use Cases)或业务场景来设计测试,用例描述了参与者(包括用户与系统)之间的相互作用,并从这些交互产生一个从用户的角度所期望和能观察到的结果;

每个用例都有测试前置条件,这是用例成功执行的必要条件。每个用例结束后都存在后置条件,这是在用例执行完成后能观察到的结果和系统的结束状态;

2. 白盒测试技术

在这里插入图片描述

代码覆盖的含义:

白盒测试技术的基础是测试对象的代码,因此也称之为基于代码的测试技术或者基于结构的测试技术;

于代码的测试技术,其代码覆盖可以基于不同的对象进行判断,比如基于语句的语句判断、基于分支的分支判断等;

白盒测试技术的测试期望结果应该是根据需求或规格说明来确定的,而不是代码本身来确定;


在这里插入图片描述

2.1 语句覆盖和覆盖率

在这里插入图片描述

练习
在这里插入图片描述

此时A=,B=0,X=4即可

2.2 判定覆盖和覆盖率

控制流图中的边是分支覆盖关注的焦点。它不考虑每条语句的执行情况,而是考虑判定的执行情况,由判定的结果来决定执行哪条语句;

测试需要确保每个判定得到了RUE和FALSE的结果,即保证每个判定条件取TRUE和取假FALSE各至少一次。分支覆盖又称为判定覆盖(decision coverage);

image-20201112091624581

image-20201112091640436

image-20201112091653061
在这里插入图片描述

条件/测试用例A=0,B=1,X=1A=2,B=0,X=4A=3,B=0,X=-1A=2,B=1,X=2
(A>1) and (B=0)FTTF
(A=2) or (X>1)FTFT

哪条路径都可以达到100%分支覆盖。

3. 基于经验的测试技术

  • 基于直觉和经验的技术
  • 错误推测法(Error Guessing
  • 探测性测试

第五章:测试管理

1. 测试组织

1.1 测试组织和测试独立性(P132)

image-20201112093759145

1.2 测试组长和测试人员的任务(P135)

2. 配置管理(P158)

3. 风险和测试(P159)

第六章:软件测试工具

image-20201112094513664

总结

还是做题看书吧,太多文本型的内容了,重点是黑盒和白盒这一块的大题,可以把例题做会,开卷考试,其余的文本型内容都可以查书。要课件的加我QQ:1522447042。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值