一种路径测试数据自动生成方法
软件测试中的测试数据生成方法

软件测试中的测试数据生成方法软件测试是确保软件质量和可靠性的重要环节,而测试数据是测试过程中必不可少的组成部分。
测试数据的质量和覆盖度直接影响测试的有效性和准确性。
本文将介绍软件测试中常用的测试数据生成方法,以帮助测试人员更好地完成测试任务。
一、随机数据生成法随机数据生成法是一种常见的测试数据生成方法,它通过随机选择数据的值和范围来生成测试数据。
该方法可以快速生成大量的测试数据,但对于涉及特定规则和限制的功能,可能无法满足需求。
二、边界值数据生成法边界值数据生成法是指基于输入参数的边界值情况来生成测试数据。
由于边界值往往是出错的关键点,因此通过测试边界值可以更有效地发现潜在的问题。
此方法适用于那些输入参数有明确范围限制的情况。
三、等价类数据生成法等价类数据生成法是将输入域划分为若干等价类,然后从每个等价类中选择一个代表性数据作为测试数据。
这种方法可以有效地减少测试用例的数量,并保证测试覆盖率。
通过确认等价类的典型数据,可以发现输入域的各种情况,提高测试的效率。
四、错误推测数据生成法错误推测数据生成法是一种基于常见错误类型和经验的测试数据生成方法。
测试人员根据熟悉的错误类型,推测可能出现的错误,并设计相应的测试数据。
这种方法可以帮助测试人员更有针对性地发现可能存在的问题,并提供修复意见。
五、正交实验数据生成法正交实验数据生成法是一种基于正交表设计的测试数据生成方法。
通过正交表设计,可以覆盖各种输入参数的组合情况,从而减少测试用例的数量。
这种方法适用于具有多个输入参数和多个可能取值的场景。
六、状态转换数据生成法状态转换数据生成法是一种基于系统状态和转换规则的测试数据生成方法。
通过定义系统的各种状态和状态之间的转换规则,生成对应的测试数据。
这种方法适用于具有复杂状态转换逻辑的软件系统。
七、路径覆盖数据生成法路径覆盖数据生成法是一种基于程序控制流和路径的测试数据生成方法。
测试人员通过分析程序的控制流图和路径,设计测试数据以覆盖不同的路径。
基于遗传算法的路径测试用例的自动生成探讨

3
No . 9
ELEc T RONI C TEsT
基于遗传算法的路径测试用例 的 自动 生成探讨
田丽芳
( 黄淮学 院信 息工程学 院 ,河南驻马店 4 6 3 0 0 0 )
摘要 :在软件 开发 中进 行软件测试是 为了保 证软件质量和可 靠性 。软件测试 中测 试数据合理设计很关键 。如何 优化测试 数据 ,自动 生成 测试 数据是 人们一 直研究 的问题 ,本文针 对测试 用例 的自动化 生成 进行 了深入 的研
e x p e i r me n t a l r e s u l t s s h o w ha t t ,t h e a u t o ma i t c g e n e r a i t o n o f t e s t c a s e s o f t h e s y s t e m c a n c o mp l e t e a s e t o ft a r g e t p a t h,a n d
of t e s t d a t a o f t he a ut om a ic t g e ne r a io t n o f t e s t c a s e s ,b a s e d o n t he i n—de pt h r e s e a r c h, us i ng g e ne t i c a l g or i t hm ba s e d
0 引言
工设 计输 入 测试 数 据 ,费 工 费时 易 出错 ,那 么 ,如何 来 确 保 软件 开 发质 量 ,实 现 软件 测试 工具 的 自动 化 。现 在
目前 ,软件 应 用 已经 渗透 到 各 个领 域 ,软件 质量 问 测试 用 例 的 自动生 成 还远 不尽 如 人 意 。本 文探 讨 一种 有
面向路径的测试数据自动生成工具的设计与实现

