软件测试知识点整理
来源:互联网 发布:电信宽带网络线路故障 编辑:程序博客网 时间:2024/05/01 11:09
8.1白盒测试
“白盒”测试又称为结构测试或逻辑驱动测试是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的一种测试方法。
8.2白盒测试与调试的区别
调试和动态白盒测试都包括处理软件缺陷和查看代码的过程,但是他们的目标不同。动态白盒测试的目的是发现问题,而调试的目的是改正缺陷,但他们的共同目的是分离缺陷。
动态白盒测试技术包括:
Ø 语句覆盖:语句覆盖是最起码的测试要求,使得每一条语句至少被执行一次对程序的逻辑覆盖很少,只关心判定表达式的值,是很弱的逻辑覆盖标准。
Ø 判定覆盖:要求设计足够的测试用例,使得程序中的每一个分支至少通过一次即每一条分支语句的“真”值和“假”值都至少执行一次。
Ø 条件覆盖:不仅每一个语句至少执行一次,使得判定中的每个条件获得各种可能的结果。
Ø 判定覆盖只关心整个判定表达式的结果,条件覆盖关心的则是每个条件各种取值的结果。
Ø 判定/条件覆盖:设计足够多的测试用例,使得判定中每个条件的所有可能取值至少能够获取一次,同时每个判断的所有可能的判定结果至少执行一次。
Ø 条件组合覆盖:要求设计足够多的测试用例,使得每个判定中条件的各种组合至少出现一次。
Ø 满足条件组合覆盖标准的测试用例,也一定满足判定覆盖、条件覆盖和判定/条件覆盖标准。
Ø 路径覆盖:要求设计足够多的测试用例,使得程序中所有的路径都至少执行一次 。
8.3黑盒测试
黑盒测试又称功能测试或数据驱动测试把测试对象当作看不见内部的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性.站在使用软件或程序的角度,从输入数据与输出数据的对应关系进行的测试在软件的接口处进行测试通过导出执行程序所有功能需求的输入条件集,实现功能覆盖,需求覆盖。
8.4 等价类划分
Ø 等价类,把所有可能的输入数据,即程序的输入域划分成若干部分,划分,从每一部分中选取少数有代表性的数据做为测试用例,代表性数据等同于该类中的其他值(按区间划分,按数值划分,按数值集合划分,按限制条件或规划划分,按处理方式划分)
Ø 划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合
8.5 边界值分析
边界值分析是对等价类划分方法的补充,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。实践证明,采用边界值分析法设计测试用例进行软件测试,常常可以查处更多的错误,取得良好的测试效果。
8.6 边界值分析原则:
如果输入条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚超越这个范围的边界值作为测试的输入数据。 如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为册数数据。根据规格说明的每个输出条件,使用原则 ;如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。分析规格说明,找出其他可能的边界条件。
8.7因果图
定义是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,该方法充分考虑了输入情况的各种组合及输入条件之间的相互制约关系。
适用范围:
Ø 适合检查程序输入条件的各种组合情况
Ø 产生背景
Ø 等价类法、边界值法分析着重考虑输入条件,未考虑输入条件之间的关系
8.8用因果图生成测试用例的基本步骤
① 分析软件规格说明描述:原因、结果、标识符
② 分析软件规格说明描述中的语义:找出逻辑关系
③ 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现,添加必要的约束条件
④ 把因果图转换成判定表
⑤ 把判定表的每一列拿出来作为依据,设计测试用例
8.9测试用例设计
Ø 测试用例特点
正确性,完整性(涵盖功能、性能、压力等),准确性,清晰、简洁,可维护性,适应性,可重用性,可追溯性,可移植性等
Ø 测试用例设计的基本原则
1、基于测试需求的原则;
2、基于测试方法的原则;
3、兼顾测试充分性和效率的原则;
4、测试用例的代表性;
5、测试结果的可判定性;
6、测试执行的可再现性原则;
8.10测试用例编写要素
追踪/来源: 涉及的参考资料,如用户的需求、涉及文等
用例说明: 测试对象,采用的方法
测试的初始化要求: 哪个测试对象?在什么硬件/软件—平台?
测试的输入: 输入数据
测试结果: 期望测试结果
评价测试结果: 精度等
操作过程: 测试步骤
前提和约束: 约束
测试终止条件: 正常终止或异常终止
8.11单元测试
单元测试的定义:是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
8.12集成测试
集成测试的定义:是单元测试的逻辑扩展。它最简单的形式是:把两个已经测试过的单元组合成一个组件,测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合为程序的更大部分。方法是测试片段的组合,并最终扩展成进程,将模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有进程
集成测试的方法:
1、一次性组装方式2、混合渐增式集成测试方法1)自顶向下集成测试2)自底向上集成测试方法
3)回归测试4)组装测试
集成测试的内容:
1、集成后的功能性测试
2、2、接口测试
3、全局数据结构测试
4、资源测试(共享资源测试和资源极限测试)
5、性能测试
6、稳定性测试
8.13确认测试
确认测试基本概念:确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样
确认测试过程
1、确认测试流程 2、有效性测试3、 软件配置复查4、 α测试和β测试5、验收测试
6、确认测试结
8.14系统测试
系统测试设计
1、测试设计的一般流程——理解软件和测试目标
2、测试设计的一般流程——设计测试用例
3、测试设计的一般流程——运行测试用例并处理测试结果
4、测试设计的一般流程——评估测试用例和测试设计
系统测试手段
典型攻击方法——25种典型攻击
1)用户接口输入攻击(6种)
2)用户接口输出攻击(4种)
3)用户接口数据攻击(3种)
4)用户接口计算攻击(4种)
5)文件系统介质攻击(3种)
6)文件系统文件攻击(3种)
7)操作系统和软件接口攻击(2种)
- 软件测试知识点整理
- 软件测试知识点整理
- 软件测试知识点整理
- 软件测试知识点整理
- 软件测试基础知识点整理
- 【软件测试】《软件测试技术基础》知识点整理
- 《软件体系结构》知识点整理
- 软件测试相关知识点
- 软件测试知识点
- 软件测试知识点
- 软件测试基础知识点
- 软件测试面试知识点
- 软件测试知识点总结
- 软件测试知识点大全
- 软件测试知识点汇总
- 软件测试知识点
- 软件测试知识点总结
- 软件测试知识点
- 黑马程序员——JAVA之面向对象(二)
- 软件测试知识点整理
- ZOJ3646 The Dragon of Loowater
- 【算法】——插入排序(一)
- 一种智能指针的实现方式
- 软件测试知识点整理
- Sql Server 里的向上取整、向下取整、四舍五入取整的实例!
- llvm之clang前端的一些例子:
- 测试的方式
- JavaScript面向对象编程指南(第2版) 笔记
- Convolutional Neural Networks (LeNet)
- App开放接口api安全性—Token签名sign的设计与实现
- [Qt] CFlip 翻页功能实现
- 字符串和AscII码转换