290 likes | 526 Views
第十三章 系统测试. 东北大学软件学院. 需求规 格说明. 系统测试. 概要设计. 集成测试. 详细设计. 单元测试. 编码. 测试层次. 单元测试 的线索是源指令执行时间路径,或 DD- 路径;. 线索( Thread ). 集成测试 的线索是模块执行和消息交替序列,即 MM- 路径;. 系统测试 的线索是什么?. 原子系统功能序列。. 东北大学软件学院. 定义 原子系统功能( ASF )是一种在系统层可以观察得到的端口输入和输出事件的行动。. 原子系统功能( ASF ). 东北大学软件学院. 以 SATM 系统为例: 数字输入;
E N D
第十三章 系统测试 东北大学软件学院
需求规 格说明 系统测试 概要设计 集成测试 详细设计 单元测试 编码 测试层次
单元测试的线索是源指令执行时间路径,或DD-路径;单元测试的线索是源指令执行时间路径,或DD-路径; 线索(Thread) 集成测试的线索是模块执行和消息交替序列,即MM-路径; 系统测试的线索是什么? 原子系统功能序列。 东北大学软件学院
定义 原子系统功能(ASF)是一种在系统层可以观察得到的端口输入和输出事件的行动。 原子系统功能(ASF) 东北大学软件学院
以SATM系统为例: • 数字输入; • 个人标识编号输入; • 简单事务; • 包含两个或多个简单事务处理的ATM会话; 线索的可能性 东北大学软件学院
定义 给定通过原子系统功能(ASF)定义的一个系统,系统的ASF图是一种有向图,其中节点表示ASF,边表示串行流。 原子系统功能(ASF)图 定义 源ASF是一种原子系统功能,在系统ASF图中作为源节点出现。类似地,汇ASF也是一种原子系统功能,在系统ASF图中作为汇节点出现。 定义 系统线索在系统的ASF图中,是一种从源ASF到汇ASF的路径。 定义 给定通过系统线索定义的一个系统,系统的线索图是一种有向图,节点表示系统线索,边表示单个线索的顺序执行。 东北大学软件学院
数据:数据是指经过初始化、存储、更新或(可能)销毁的信息。高层数据描述常见的模型是E-R图。数据:数据是指经过初始化、存储、更新或(可能)销毁的信息。高层数据描述常见的模型是E-R图。 需求规格说明中的基本概念 行动:同义词有数据转换、控制转换、处理、活动、人物、方法等。行动有输入和输出,输入输出可以是数据,也可以是端口事件。 设备:每个系统都有端口设备,这些端口设备是系统级输入和输出的源和目的地。 事件:事件是发生在端口设备上的系统级输入(或输出)。事件是现实世界物理事件和这些事件的内部逻辑表示的转换点。端口输入是物理到逻辑的转换,端口输出是逻辑到物理的转换。 线索:使用快速原型法并结合场景记录器。 东北大学软件学院
基本概念之间的关系 数据 输入 1..n 1..n 行为 1..n 1..n 事件 输出 1..n 1..n 序列 发生 1..n 1..n 设备 线索
结构模型 行为模型 语境模型 采用基本概念建模 数据 事件 行为 线索 设备
事件存储1 空闲 E1 E1 E2 外部实体1 E2已发生 E1已发生 F 外部实体2 E1 E2 E2 F 事件存储2 函数F的有限状态机 函数F的事件划分视图 建模的方式:决策表、有限状态机、Petri网等。 建模通常采用的方式
顶层SATM状态机 显示屏幕1 寻找线索 1.卡输入 有效卡 卡错 显示屏幕2 显示屏幕S1,退回卡 2.PIN输入 PIN失败 成功PIN 显示屏幕4 显示屏幕5 3.等待事务选择 东北大学软件学院
显示屏幕1 不正确的PIN或取消 1 卡输入 显示屏幕4,再显示屏幕1 PIN输入有线状态机 有效卡 错卡 显示屏幕2 显示屏幕S1,退回卡 2.1 第一次PIN输入尝试 不正确的PIN或取消 显示屏幕3,再显示屏幕2 2.2 第二次PIN输入尝试 正确PIN 正确PIN 不正确的PIN或取消 显示屏幕5 显示屏幕5 显示屏幕3,再显示屏幕2 正确PIN 2.3 第三次PIN输入尝试 显示屏幕5 3 等待交易选择 东北大学软件学院
2.x.1 0收到数字 x7 取消 x1 数字/回显“X---” PIN输入尝试有限状态机 2.x.2 1收到数字 x8 取消 数字/回显“XX--” x2 x9 2.x.3 2收到数字 2.x.6 按下“取消”键 取消 x3 数字/回显“XXX-” x10 2.x.4 3收到数字 x11 取消 数字/回显“XXXX” x4 已取消 2.x.5 4收到数字 正确PIN x5 x6 不正确PIN
系统测试存在路径爆炸问题,因此采用有向图来选择测试线索则更为明智。系统测试存在路径爆炸问题,因此采用有向图来选择测试线索则更为明智。 线索测试的结构策略 • 自底向上组织线索 • 节点与边覆盖指标 东北大学软件学院
在层次结构中组织状态机时,可以自底向上进行。在层次结构中组织状态机时,可以自底向上进行。 自底向上组织线索 SATM系统中的测试序列: PIN输入尝试->PIN输入->顶层SATM状态机
有限状态机是有向图,因此可以适用于单元级相同的测试覆盖指标。有限状态机是有向图,因此可以适用于单元级相同的测试覆盖指标。 节点和边覆盖指标 东北大学软件学院
节点覆盖 线索/状态关联 东北大学软件学院
边覆盖 线索/转换关联 东北大学软件学院
如果系统没有行为模型,该如何? 线索测试的功能策略 • 开发行为模型; • 进行系统级的功能测试; • 基于事件的线索测试 • 基于端口的线索测试 • 基于数据的线索测试 东北大学软件学院
系统测试覆盖指标(根据端口输入事件): PI1:每个端口输入事件发生; PI2:端口输入事件的常见序列发生; PI3:每个端口输入事件在所有“相关”数据语境中发生; PI4:对于给定语境,所有“不合适”的输入事件发生; PI5:对于给定语境,所有可能的输入事件发生; 基于事件的线索测试 系统测试覆盖指标(根据端口输出事件): PO1:每个端口输出事件发生; PO2:每个端口输出事件在每种原因下发生; 东北大学软件学院
基于端口的测试就是对于每个端口都要询问端口上会出现什么事件,然后根据每个端口的事件列表寻找使用输入端口和输出端口线索。基于端口的测试就是对于每个端口都要询问端口上会出现什么事件,然后根据每个端口的事件列表寻找使用输入端口和输出端口线索。 基于端口的线索测试
反应式系统和转换式系统区别,基于事件和端口的线索测试适用于反应式系统,基于数据的线索测试适用于转换式系统。反应式系统和转换式系统区别,基于事件和端口的线索测试适用于反应式系统,基于数据的线索测试适用于转换式系统。 基于数据的线索测试 东北大学软件学院
图书馆的E/R模型 撰写 出借 ISBN User_Name Due_Date 撰写 Author_Name ISBN Year 出借
SATM测试数据 SATM测试线索 东北大学软件学院
SATM测试线索 东北大学软件学院
SATM测试线索 东北大学软件学院
伪结构系统测试:节点和边覆盖指标都以系统的控制模型定义,不是直接从系统实现中导出的。伪结构系统测试:节点和边覆盖指标都以系统的控制模型定义,不是直接从系统实现中导出的。 系统测试指导方针 运行剖面:齐夫定律(Zipf’s Law),80%的活动发生在20%的空间中。 累进测试和回归测试:回归测试意味着大量的重复。 东北大学软件学院
原子系统功能(ASF); • 线索测试的结构策略,自底向上组织线索,节点与边覆盖指标; • 线索测试的功能策略,基于事件的线索测试,基于端口的线索测试,基于数据的线索测试; 总结 东北大学软件学院