动态测试一

来源:互联网 发布:java基础知识体系 编辑:程序博客网 时间:2024/05/29 19:53

一、分类角度
1、是否关心软件内部结构和具体实现的角度:”白盒“测试、”黑盒“测试和”灰盒“测试
2、软件开发的过程的角度:单元测试、集成测试、确认测试、系统测试、验收测试和回归测试
3、测试执行时是否需要人工干预的角度:人工测试和自动化测试
4、测试实施组织的角度:开发方测试、用户测试、第三方测试

二、白盒测试
定义:按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法。又成为结构测试或逻辑驱动测试
静态测试采用:代码走查、代码审查、程序结构分析、控制流分析、数据流测试及信息流分析
动态测试采用:逻辑覆盖(包括语句覆盖、分支覆盖、条件覆盖、分支-条件覆盖以及路径覆盖)
测试内容:
对程序模块的所有独立执行路径至少测试一次
对所有的逻辑判定,取”真“,”假“的情况都至少测试一次
在循环边界和运行的边界限内执行循环体
测试内部数据结构的有效性

逻辑覆盖:
语句覆盖——设计足够多的测试用例,使得每条语句至少被执行一次
判定覆盖(分支覆盖)——设计足够多的测试用例,使程序中每个分支至少通过一次,即每条分支语句的”真“值和”假“值都至少执行一次
条件覆盖——选择足够的测试用例,是每个条件的可能取值至少满足一次,但未必能覆盖全部分支
判定/条件覆盖——设计足够的测试用例,是判定中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能的判定结果至少执行一次。
条件组合覆盖——设计足够多的测试用例,使得每个判定中条件的各种组合至少出现一次
路径覆盖——设计足够多的测试用例,使程序中所有的路径都至少执行一次

三、黑盒测试
定义:把测试对象当作看不见内部的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑确定测试用例和推断测试结果的正确性。又称为功能测试或数据驱动测试

主要方法:等价类划分法、因果图方法、边界值分析法、猜错法、随机数法等

等价类
从划分的等价类中按以下原则选择测试用例:
为每个等价类规定一个唯一编号;
设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

边界值
定义:是一种补充等价划分法的测试用例设计方法,选择等价类边界的测试用例
运用边界值分析方法选择测试用例的原则:
如果输入条件规定了值的范围,则应取达到这个范围的边界值,以及刚刚超过这个范围的边界值作为测试的输入数据。
如果输入条件规定了输入值的个数,则用最大个数、最小个数、比最大个数大一个、比最小个数小一个的数作为测试数据。
根据规格说明的每个输出条件,使用原则1.
如果程序的规格说明给出的输入域或输出域是有序集合,则应取集合的第一个元素和最后一个元素作为测试用例。
分析规格说明,找出其他可能的边界条件。

0 0
原创粉丝点击