关键词 :测试数 据 自动 生成 ;软 件 工具 ;U ;面 向对 象 ML
K yw rs u m t s dt gnr i ;s ta o;u ie oen nug ;oj t r t e od :a t a t t a eea o o w r t l nf dm dl gl gae b c- i 6 o e e d a tn f e o i i a e oe d n
(col f s t e c ne a oa U i ri f e leTenlg,clns 407 ,C ia Sh o Cma rSi c.N tnl nv syo D fl e oo ̄ l g ̄ 103 hn ) 0 mt e i e t et S h a 摘 要 :面 向路 径 的测试数 据 生成 问题是软 件 测 试 中的 一 个基 本 问题 。G p ut a等提 出一种 线性化
l e msi sf a etsig G p t l m n o t r e t . u m e p w n a ameh d w ihi r ff dt steI rt eR l ain Me} ,t to , h c s ee r o a h t ai e e v ea t x o 【 I d o o
单锦辉 ,王 戟 ,齐治 昌,马晓 东 ,单黎 君
SJ i-t .WA G J,Q h-h n ,MA i -o g H N Ld n I  ̄N Jnhf i N i IZ i a g c Xa d n .S A i u o ( 防科技 大学计 算机学 院,湖南 长 沙 407 ) 国 103
维普资讯
( 3 1 5 /T .2 8 P £S 0 一3N NEE I & S I q E OC U/ d G/ RNG CF C 3
测试数据自动生成系统的实现

该测试 数据 自动 生成系统有 以下三个部分 : 暗 首先 第 分 要对 目标程 序进 行静态 分析, 然后提供被测程序摹本单元信息 如 变 量 参 数 表 和 程 序 逻 辑 结 构 等信 息 , 后 对 测 试环 境 进 行 构 然 造 ( 括驱动模块、测试单元及桩模块 ) 包 ,它 是整 个 系 统 的基
础。
第 ■部分是运用随机法随机生成一些测试数据 。 随机 法能 简 单快速 的生成大量 的测试数据 , 这些数据驱动被测程序执行 并能覆 盖大 部分 的逻辑路径 。 第 三部分是在 第二部分 中随机法未覆 盖到 的路径 中指定 路径并运行 B F算法生成测试数据对其进行覆盖 ,从而达到路 径全覆盖。 B 算法 是系统 的核心 ,它先根据 “ F 有用参数编码 原则 ’ 用二进制 编码机 制对被测 程序单 兀进行参 数编码 采 构造相应的细 菌个体并构造适应度函数。 始化细 菌种群 , 初 再 对种群进行反复的 B F算法 的趋 药性 行 为 ,群 聚 , 繁殖 和迁 徙 运算 , 而引 导种群不断地 向目标值 进化直到满足精度要求找 从 到 覆 盖 指 定 路 径 的测 试 数 据 或 达 到 限 定 的 运 行 代 数 为 止 。 三 、菌群算法及改进 ( )菌群算法 一 菌群 算法 是 P s io通过模拟大肠杆菌 的觅食行 为提 出 a sn 来的 ,用来解决优化和控制 问题 的。具体过程如 ’ F:
~
一
、
引言
目前 , 软件测试的 自动化发展迅速 , 人们可 以利用测试工 具来执行和维护测试用例 , 但是测试数据 的 自动生成还足远不 尽人意 。 传统测试用例生成 的人工方法无疑会 降低测试 的效率 和 可靠性 。测试数据 自动生成技术能为程序 自生成测试 数据 , 大大减少 了测试 人员手 工编写测 试数据的劳动量, 从而使测试 效率获得 显著提高。 因此对测试数 据生成技 术的研 究 以提 高软 件测试 自动化 程度是~件有重要意义的事情 。 软件测 试数据 自 动生成技术有两大类 : 向功能测试数据 自动生成技术和面 向 面 结构测试数据 自动生成技术 。 。本文研究的就是 种 面 向结构 的 测 试 数 据 生 成 技 术 , 用 该 技 术 设 计 测 试 用 例 时 运 用 的规 则 运 般都是基于覆盖 的, 中最经常用到 的是基于路径覆盖 的准 其 则, 也就是根据指定 的路径 , 在参数空 间内搜索 能够触发这条 指 定 路 径 执 行 的输 入 数 据 , 终达 到 路径 的全 覆 盖 。 者 们 研 最 学 究 了很 多方法来解 决这些 问题,其中可 以分为四类:随机 法、 静 态 法 、动 态 法 和试 探 法 。 将 一些人工智能算法 ( 比如遗传 算法 、模拟退火算法 、 蚁 群 算法等 )引入 到软件测试数据生 成中 “ ,并取得 了不错 的 成果 。 最近 , …种新的进化计算方法被提 出,就 是菌群算法. 菌群算法是人工智能 的一种新兴 的算法 , 相对于遗传算法、模 拟退火 算法和蚁 群算法等其 它智能算法 来说具有规 则简单 的 特 点,更适合二进制编码 。 本文就对 菌群 的参数化编码 ,适应 度 函数构造和测试数据 生成接 口等技术 细节进行研 究, 使菌群 算法能够 自动生成适合 的测试数据 , 并结合随机算法实现能够 满足路径全覆盖 的测试 数据 生成系统。 二 、测试数 据 自动生 成系统框 架
多路径测试数据自动生成方法及应用

CAO n , Ya g HU Ch n h , u - ua CHEN S a — o e 1 h o b . t a . t m a c e t d t e e a o f r mu t l p t s n t p H a o s Au o t t s a a g n r t n o i i l p e a h a d is a p c t n . i i
p s d t d s r e p t s f a p o r m , n a i n s f n to f r o e o e c i ah o r g a b a d f e s u ci n o mu t l p t s e t a a g n r t n s o sr c e wi i t li e ah ts d t e e a i i p o c n tu t d t t h
p t s h e t e a e e a e y GA. p id t e b n h r r g a a d o r ait r g a s t e u ci n e u e a s a d t g n r td b h r h a Ap l o t e c ma k p o m e h r n s me e l i p o m , f n to r d c s sc r h
一种结构测试数据自动生成的框架

Fr m e r f a wo k o t m a i e t Au o tcT s t e e a i n Da a G n r to f rS fwa e S r c u e o o t r tu t r
C N Jfn S NJ n i WAN Z ia , HE i g, HE u y , e G hh i WAN X nu G ij n
流和数据流的结构测试数据 自动生成 的框架 。该框 架根据控 制流和 数据流测试 中所采用 的覆盖标准优化选取测试路径 , 以改进后的迭代 并 松弛法为核心 ,对所选取 的路径 生成测试数据 。以基于路径 覆盖、分支覆盖和数据流覆盖测试数据 自动生成这 3 种算法 为核 心,开发了一 个测试数据 自动 生成的框架原型。实验结果表明该框架是可行 的。 关健诃 :结构测试 ;控制流 ;数据流 ;测试数据 自动生成
C e me g d t t — re t d t s a a g n r to n s fwa e c sr c i n ts i g Th o e a e c t ra f rc tol o a d d t o a e u e O n a b r e pah o n e t t e e a i n i o o i e d t r on t u t e tn . e c v r g r e on w a f w r s d t o i i o r f l n al o tmi e t e s lc i n o s a h h e a p o c n p t — a e u oma i e td t e e a i n i u e o g n r t e t a rt e s l ce a h p i z e e t ft t t .T p r a h o ah b s a t h o e p d tc t s a a g n r to s s d t e e ae ts t f h e e t p t .A dao d p o o y e on t e fa wo i d v l p d b s n t e a t ma i e td t e e a i n f r p t — a e , r c n a a fo c v r g . e tr s ls r t t p me  ̄ s e e o e a e o u o tc t s a g n r to o a b s h d h a h d b a h a d d t w o e a e T s e u t n l s o t a e fa wo i e sb e h w t h me  ̄ sf a i l . h t
面向路径的测试数据自动生成工具的设计

盖标准来选取 测试路径 , 并以改进后的迭代松 弛法为核心 , 对所选取 的路径生成测试数据 。同时工具采用 Fbnci ioac 法优化选取路 径, 对不可达路径进行处理, 并对测试数据 的分 支覆盖率、 C D P覆盖 率等进行 了统计。 实验 结果表 明该工具是可行的。
关 键 词 : 径 ; 试 数 据 自动 生 成 ; 盖 率 路 测 覆
t e t o i fa il . h o l S e sb e
Ke r s p t a tmai e t d t e e ai n c v rg ae y wo d : ah; u o t ts aa g n r t ; o e a e r t c o
摘
要 : 计 了一 个 通 用 的基 于控 制 流 和 数 据 流 的 结 构测 试 数 据 自动 生 成 的 工 具 。 工具 根 据 控 制 流 和 数 据 流 测试 中所 采 用的 覆 设 该
En i e rn n p iain ,0 0, 6 1 : 3 5 . gn e ig a d Ap l t s 2 1 4 ( 5)5 - 6 c o
A b t a t A pah— s d o t e o ] o a t ma i t s p rThe o e a e rtra o c nr l sr c : t — e s fwar to n u o tc e t t e rto i d sg d n h s pa e . c v r g c e fr o to ba i i
C m u rE gnei n p l a os o p t n i r g ad A pi t n 计算机工程与应用 e e n ci
2 1 ,6 1 ) 0 0 4 (5
5 3
测试用例自动生成方法研究与实现

测试用例自动生成方法研究与实现作者:肖瑜来源:《现代电子技术》2008年第16期摘要:测试用例的生成工作是指选定被测任务、分析输入数据、确定其取值、并分析对应的输出数据。
软件测试数据生成在软件系统开发费用中占很大比重,如果该过程能自动实现,则会极大地减少软件开发的周期和费用。
介绍一种测试用例自动生成的链方法,这种测试技术,结合插装技术及目标跟踪方法,能有效生成测试用例,从而提高了测试效率。
关键词:测试用例;链;目标搜索;测试数据中图分类号:TP311 文献标识码:B 文章编号:1004373X(2008)1610003Research and Realization of the Method for Testing Examples Automatic BuildingXIAO Yu(Xi′an Military Academy,Xi′an,710108,China)Abstract:The task,making of testing examples,is a process that choosing task,analysing input date,making sure numerical value rang and analysing output date.Software testing occupied a good many expenses in exploitation of software system.If the process can be realized automatically,the expenses will be decreased and the periods will be shortened.This paper introduces a chain method of testing examples automatic building.The test technique,which combines the inserting technique and the object tracking method,may effectually create testing examples effectively and thus improve testing efficiency.Keywords:testing examples;chain;object searching;test data测试用例的生成工作是指选定被测任务,分析输入数据,确定其取值,并分析对应的输出数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
的输入空问会因复杂的程序 结构而迅速非线性 化 , 成为多维、 非连续、 多极值…的复杂求解空 问,程序 的测试数据 生成 问
题通常会转化为 N P完全 问题 或 N P难 问题 I遗 传 算法 对 于 。
求解空间无需训练和先验知识 ,具有仅依赖于算法 自身 的寻 优 机 制 以 及 为 目标 问 题 所 设 计 的 适 应 值 函 数 的 引导 即可 完成
可见 ,在 Tl相邻的 2 个子路径中 ,只移 出了一个节点 ,
而 引入 了 一 个新 节 点 ,实 际是 采 用 了 以 TI的相 邻 重 叠 路径 段对 路 径 进 行 描 述 ,称 其 中 的 , , f …, } 重 叠 路径 为 (vr p e a ) Tf共 包含 ( + ) 路 径 ,取 得 了 节点 oel p d t 。 a ph 1段子
路 径 测 试 是 指 设 计 相 应 的测 试 数 据 ,使 得 被 测 程 序 在 执 行 该 组 测 试 数 据 时 ,能 经 过 程 序 中 的某 一 指 定 路 径 。程 序 结
自动化 ;胡春华 ,助 理研 究员 ;陈少波 ,博士研 究 生 ;李路 明 ,
教 授 、 博 士 生导 师
文献标识码:A
中 圈分类号: P1. T 31 5
一
种 路 径 测 试 数 据 自动 生 成 方 法
曹 洋 ,胡春华 ,陈少波 ,李路 明
( 华 大 学 航 天 航 空 学 院 人 机 与 环 境 工 程 研 究 所 ,北京 10 8 ) 清 0 0 4
摘
要 :适应值 函数 的设计是决定测试数据生成质量和效率 的关键 ,为 此提 出一种重叠路径 结构 ,对程序路径进行描 述,并设计基于遗传
s o t a o ft e sf n to sb l n e t e c n e g n ea d t ec n u p i n we 1 h w h t het n s u c i n a a c h o v r e c n i o s m to l. t w i m
适 应值 函 数 的 设 计 是 决 定 测 试 数 据 生 成 质 量 和 效 率 的关
键。理想的适 应值 函数 是一 个从个体到适应值 的一一映射 ,
这 样 的适 应 值 函 数 可 以 区别 出所 有 个 体 的差 异 ,有 助于 提 高 搜索导 向能力 ,加快搜索收敛 。然而对于实 际问题 ,复杂 的
第 3 7卷 第 9期
Vl _
机
工
程
2 1 年 5月 01
M a 2 1 y 01
NO. 9
Co pu e m trEng n e i g i e rn
博 士论 文 ・
文章编号:1 o_48 O1 9 02— 4 0 _3 ( 1 0_ O5 0 O 22 ) _
对 适 应值 函 数 增 加 过 多 的 限 制 或 约 束 ,可 以提 高 一 对 一 映射
J
() 1
的比例 ,改善搜索的收敛效率 ,即在较少 的迭代次数下 完成
搜 索 ,但 同时 也 会 导 致 单 次 计 算 个 体 适 应 值 的 时 间增 加 。 当 被 测对 象 的规 模 或 复杂 度 变 大 时 ,计 算 消 耗 的 时 间 可 能 会 被 显著 放 大 , 此 时则 需要 评 估 减少 的 迭代 次 数 和 增 长 的 计 算 时 问 哪一 个 因素 的效 用 更 明显 。本 文 采 用一 种 新 的 方 法 提 取 路
算法全路径 比较的路径 测试数据生成适应值 函数 。为测试数据生成算法定义 生成 时间期望 的综合性 能评价 指标 ,以该指标与对照组算法进 行比较实验。结果显示 ,该适应值 函数能较好地平衡 算法收敛 性和消耗时 间之 问的矛盾 。 关健词 :软件 测试 ;路径测试 ;测试数据 生成 ;遗传 算法;适 应值函数
[ ywo d ]sf rets p t s;et aa e eain g n t loi m; tes u cin Ke r s ot t aht ttsdt nrt ;e ei a rh fn s nt wa e ; e g o c g t i f o
D0h 1.9 9jsn10 —4 82 1.90 9 03 6 /i . 03 2 .0 1 .0 .s 0 0
寻 优 的 特 性 ,使 得 遗 传 算 法 用 于 程 序 测 试 数 据 生成 取 得 了大 量 的成 果 ,并 因 此 推 动 了基 于 搜 索 的软 件 工 程 ( ac —ae s rhbsd e
sf ae n ier g研 究 领 域 的兴 起 。 ot r e gnei ) w n J
长度为 的重叠路径数 的最大值,实现了子路径信息的最大
利用。
假设目标路径表示为T rft I ,,, ,取 2 = , f《 ,,, j J 0 条
实际路径 p l和 p 2为 A : ,I 0 i i Ⅱ} J , ,I , ,0 、 a, % Ⅱ, ,
f n t n r o sr c e o g n r t e td t o t e tb s d o e e i l o i ms wih wh l ah’ o p rs n u ci s a e c n tu td t e e a e t s a a f rpah t s a e n g n tc a g rt o h t o e p t S c m a o .An i d c t r i d fn d t i n ia o s e e o i e a u t h y t e i p r o m a c f d fe e tft e s f n to s n e e a t e t o s a e s l c e o o v l ae t e s n h ss ef r n e o i r n n s u c i n ,a d s v r lo h r me h d r ee t d f rc mp rs n wi x e i n . s ls i a i o t e p rme t Re u t h
1 概述
程序 的结构测试数据 自动生成一直 以来制约着软件结构
测 试 自动 化 的 发 展 。 当 程 序 中 “f 、“ lei 、 “ wth 、 i ” es. ” s i ” f c
“
构 测 试 的语 句 覆 盖 、 分支 覆 盖 、条 件 覆 盖 、条 件/ 判定 覆 盖 都 可 归结 为路 径 测 试 问题 , 同 时路 径 测 试 是实 现 路 径 覆 盖 的关 键 技 术 环节 ” 。 用 遗 传 算 法 解 决 程序 测试 数据 生成 的核 心 使
基 金 项 目 :国 家 科 技 支 撑 计 划 基 金 资 助项 目(O 9 I9 0 ) 国家 2 0 BA 7 B 3 ; 自然 科 学基 金 资 助项 目(0 0 0 0F 4 6 4 ; 天 医学 基 础 与 应 用 国 6 9 6 5 /0 0 0 ) 航 家 重 点 实 验 室 开 放 基 金 资 助项 目(MF 0 K 8 S A 9 0)
w i ” fr 结 构 以及 几 者 间 的组 合 嵌 套 增 多 时 ,程 序 hl 、“o”等 e
问题是设计面 向覆盖 目标 的适应值函数 。 21 重叠路径结构 . 不 同 的 测 试 数 据 若 能 流 过 相 同 的 分 支 , 则它 们 的数 量 或 相 互关系可能具有某 些共同的特征 ,如输 入参数数量 上满足
D a aA ut m a i e r to A ppr a h f rPa h Te t t o tcG ne a i n o c o t s
CA o Yang, U hun— H C hua ,CH EN Shao bo, — LILu— i m ng
( si t o Ma— cie E vrn n n ier g S h o f rsaeT ig u nvri , e ig1 0 8 , hn ) I tue f nMahn & n i met gne n , c o l Aeo pc , s h aU iesy B in 00 4 C ia n t o E i o n t j [ sr c]A t cueo vr p e ah spo oe xrc eifr t no o t l o n eciep tso po rm. w tes Ab tat s u tr f el p dp tsi rp sdt e t th nomai f nr w a dd sr ah f rga T ofn s r o a o a t o c of l b a i
为此 ,以子 路径 结构 为基 础 ,定义程序路径 的重叠路径
概 念 。假 设 程 序 P的控 制 流 图包 含 n个 节 点 ,以 式 () 1的形 式 描 述程 序 的某 一 路 径 :
7 : ,2 , , ,ml… , t … f / , ‘ +
非线性搜索空 问到 目标域的映射几乎不可能实现这一 要求。
径信 息以提 高收敛性 ,并通 过控 制算法的时间复杂度 ,设计
了一 种 基 于 路 径 重 叠 结 构 的路 径 测试 适 应 值 算 法 ,以 平 衡 上
述 问题 之 问 的矛 盾 。
作者倚介 :曹
洋( 8 -) 男 , 士研究生,主研方向 : 1 2 , 9 博 软件测试
2 基 于重叠 路径 的适 应值 函数
定 的 谓词 条件 ,则 可进 入 相 同的 分 支 。在 控 制 流 图 上 ,可
以视为它们 经过相 同的某 段节点或称为子路 径。显然 ,两路 径 具有 的相 同节点段越 多 ,路径 间的相 似度也越高 ,经过这
两路 径 的测 试 数 据 的相 似 控 制 流特 征 也 越 多 。若 能 从 路 径 的 子 路 径 中提 取 尽 可能 多 的 数据 信 息 ,则 可 以 引导 测 试 数 据 经 过 的实 际路 径 逐 渐 向 目标 路 径 收敛 ,最 终 生成 经 过 目标 路 径 的测 试 数 据 。