找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

1.12 &1.13 测试设计与测试技术

[复制链接]
术语一:
1、动态测试:通过软件的组件或系统来测试软件
2、静态测试:对组件的规格说明书进行评审,对静态代码进行走查
3、
评审:
交叉评审:测试组内同事之间进行评审;
组内评审:==> 正式评审:对评审过程及需求文档的 一种特定评审;项目组开发、测试、UI设计师、产品经理进行评审;
会议评审:除了组内评审人员外,还有客户参与
4、度量:测试所使用的方法或标准;用了说明工具或标准(bug密度)
5、评审员:参与评审的人(不包括主讲人)
6、记录员:记录评审会议上的会议纪要;项目相关人员都是

术语二:
7、技术评审:同行间对技术进行的评审,目的是技术实现达成共识
      1):对当前项目功能相关的代码进行评审;
2):对当前功能对应的新增的接口代码进行评审;
8、走查:由文档作者逐步陈述文档内容,以收集信息并对内容达成一致
9、复杂性:系统或组件的设计或内部结构比较复杂,导致难以理解,维护或验证的程度
10、圈复杂度:程序中独立路径的数量。可以衡量一个组件模块的判定结构的复杂程度。
11、控制流:执行组件或系统的一系列顺序的路径
12、数据流:表示数据对象的顺利或状态发生变化的过程

术语四:
控制流图的概念:
· 控制流图也叫控制流程图,是一个过程或程序的抽象表现。

圈复杂度:
· 程序中独立路径的数量,可以衡量一个组件模块的判定结构的复杂程度。
· 计算对象是结构图或程序图,而程序图又包括控制流图与流程图
写的代码越复杂,圈复杂度越高;(代码逻辑较多)
写的代码越简单,圈复杂度越低;


   

独立路径就是从开始到结束到结束 ==>5条独立路径,圈复杂度就是5
1-2-3-7-6
1-2-3-2-5-6
1-2-5-6
1-4-5-6
1-4-6

公式一:
V=E-N+2(E结构图的边数,N是节点数)
公式二:
V=区域数
区域数:要加上最外边的一块
公式三:
V=P+1(P是判定节点数)
判断节点:指有判断条件的节点(图中的节点1、2、3、4)


用例设计:
常用的设计方法:
黑盒测试
1.来由
任何程序都可以看作是从输入定义域到输出值域的映射,将被测程序看作一个打不开的黑盒,黑盒里面的内容(实现)是完全不知道的,只知道软件要做什么。即不关心结构,只关心输入输出。
2.定义
现代黑盒测试是从一种从软件外部对软件实施的测试,也称基于规格说明的测试。
黑盒测试是从用户观点出发的测试,其目的是尽可能发现软件的外部行为错误。
3.检测内容
检测软件功能能否按照需求规格说明书的规定正常工作,是否有功能遗漏;
检测是否有人机交互错误,是否有数据结构和外部数据库访问错误,是否能恰当地接收数据并保持外部信息(如数据库或文件)等的完整性;
检测行为、性能等特性是否满足要求等;
检测程序初始化和终止方面的错误等。
4.优点
软件实现发生了变化,测试用例仍然可以使用;
可以和软件实现同时进行,因此可以压缩项目总的开发时间。

黑盒测试(功能测试)的用例方法:
等价类(重点):指某个输入域的集合,在集合中各个输入的条件都是等效的。
通常等价类划分为2种情况:
有效等价类:对程序规格说明有意义的、合理的输入数据
无效等价类:对程序规格说明无意义的、不合理的输入数据
边界值(重点):
判定表、
因果图、
正交表、
场景法、
状态迁移;

基于经验测试方法:
错误推测法、异常分析法、随机测试;
白盒测试方法:
语句覆盖、判断覆盖、条件覆盖、判断条件覆盖、路径覆盖(基本路径法、Z路径法)

等价类
等价类的划分(举例)
需求:在输入框输入1-100分考试成绩并且为正整数       
输入域:1-100分
有效等价类:50、68、95
无效等价类:0、-1、#、多测师

需求:qq密码是8-16位数字字符或英文字符或下划线组成
12345678 ==>符合规则
1234567   ==>不符合规则,从长度角度违反
1234@多测师   ==>不符合规则,从类型角度违反
12_abc56   ==>符合规则

   

等价类划分的设计用例思路:
1. 找输入条件
2. 为每个输入条件找有效、无效等价类
3. 为每个等价类编号
4. 用最少的用例覆盖最多的有效等价类
5. 每一个无效等价类都是一个用例
6. 并非所有有效等价类都有无效
7. 等价类的覆盖可以重复覆盖

小结:等价类设计用例覆盖的原则:
· 每个用例尽可能多的覆盖多个有效的等价类
· 每个用例只能覆盖一个无效等价类

写用例的注意的点:
1、用例以验证开头
2、验证的标题和步骤的内容相呼应
3、用例的标题和预期结果相呼应
4、等价类用例设计方法的描述一般是用大于、小于(指定某一个是边界值)

