软件单元测试用例的设计与执行
维普讯资h tp:/tw/w.cwvipqco.m
t技■术 tI 与佗 lt
软
单 件 元测 试用 例 的 设计 与执行
T De ie a dn I l em t tno o t r ieT Ca t eh s g n pm en a i fS wa f Unet s s o
丽冯丽
F GN — bE 、
元测单试是对针单个功 模块能的试 测, 尽早发 能缺 陷现 降, 滞后 纠错低的 高成本, 是软件测 试 的要重环 。节文在 对本元 单测和测试 试例的用开发周期做了 简要 明说后之 , 点介绍 了重何设如 单元测计 用例试 行执简单单元的测 试, 以如何利及用 测试自动 执化行测用例试加单快测试速元率 。 件测试 单软元测 试单元测试 动自化单元测试 用例
b ta tA n U tet fi nt mon u e etg s rc it s s u ci dlt ssi U i .tis g nc vs r a f rb n i g b g se ry a o n tn t e a e ag teo tf dyn u s a a sl en pi is la, di i n i o tn r c s fow r e g o sbt n t eas mpr t po es o fae t is .tf sA t,i tal ie h i tr d cni o n t a t n s trhs r c e gvs a s o n r ut o f uii tio t asd tsc esi n pro ; da te o s de e t o o ds g nts tc s t sm ep n li - e nt e t a de sg e i d n n i ge e piro hw te i ui et ea ilm ets h n nt o mp eU ntst ig ad h w t s ntt suo t nt p m e n nt t as e o a lc t rn t ti gsi e t o o euu i et a ta im o i le tmi e sts t c e ee u i eat . n n o u c n K e o d w f Sae sitg Un ttisg U i s t ou tn i tU s c e ry s ot r e t w i ent n et tt ai n t em at n a o
1s引 言
试例用的 发开周 期 。测试 例一般用 针被对测 系的不 统同功 能 块开发 , 中模的每 其 个
测试例用都要完成 上述 三 不 同个 的动 活 不包( 括回归 测 试) 。 这三 测试 个开发活动 每 个对试测用 例 是有都 序执行的 , 如 例 ,测 用试在例 被译 执编之前行必须先被计设, 比较 果结之 必前先 在
须执行被。
单 测试 元保 确件软合最符基的功本 能性要 ,求因而先 于集
测 成 试和 系统 测 试。 在 个一元 件 还处 于 开 发 阶 段就 现 它 发的 误错 可 以节 约大 量时 间 耗 费和: 样就 不必 错 将 误 入引错 误追 踪系 这
统
,重 做或调查误错 ; 是 由 个程一序 在 员件软 元 件发布 之前 就
而 以可 将 错 误 正改。
单元
试是对软测 设计件 最小 的位进 单 行确性 正查检的测 试
单3元 测试 例用 设的
如果计单测元被试有效执行 ,随后 测试的阶 段将 会成功更 。 于鉴元 测单 试重的要性, 几乎所有 的 发人员在 开完成代 之前都码会 对个组成一或段代码一 做一定 程 度单的元测 ,试 是 ,于问 题 但 基的不规 则的单元试测基于 与系需统求的 有织 组的 重、复 单 的元 可
测 是试 不 的 。 同
工作
,其 测 试的在目发于现块模 内部在存的 各种错误。单元测 试
的要是点进单元模块行所 有 数项据 的 正确性 、 性善测试 , 要完 关注模主 块的算细节法 模和块接 口间动的流数据。 单元 测试可 作 是看编码工 的作一部 分, 应该 程序员由 成 。完 一
般
白以测盒试为主 , 以黑测试盒 。当程序员 感 到码代有 没 缺辅陷时 ,并且符 合司有公化的量量标准 ( 度例 如,当某段 时间 内该 模
为 了完
成有组织 、 重可 的复元单 测试, 可执 的行元单 试测 用 例必须于先件软 与或软 件行并开发 这 些测。试 用例 以各种各 样 的 式方行代码 执以检代验码是 否提供了需求 定 的义能功、 代码是 否按照计设段制 定阶 方的运 案。单元行测 试例用被 视 为发 项开 的目部分一, 并且当项 改目时进元测试单用 例 着随求和需 代码源 一
块
行千代码误 率错 于某小一 阀值 ) 可即 以 止停单 测试 元。然 时 而 大,分软件测部试要需 是的量轻 的 级 重、效实的测 试法方 注;高 风 险系统可能 需要更复杂 单的元测 试 方 法, 例 如路 径 盖分 析覆 ( 白 测试方法盒) 大部 分。项目既没 有 间时 没有也 算去预 到那 达的样单元测级别试 本。将介绍注文实效 的、重适合 大 部 项分目应 用 的单元 测用试 例 设计的执和行。
同被更 新。
3
1 软 开发件 前之始开元测单试用设例计的 处好 . 在 现实软元 件
件之前发单元测 试开用例 许多好处 有。首 先 ,最 显 明的单是元 测 迫试 使 软件发 开从 需求遵规 定当软。 件成 功 地 提供了 元单 试执测行功的能 ,明软 件 完 ; 表成需 由单求 元试 测 格严执行第。个二处是好它迫开发使人 员致 于力解决 特问题 定 , 而不是 个虽能一 满需足求 过 于却 庞大解的决方 。案这会导 致 很用少的码更代直接地去实需现求。 第三 , 妙微 好的是单 元测处 更 试 为发开人确定 员工任 作务 供一提 有个用 的参 。如考果开发 人员对需求 的释解什有 问题么的 ,话 将它 映反到单 元 试代码中测。 3 2元单 测试用例的设 计 .元测单 常被看试编作码步 的附骤属 品在源。码 被开发 、 编代
2测 用试的开发周例期
测试过 程 由 多不许同 的测试活 动组 成在。不 同 组 织测活 试动 的 现实法存方在很 差 大。一些异组织 会非 常正式 地 执行这 些活动 ; 另一些 可能不。会论无何 如 心,活的动按会设计 ( 计测 核 试设例用 决,定何测试 ) 如执 (行、 编译 和执测行 试例用 )比较 ( 和比 较 测试 输结出 与理果论值) 顺执行序。这些活 动 以可认作 被测是
东 南 学大软 件 学院
南 京
2
9 10 0
6
维资普讯 htt://wwp.cwvipqcom
.
■技■ 术I 与佗l i1 1
t译 试 调、 查 后, 元 试测 例用 设计就 始开 , 有了 可 能 提 前 审 也单
)删2 除上锁文件 ,出给提示信并息 消文件删除操作 取 。3) 删 系统文件 除 ,出给示信息并提 消取文件删除操作 。
现在 为此求需设计试用例 测 ,见表 1 至此 , 。需 求所 有的入 (输 正常输入 、 缘输 入 和误 错输 入) 边 都 被已覆盖。 此试用例测 的计 设 以可证 验正在常输 入情况 下 的返 值回和除删能 功的 现实, 以证验对缘数边据 的 支 和对持不 正确 可 输数据人特殊数据和的 理处情 况 。 此时 单元,测 试的过通 准则即 :为成功 地执 行了测试 用例,
(P
x 一 限极程) 编。试用测 例设的应计与设 信计 的复息审工作 相 结合 ,
根 据计信息选取设 试数测据 , 将 增大发 上现 各述 类误错 可的性能。 在定确试 用例 的测时 , 同出给期结 果 望。元单试测用 应 例 可 以取选 以几下测试种 据数: 正 的输常 入 在:测试中 所 的正常数用据 量 的最大 的 。是而且 也是 为关最 的键少。量的 试 数测据 不完全 能覆需盖 求, 我但们要
中从取 出提一些具有 度高表代性输人的数据作 为测 试据 ,数 以减 少测
试 时 间, 证处理结 果。
验
修 了正现 发的错误, 功能和性能与元单设计 的求一致 要
。边缘
据 数 边缘:试数测据是界于正常 输 入数和错误 据输入数 之间 的据一数种据 它。 以可对某针种一 编程 语言、 程编 环境特 或 的定据数库专而 门设 定。 误 的输入 错:显 易而见 , 误 输错就 是入写 编与程输 入规 序范
单 4 测 试 元用例 的执行
测 试动自 化缩 短是 测周期 、试 提测试高 率的有效 效径 。工途 程中用应到的 试 测, 复量重大, 定一用要 自动测试化 。
41 测试 动 化 自 .
不
符的数据而从检测入输 筛选和验 元件证是 否 可处理以输入错
和其误它想不到意的情况 。
自
动 属性 化独立测于属试性, 无 论 单元试测 是自动执 行是 还动手 行都执不响测试影 的有 性 效在 。动自化 试 测无中论你 有多 聪明 么、无 论 你得 多好 做,如 测试果 身本 没完 成什 有那 么 自动么
.
例如
, 某文件 管 系理统中用 户有删 除 文 的件 操 作。需求 描此
如下 。 述 3 2 正1常 流程 . . )选1中 一个 件文
化测试也 不完成什么 能,只 得是结出果 的度快速些 。动自行执 一 测个 试对经济性只和扩展 性产 影 生响一。 自动个 化试 一般 测 手动测 比更试经 。济但是自 动化试在创 测和建维护 上花 费更要多 。 采 用好的 动自测试 方化 法 可得以 到 长效 益期。如果不能对 自动 化 测进行维护试 ,更 全新部 的自动化测套 件将花 试费与动手测试
2
)选择 除”“删 命 令3 )除删文件 3
22 意外流 ..
1 )
删打除开状的文态件, 出提给信息并示取文件删除操消。 作测
试 用
相
或更同多的 费 用。
例
编
号
试 目的测流程和
预
执期结果行
备 注
l
[ 目]的测 试删(除符 合 除条件 删的)文 件 [程] 流 1 )中文件选“h / o e ms / n b ” m o Ji m o .mu cp2 )择“ 选除删 ” 令 命 [目 ]测试删除的上 文锁 件[ 流 程] 1 )选 中文件 h“mmes /_ko fdebp / o / u i lae _ l、m ” cc i 2) 选 “择删除 ”令
成命删功 除
1
/ oems / . o m ) mh/ ui onmb p应文件对存在 c 2 此 )件 文为非 上文锁 件 )3文件此 不于打处状态开
2
h1emms / —okdf be 对 p应 ) / o/ ui a e l—l m cc i ,给 出示信提息 的文存件在 止删终操作除 2) 此文件为锁上文件 3 ) 文
此件不于打开状处
态
3
[ 的 目 测试删] 除 于处开状 态的打件 文 1h m / s/— k o —lb p对 应 ) o/e umia le f, m c c die [ 流 程 ]出给示信提 息文的存在 件 )选1 中件文 “ hm u i/a _pn d e b fp 终 删 止除作 2操 /o e m s /n oe e_ l m ” c. )i此文件非上锁为件 2文) 选择 “除删”命令 3 此文)件 处打于状开态 [目的 试删 ]系除文件 统 测[ 流 程] 1 )中选一系个文统件 2 )择“ 删除选” 命 令 给出示信提息 终 止除删作
4操
图
1示出 一个 试 用 例测的 四 个质量 属 。手 性 动执行 的 测 显
的
。试
用例实用表示 。线一第 次动执行自相同 测的试 用 ,例 扩展的 它 性 不高并而也且是很不济经 在 多。执次行后, 自动化 测试 比手 动 测试经济要许多。 42自动执 单行 元试用测例 . 试 用例测发开期周 的第中 一个活 动一 设测 计用试例 是能
智另 外 ,测试 行执 和较 比测试结果 活 需 要动 重执 复多行次 , 同 时设计 试测例却用 需只执一行次( 除非在 些这动活 有错误而中 重)做。 如例。 如果测发试软件有错现 ,误 么在错那 修误改要后做 的活动 是只执测行 和比试较 结。如果测试 果因为环境问题 失而 ,败 如 适 当测不试据数 的 用应, 那么 重 复性的测 活动试是则 译运行编 和 比 较如果把。试应用 于不 同平 台测, 也么是 两这测 个活试动 那 要需重复执被行 当。软件更 ,变回归 试可 测以 (验下 第 转9页)10
的;
后个两测活 动一试行 执测试 用例和 比较 测 结试 是 文果本 性质的
文 本。 性质 的 活动 需 要大量 劳动 同力 时 是值 得自动 化
维资讯普h tpt/:/wwwc.qvi.pco
m 鲁殂囊术 与t技I 亿t
rtr hiDr p. wLnt i典字表.e dc eTi )a u en ts oD s olS t Vu .re lem (;
一
种
2” ; ,等)。等其 ,中nto是 程中序已 经定 义 的数 好库据接连 Cn Sr
符串 ,一字u 币种 数是据 库典表字 称名 ,2表示编码 数 ,级 编 码为 根空, 表示
全部填 。充
}
t c(x e net r ) a hEc i pr r o o
c{
/异常 理处代码 / }
} 在用户 页 面 只 需 用 D使ci ayre 一e选 项 leV ) io Tr.eGt所 t nau ( 就
5
.束 语 结 随
着. e技 术的占 据场 。市 用 A P
N 技T术做 W et 使N S. E开发b 的业越来越企多 开发 ,的许中多 功能模 都 有可块能 止 使不用 一 ,次 是多次的而使 , 以用 习制作用 ,户 己的控自件 的技术 变 所也 学得 越越来重要 , 本文顺 应 了现代技 术 的发展需 要 ,论 述了如 何 制作 户控用件 及一以相些 关自定义操作, 解 了 用户控件 的用使过 讲 程 这对,大 的广 A N TP的相工关作员具人重有大的指 意义导。 S.E
可
得到 D 以p o n 的某项i的 V u 值。 r o Dw s L t al
e 4户控件的使用过用
通程过上说 明,述用 已经户义定 好了自己的控 件。在 页 面使中
用
户 自定义用控件 具体 的步 如下骤 :
1 在须用使该件控 页面程 的头序部 把用户 定 自控义件 的 命 ) 空名 间引用进来, 针本文对 举例的应用如下语使句: u
g iEP We C; s. n . b U
参考文献 :
[ 季 久]峰主编 .1 专家 门 诊——A P T开发 N答疑 2 问. 0s . 0 E北
京 :民 邮 电出 版 社04 , 人2 0
.[ ]
李 刚, 2 肖建明等著编 S. . E站 点b高 编 级程例范. APN TW 北e 京 :清华大学出版 社0 4. 0 .2 [ ]梅菊 .花S . E 3 AP NT 中 自开发控件 的用. 应算计 与机现 代.化 o2 5o年 第期 :9页7 3 . 一
2
用户把控 拖 件到放页 面要 的地需方, )时同修 改该 控 件的 DI值, 码代 中需行进手 动 明声例如。 如果修 改 的后 件 I控在 值 D Dc为 oayr 一it rTne币种 , i 则需e进行如 声明下 : p
bi P We . u l E. bCU. cin T r ei c nTre r Dic ta yre Di aty e o
币o种 ;
][ 陈萱. 华4 如何 利用 A P NT技 术访 问数据库 .算 机与 S现. E 计 代.化 o年 3 第2 期3:. 页o 2 5
要
注 意的这里是 声的明控名称件和用 控 户的 I件D 一值要定 保一致持, 控即件的 I D 值为须 coD yae r币 。这样种就 当 相 t inr e 一i T 于我手动把们件控它 和的声明 进 了行 关联操作, 得使 们是一它 个 整体 。 过经 上以两 ,步 在码 中代 以和可使用 统 自系带 的控一件样使 用 Dcoay re币 ,种it nr Te一 i比如初 化始 作操 就可 直 以接调 用 我 们定 义的函数 :i cD ay ri 币e .e_种 (l o n,ut币 t iso Tr一e h .t
n tSe 始化C nS “ 一 r
E[作者简 介 ]凤 娟 张,, 东泽菏人 , 3年 出9 ,生02 — 女 山 1 802
2 006 年就 读山于东 师大范学息信学科与程工 院。 获学得 东师山范 大 学学理学学位士, 并 推 荐被为 东山师范 学计大算机 用技术 方应 向 的试免硕士 研生究 现为,山东 师范大 学信 息科学与 工 学程院 读硕士在研究生, 要研主究方 为互向 网联络、 网格源发现。资 刘 方爱 博, 士 教授 , 主,研 要领域究: 并行 理 处 互、 联网络 。
(稿 日 期:o7 —6—1 ) 收 o 202
上接 (第7 页9 )软是否存在件量质倒退一。 回归次试 测只复重 证 运行和较比个两试测 活 动( 可能 会还有编译 活动 )有 重。复 活的 动 通是常 动化测试的最佳自择选 。
有效 性
元测单试用 例是单元 试测执行的手段 ; 有 的单元效测试 例 用设的 计与执 在行 代码对测 试 过 程 更中 是 到事起 功 半 倍效 的果。 文本 点介重 如何绍在件软发开之前就 开单元测试 用例 的始设计 , 即 由需 直求接得出 测试用例 设的计 方法 ,自动 行执 试用 测例、 和 比较 测 试 结果 旨在讨,论 在软件 工 领程域如何 行简单进 速 快单
:的 后 、次 多=/
1手
>
.
.
元
试测, 以 取经 获收益济。
参考文
:献
;/
[ ] fEeDe s fncv wor t n s5 pc w y c 1 l d u .t Etees fa t :g 0sie a so rii it ee i fit
i rv o r t s g Ui ..C r o ae ad Gvm e tmSe , pm eo y u et .n S po r n t o ne a s l 2 0 .2: 40 215 5 .—0
j
试 f云I 涮
、 ,
示范
图 1性自动 化 测试 与 手 动 测 试比 较
[
M r e rsoo h hmr.S afe s A tT i . 2a]a Fkw t. rDty aG e oa t ret u mtn w o o A
CM r s ,19 P e 9 4:1 4s — 1 8 36.
有的单元测所试动都活 以手工可 行进, 因为 人为 试测已 执经 行多年 了许在。某程种序上所 有的测试 动活都 从 使可 工用具
上获 益 是 我。 认们 为在 后 期 测试 活 动 中采 用 自动 化 可 以 达到 收 益 但 大最 化 。
[ ]
Aiar ok u3 l t bcm.WrgiE eet sTC s su aasd s i Cni f c v
e at.H em nn ti Te h
ln y2.05 :31—3.3 cog o
0
(稿 日 期0 7: —一64 2收0 0 )o
5 结束 语