基于MySql的单元测试数据自动生成方法及应用
- 格式:pdf
- 大小:480.88 KB
- 文档页数:4
2 0 1 3焦
为 在有 些测 试用 例 中 , 特定 的 字段需 要插 入特 定 的值 。为 了解决 这个 问题 , 需要 提供 两个 静态 集合 对象 , 其 中一个 专 门用 于存 放需要 插 入特 定值 的字段 索 引 , 另外一 个专 门用 于存 放需 要插 入 的特 定值 。在 撰 写
收 稿 日期 :2 0 1 3 — 0 2 — 2 7 作 者 简 介 :周 建 辉 ( 1 9 7 6 一) , 男, 江 苏 海 门人 , 南 通纺 织 职业 技 术 学 院副 教 授 , 研 究 方 向为 软 件 开 发 、 软件测试。
南通 纺织 职业 技术 学院 学报 ( 综合 版 )
2 . 2 技 术 要 点
1 ) 数据 类 型 映射 及默 认值 。M y S q l 数据 库 支持 的数 据类 型 、 My S q l 参数 支持 的 参数 类 型 、 . N e t 支 持 的
数 据类 型必 须相 互一 致或 者兼 容 , 否则会 导致 类 型不 匹配 , 同时还 必 须设 定一个 类型 默认 值 。在分 析 了这
导 致 自动生 成数 据失 败 , 故必 须按 照一 定规 则生 成主键 数 据 。编 写程序 分析 系统 的数 据库后 , 发现 该数 据 库 中的主键 只有 两类 数据 类型 , 即整 型 ( I n t l 6 、 I n t 3 2和 I n t 6 4 ) 和 字符 串类 型 V a r c h a r ( 3 6 ) 。 对 于整 型数据 可 以在主键 类 型 的默 认值 上依 次递 增 1 生 成 主键 数据 . 但 对于 V a r c h a r ( 3 6 ) 来说 . 由于 插入 的默 认值 是 G u i d 类型 , 所 以主键 数据 的产 生相 对复 杂些 。 其基 本过 程 如图 1 所示。 3 1 特 定数 据生 成 。依照 基本 思路 产生 的测 试数 据如 使用 默认 插入值 . 则有可 能满 足不 了测 试要求 。 因
三 类数据 类 型后 . 构建 了如 表 l 所 示的数 据类 型 映射及 默认 值表 。 2 ) 主 键 数 据生 成 。如 果 在表 中插入 一 条 记录 . 那 么 直接 使 用默 认 值插 入 , 但 是在 许 多单 元 测试 用 例
中, 需 要 在 表 中插入 多条 记录 供 测 试 , 此 时如 果 每条 记 录都 采 用默 认值 的话 , 则 违反 了主 键 唯一 性 法 则 .
单 元 测试 代 码时 , 如 需要 插入 特 定值 , 则 首先 预置 这 两个 集合 , 然 后在 调 用生 成测 试 数据 的 方法 中 , 判 断 某个 字段 索 引是 否包 含在 字段 索 引集合 中。如包 含 , 则将 My S q l 参数 值设 置 为特定 的值 ; 如果 不包 含 , 则 使 用默 认值 。这样 就可 以根据特 定 的单元 测试 用例要 求生成 特定 的单元 测试数 据 。
Vo 1 . 1 3. No . 3 S e p . 2 0 1 3
基 于 My S q l 的 单元 测 试 数 据 自动 生成 方 法及 应 用
周 建 辉
( 南通纺织职业技术学院 , 南通 2 2 6 0 0 7 )
摘要 :分析 了单元测 试数 据 自动 生成 的必要 性 , 阐 明 了 自动 生成单 元测试 数 据的基 本 思路 、 技 术要 点
大提 高 测试效 率和 测 试有效 性
2 测 试 数 据 自动 生 成
2 . 1 基 本 思 路
首先 自动 获取 指定 表 的字 段 的类型 、 大小 , 进 而根 据类 型 和大 小获 取指 定 字段 默认 插入 值 , 然后再 自
动 构建 S q l 命令 , 传入 My S q l 参数 , 执 行该 命令 , 完 成测 试数 据 的 自动生 成 。
中图分 类号 : T P 3 1 1 . 1 文献标 志 码 : A 文章 编号 :1 6 7 1 — 6 1 9 1 ( 2 0 1 3 ) 0 3 — 单 元测 试是 最低 级别 的测 试活 动『 1 1 。据 统计 , 单元 测试 能发现 大 部分 的软件 故障 , 并且 修 改它 们 的成本 低 , 所 以有 效 的单 元测 试 是保 证软 件质 量 的一 个 重要 环节 。大 型 的软件 系 统多 采用 分层 结构 , 一般 会包 含数 据 访 问层 , 而数 据 访 问层 的单 元测 试必 然要 考 虑如 何 生成 测试 数据 。很 显然 , 如 果针 对 每个 测试 用 例用 手工 输入 测 试数 据 , 测 试完 后再 删 除测 试数 据 , 那么 工作 量将 相 当 巨大 . 而且还 无 法 一 次运 行所 有 的单元 测 试代码 . 回归测 试也 变得 困难 。 本 文 针对一 个基 于. N e t 2 0 1 0和 Mv S q l 的大 型 电子商 务 系统 , 探 讨 单元 测试 数 据 自动 生成 方法 , 以及如 何 在测 试环 境 中应 用 。实验 表 明 , 测试数 据 自动 生成 能大
和代 码 实现 , 探 讨单 元 测试 数 据在 具 体 的测 试 环境 中的 应 用 , 包括 测试 环境 的搭 建 , 测 试代 码 的 组 织 、 编
写和 运行 。 实践表 明 , 该方 法 大大提 高 了测试 效 率 , 可以进 一步推 广使 用 。 关键 词 : My S q l ; 单元 测试 : 自动 生成
第1 3卷 第 3期 2 0 1 3 年 9月
南通 纺织 职业 技术 学 院学报 ( 综合 版 )
J o u r n a l o f Na n t o n g Te x t i l e Vo c a t i o na l T e c h n o l o g y Co l l e g e