常见的能够划分等价类的地方:
1. 数值范围 :1-100 考试打分
2. 重复次数 :密码输入错误次数
3. 字符串长度 :输入框中支持输入8-16位
4. 字符串组中字符的个数 :有个列表 ["nihao","wuhan","duoceshi"]
5. 文件命名 :文件上传功能仅支持 .jpg 格式上传,无效:gif、png、bmp
6. 文件大小 :上传0-50M;
7. 颜色种类 :仅支持红色
8. 超时时间:应用软件超过30秒没有响应则报错

等价类的优缺点:
优点:是考虑了单个输入域的各类情况, 避免了盲目或随机选取输入数据的不完整 性和覆盖的不稳定性
缺点:方法虽然简单易用,但是没有对组合情况进行充分的考虑。需要结合其他测试用例设计的方法进行补充。比如边界值。

边界值
边界点的定义:
1-100
上点:边界上的点,1和100   正常场景
离点:离上点最近的点 (即上点左右两边最邻近的点) ,0和101 异常场景
内点:在区域内的点, 76 正常场景

闭区间:     [1,100]      正常测试点:1,100; 异常测试点:0,101
半闭半开: [1,100)      正常测试点:1,99; 异常测试点:0,100
半开半闭: (1,100]      正常测试点:2,100; 异常测试点:1,101
闭区间:     (1,100)     正常测试点:2,99; 异常测试点:1,100

边界条件分析:
1. 输入条件明确了一个值的取值范围, 或规定了值的个数
2. 输入条件明确了一个有序集合
有序集合:春夏秋冬

边界值分析原则
1. 如果输入(输出)条件规定了取值范围,则应该以该范围的边界内及边界附近的值作为测试用例
2. 如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个 数多一的数作为 测试数据
3. 如果程序规格说明中提到的输入或输出是一个有 序集合, 应该注意选取有序集合的第一个和最后 一个元素作为测 试数据

需求: 用户名由11位数字字符的手机号组成
等价类的描述:
验证在输入框输入11位纯数字字符组成的手机号
验证在输入框输入大于11位纯数字字符组成的手机号
验证在输入框输入小于11位纯数字字符组成的手机号
边界值的描述:
验证在输入框输入11位纯数字字符组成的手机号
验证在输入框输入12位纯数字字符组成的手机号
验证在输入框输入10位纯数字字符组成的手机号

判定表
判定表定义:分析和表达多逻辑条件下的执行不同操作的情况
   

结构:由4个部分组成
1)条件桩(condition stub):列出问题的所有条件(通常条件次序无关紧要)。
2)条件项(condition entry):列出针对它条件的取值(所有情况下的真假值)
3)动作桩(action stub):列出问题规定可采取的动作(顺序无约束)。
4)动作项(action entry):列出条件各种情况的应采取的动作。

判定表的作用:
利用判定表将复杂的问题按照 各种可能的 情况全部列举出来, 能针对不同逻辑条件 的组合值, 分别执行不同的操作。

判定表当输入条件较少的情况下可以全部覆盖,但是条件变多的情况下就非常困难;
举例:页面有30个输入框 ==>2的30次方

因果图  ==>代表原因和结果之间的关系
因果图提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其 中,原因是表示输入条件,结果是对输入执 行的一系列计算后得到的输出。
因果图方法最终生成的就是判定表。它适合于检查软件输入条件的各种组合情况

c ==> 原因
e ==> 结果

因(输入条件)、果(输出条件)之间的关系:
恒等: ==                      当原因出现的时候,结果一定出现
非: ~                            当原因出现的时候,结果一定不出现
或: or  、/、||                多个原因中有一个原因出现,则结果一定出现
与: and、和、^、&      多个原因同时出现,则结果才能出现

因与因之间的约束关系:
约束符:
异:E   例 : 男士和女士可以都不选,但要选只能选一个
或:I     所有原因当中最少选择一个,可以都选
唯一: O  必须要选一个(不能出现同时都选或者同时都不选的情况)
要求: R  例:武汉市出现的时候要求出现湖北省

果与果之间的约束关系:
强制: M          若结果a是1,则结果b强制为0。



因果图的步骤:
1.把大的系统规格划分解成可以测试的规格片段
2.分析分解后待测的系统规格,找出哪些是原因,哪些是结果
3.画出因果图
4.把因果图转换成判定表
5.简化判定表
6.用判定表中的每一列生成测试用例

因果图转换判定表的方法:
1. 将因果图中的所有条件(因)填 入判定表 的条件桩中;
2. 将因果图中的所有动作(果)填 入判定表 的动作桩中;
3. 根据因果图确定各个条件组合对 应的动作, 并且确定判定表中各个规则的条件项和动 作项, 在需要时优化判定表。

面试题:
你在上家公司是怎么用因果图用例设计方法?
答:我在上家公司不会去画因果图,但是对于需求文档中有因果关系的需求,
我们会把因果图当中的原因放入到判定表中的条件桩,把因果图中的结果放到判定表中的动作桩,从而把因果图转换为判定表,可以防止一些用例的漏写和漏测

因果图的优点/缺点
优点:
1. 等价类法尽管各个输入条件可能出错的情况都考虑到了,但是多个输入条件组合起来出错的情况却被忽略了 ;
2. 因果图法能够帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例 ;
3. 因果图分析还能为我们指出,程序规格说明描述中 存在什么问题 ;
缺点:
1. 输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到 ;
2. 即使得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大, 测试用例数目及其庞大;

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册