浅谈应用软件中自动化测试的实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算 机光 盘软件 与应 用
21 0 0年 第 1 3期 C m u e DS f w r n p lc to s o p t rC o ta ea dA p a i n i 工 程 技 术
浅谈应用软件 中 自动化测试 的实现
陈 思
( 北京交通 大学,北 京
摘
10 4 0 0 4)
三 、软件 自动 化测 试技 术选 择 软件测试 , 别是测试 自动化技 术属于 当前 国际软件 界最有争 特 议 ,亟待 发展的技术 。所谓 自动化测 试就是希望 能够通过 自动化测 试 工具或其他 手段 ,按照测试 工程师 的预定计划进 行 自动 的测试 , 目的是减轻手 工测试 的劳动 量,从而达 到提高软件 质量的 目的。 ( )测 试工 具 。在进 行测 试活 动 时,采用 合适 的测 试方 法 一 以及相应 的 自动化 测试 工具 是至 关重 要的 。常 用 的测 试工 具一 般 包 括三种 :静 态分 析工 具 、动 态 分析工 具 、综合 测试评 估工 具 。 静态 分析 工具 又包 括静 态确 认工 具 、符号 执行 工具 、程序 验 证工具 ;动态 分析 工具 包括 覆盖 监视 工具 、驱 动工 具 、测 试数 据 产 生工具 、符 号查 错工 具 ;综合 测试 评估 工具 是把静 态分 析 、动 态分 析 、测试 评估 等综 合在 一起 ,测 试人 员可用 命令 来控 制系 统 执行 不 同的测试 工 具 ,各 模块 之 间的通信 通过 数据库 来 实现 。 ( )测 试脚 本 。在测 试过 程 中,测 试脚 本起着 关键 作用 。 二 每种 脚本 技术 在支 持脚 本完 成测 试事 例的 时 间和 开销 都有 自己的 长 处和短 处 。对于 软件 测试 来说 ,脚 本所 支持 的实现 测试 事例 体 系 的整体 考虑 是至 关重要 的 。 测试 脚本 主要 包括 线性脚 本 技术 、结构 化脚 本技 术 、共享脚 本技 术 、数据 驱动脚 本 技术 、关 键字 驱动脚 本技 术 。线性脚 本 技 术 是录制 手工 执行 的测试 事 例得 到的脚 本 ,这种 脚本 包括 所有 的 击键 、功 能键 、箭 头控 制测 试软 件的 控制键 以及 输入 数据 的数 字 键 ;结构 化脚 本技 术类 似于 结构 化程序 设 计 ,结构化 脚本 含有控 制脚 本执 行的 指令 ,这 种指令 或 为控 制结构 或 为调用 结构 ;共 享 脚本 是指 脚本 被多 个测试 事例 使 用。这 种技 术 的思路 是产 生一个 执行 某种 任务 的脚本 ,而不 同的 测试要 重 复这个 任务 ,当 要执行 这个 任务 时只 需在每 个测 试事 例 的适 当地方 调用 这个 脚本 :数据 驱动 脚本 技术 将测 试输 入存储 在 独立 的数据 文件 中,而不 是存储 在脚 本 中,脚 本中 只存放 控制 信 息。执 行测 试 时 ,从 文件 中而 不 是直 接从 脚本 中读取 测试 输入 。这种方 法 的最大 好处 是同 一个脚 本可 以运 行不 同的测 试 ,另 一个优 点是 数据 文件 的格 式对 于测试 者而 言易 于处理 : 关键字 驱动 技 术是将 数据 文件 变为测 试用 例 的 描述 ,用 一系列 关键 字指 定要 执行 的任 务 ,这些 关键 字存在 于测 试文 件 中。解释 这 些关键 字则 需 要另外 的支 持脚 本 。控制脚 本读 取测 试文件 中 的关键 字 ,并通 过 关键字 调用 相关 的支 持脚本 ,这 样 ,测 试软件 或特 殊 应用对 控 制脚本 的约 束将 大大减 小 。 总而 言之 ,应用 软件 中 自动化 测试 的实 现 ,既要应 对 自动化 测 试过 程 中暴 露 出 的诸多 不足 ,解决 自 化 检测过 早衰 退 以及消 动 亡 的 问题 ,并且选 择 适 当的 自动 化技 术选 择 工具 ,促使 应用 软件 自动化 测试技 术 不断地 完善 。 参 考文 献 : 『1 1刘存. 代检 测技 术『 . 现 M1北京: 机械 工业 出版社 , 0 , 2 59 0
一
、
就要 求原 型开发 人员 、需求 人员 的大 力支持 ,需 求文 档尽 量精确 详细 ,尽量 避免变 更 ,软件 开发过 程中 , 时对 原型进 行维 护等 。 及 (I 1 )时刻 考虑 到维护 。安 排专 门的 自动化 脚本 维护 工程 师 在特 定的 时间对脚 本进 行及 时维 护 ,而不是 在发 现测 试人 量失 效
的情 况 再 T= L 羊补 牢 。 ( )不要集 权 。 自动 化测 试策略 、 自动化 测试 文档 、资料 三 等不 要集 中在一个 人手 中 ,要有特 定 的机器 存放 , 自动化测 试进 行过 程中 积累 的各种经 验和 教训要 及 时付诸 文档 ,或 者及 时沟通 与 培 训 ( )规范 。有严 格的 自动 化脚本 编写 规范 、每个 里程 碑 的 四 自动化 测试 目标 明确 、 每个里 程碑 的测 试策略 明确 、 脚本 编 制人 、 编制 同朗 、测 试功 能点 、期 望结 果等要清 晰 可辨 ,这些 都是 为 了 脚本 的易维护 性而考 虑 的。
Ch en Si
源自文库
( e igJ oo gU i ri ,e i 1 0 4 , hn ) B i i tn n e s yB i g 0 4C ia j n a v t j n 0
Ab t a tThi a e xit i t d yS utm ae s fwa e e t g e l d tcin f te p no n n of d ga to n sr c: s p p r e ss n o a ’ a o td o t r tsi ary ee to o h he me o e rdain a d n
f】 念 . 件 性 能测试 过 程 详 解与 案例 剖析 I 北 京: 大 学 出 2 段 软 M】 清华
版 社 ,0 61 2 0 ,0
I】 3简玲./ B S系统性 能 测试 的设计 与 实现『. 机 工程, 0 , I计算 1 2 98 0
dia p a a e o ic so o e p o e t e r a o o t e ie a o t r a u e ,n e c i e o o wa e t s u o to s p e r nc f a d s us i n t x l r h e s nsf r i d m s ,nd c un e me s r sa d t ho c f s f s h t r e ta t ma i n t c n o y r s a c i r e c i v e t ut ma i n s fwa e i t t s e f s a e . e h ol g e e r h, o d rt a h e e t s o to o t r o”e tt a tl n ” n o a n h Ke ywo d Ap i a i o wa e Au o t d t si ; h e e r s: pl t c on s f t r ; t ma e e t ng Ac i v
随 着信 息社会 的飞 速发 展 ,使软件 产 品应用 到社 会的各 个领 域 ,软 件产 品的质 量成 为人们 关 心的焦 点 ,软件 测试 是保证 软件 质量最 行之有 效的 方法 。 件测试 一股 分为 手工测 试和 自动测 试 。 软 但是随着 软件 规模 的不 断扩大 , 手工测试 效 率低 、耗 时耗力 的缺 点也不 断的显 露 。而 自动 化测 试 则可 以完 成 一些 重复性 测试 ,从 而 降低 了人为 因素对 测试 的影 响 ,排 除 了测试 过程 中 的随机 性 以 及盲 目忭 ,降 低 了冗 余 ,减少 了遗漏 。而 现今 软件 自动 化测试 还 存在 符不 少 的 问题 ,给 软件测 试 方面 的测 试 带来 了不少 的不 便 , 【 ,加 强应用 软件 自动 化测试 的完 善就 迫在眉 睫 。 而 导致 自动化 测试 的退 化和过 早消 亡的原 因 ( )未提 前通知 的软件变更 。当我们 已经积累 了大 量的 自 一 动 化 脚本,并且脚 本中存在 大量 的被 引用测试包 ,当发生 的变更 隐藏 在 某个或某些个 被引用测试 包的 时候 , 测试人 员并没有得 到应得 的 提 前通 知 ,而是在 发现 自动化 测 试失效 的 时候才 发现 问题 的严 重 性 ,随之 带来的 失效诊 断 、问题修复 、脚本维护 上的 时间打断 了我 们 目前的测试进 程,为 了不 过多影 响软件发布 ,项 目组 不得不采取 手 动替代 的方案 让大家继续 测试 , 自动 化测试被 迫搁置一边 。 ( )软件重构 。当产 品进入市场 ,由于性 能或其他 问题 并不 二 被 客户看好的 时候,我们会考 虑到软 件的大规模 重构 ,由此 带来 的 未 知的 界面和 业务 变更会 使得 我们 前期 积 累的大批 量 自动 化测试 脚 本无法复用 , 了一 些文档 、 除 方法 、 略, 他都成 了明 日黄花 , 策 其 同时,开发语言 、开发工具 、平 台的变 更 同样会 导致这类 问题。 ( ) 三 关键 自动化测试人 员的离 职。关键 自 化测试人 员 的离 动 职 :当一些 测试 策略 、文档 、规范一 直存 放于一 个或些个 自动化测 试人 员的脑海 、未被公布 的测 试机 的某个 路径下 的时候 , 关键 自动 化测 试人员的离职 也会导致 自动化测试 的停滞不 前、 日益退 化 二 、如何应 对与避 免 自动化 测试 的退化 和过早 消亡 ( )软件 架构 与设 计阶段 就应 当考 虑到 自动化 测试 。软 件 一 测试 并不 仅仅 是软件 测试 工程师 自己的事情 ,需要架 构师 、需 求 人 员、系 统工程 『 、开发人 员 的协助 , 比如 ,在 软件 被开 发 出来 J 巾 之前 就 町以在软 件原 型上进 行 自动化 测试设 计 、脚本 编制 等 ,这
中 图分类 号 :T M1 2 P 5 _
文 献标识 码 :A
文 章编 号 :10~ 59( 00 3 09 — 1 07 99 21 )1— 0 3 0
Aut m a e si m pl m e a i n Ap i a i n S fwa e o t d Te tng I e nt to i n pl to o t r c
要 :本文就现 今软 件测 试 中存 在的 自 化检测 过 早退化及 消 亡的现 象展 开讨 论 ,探 讨其 消亡原 因 以及 对 策,并就 动
软件 自动化 测试技 术的 选择进 行研 究 ,从 而 实现应 用软件 自动 化测 试驶入 “ 试 的快车 道” 测 。 关键 词 :应用软件 ; 自动化测 试 ;实现
21 0 0年 第 1 3期 C m u e DS f w r n p lc to s o p t rC o ta ea dA p a i n i 工 程 技 术
浅谈应用软件 中 自动化测试 的实现
陈 思
( 北京交通 大学,北 京
摘
10 4 0 0 4)
三 、软件 自动 化测 试技 术选 择 软件测试 , 别是测试 自动化技 术属于 当前 国际软件 界最有争 特 议 ,亟待 发展的技术 。所谓 自动化测 试就是希望 能够通过 自动化测 试 工具或其他 手段 ,按照测试 工程师 的预定计划进 行 自动 的测试 , 目的是减轻手 工测试 的劳动 量,从而达 到提高软件 质量的 目的。 ( )测 试工 具 。在进 行测 试活 动 时,采用 合适 的测 试方 法 一 以及相应 的 自动化 测试 工具 是至 关重 要的 。常 用 的测 试工 具一 般 包 括三种 :静 态分 析工 具 、动 态 分析工 具 、综合 测试评 估工 具 。 静态 分析 工具 又包 括静 态确 认工 具 、符号 执行 工具 、程序 验 证工具 ;动态 分析 工具 包括 覆盖 监视 工具 、驱 动工 具 、测 试数 据 产 生工具 、符 号查 错工 具 ;综合 测试 评估 工具 是把静 态分 析 、动 态分 析 、测试 评估 等综 合在 一起 ,测 试人 员可用 命令 来控 制系 统 执行 不 同的测试 工 具 ,各 模块 之 间的通信 通过 数据库 来 实现 。 ( )测 试脚 本 。在测 试过 程 中,测 试脚 本起着 关键 作用 。 二 每种 脚本 技术 在支 持脚 本完 成测 试事 例的 时 间和 开销 都有 自己的 长 处和短 处 。对于 软件 测试 来说 ,脚 本所 支持 的实现 测试 事例 体 系 的整体 考虑 是至 关重要 的 。 测试 脚本 主要 包括 线性脚 本 技术 、结构 化脚 本技 术 、共享脚 本技 术 、数据 驱动脚 本 技术 、关 键字 驱动脚 本技 术 。线性脚 本 技 术 是录制 手工 执行 的测试 事 例得 到的脚 本 ,这种 脚本 包括 所有 的 击键 、功 能键 、箭 头控 制测 试软 件的 控制键 以及 输入 数据 的数 字 键 ;结构 化脚 本技 术类 似于 结构 化程序 设 计 ,结构化 脚本 含有控 制脚 本执 行的 指令 ,这 种指令 或 为控 制结构 或 为调用 结构 ;共 享 脚本 是指 脚本 被多 个测试 事例 使 用。这 种技 术 的思路 是产 生一个 执行 某种 任务 的脚本 ,而不 同的 测试要 重 复这个 任务 ,当 要执行 这个 任务 时只 需在每 个测 试事 例 的适 当地方 调用 这个 脚本 :数据 驱动 脚本 技术 将测 试输 入存储 在 独立 的数据 文件 中,而不 是存储 在脚 本 中,脚 本中 只存放 控制 信 息。执 行测 试 时 ,从 文件 中而 不 是直 接从 脚本 中读取 测试 输入 。这种方 法 的最大 好处 是同 一个脚 本可 以运 行不 同的测 试 ,另 一个优 点是 数据 文件 的格 式对 于测试 者而 言易 于处理 : 关键字 驱动 技 术是将 数据 文件 变为测 试用 例 的 描述 ,用 一系列 关键 字指 定要 执行 的任 务 ,这些 关键 字存在 于测 试文 件 中。解释 这 些关键 字则 需 要另外 的支 持脚 本 。控制脚 本读 取测 试文件 中 的关键 字 ,并通 过 关键字 调用 相关 的支 持脚本 ,这 样 ,测 试软件 或特 殊 应用对 控 制脚本 的约 束将 大大减 小 。 总而 言之 ,应用 软件 中 自动化 测试 的实 现 ,既要应 对 自动化 测 试过 程 中暴 露 出 的诸多 不足 ,解决 自 化 检测过 早衰 退 以及消 动 亡 的 问题 ,并且选 择 适 当的 自动 化技 术选 择 工具 ,促使 应用 软件 自动化 测试技 术 不断地 完善 。 参 考文 献 : 『1 1刘存. 代检 测技 术『 . 现 M1北京: 机械 工业 出版社 , 0 , 2 59 0
一
、
就要 求原 型开发 人员 、需求 人员 的大 力支持 ,需 求文 档尽 量精确 详细 ,尽量 避免变 更 ,软件 开发过 程中 , 时对 原型进 行维 护等 。 及 (I 1 )时刻 考虑 到维护 。安 排专 门的 自动化 脚本 维护 工程 师 在特 定的 时间对脚 本进 行及 时维 护 ,而不是 在发 现测 试人 量失 效
的情 况 再 T= L 羊补 牢 。 ( )不要集 权 。 自动 化测 试策略 、 自动化 测试 文档 、资料 三 等不 要集 中在一个 人手 中 ,要有特 定 的机器 存放 , 自动化测 试进 行过 程中 积累 的各种经 验和 教训要 及 时付诸 文档 ,或 者及 时沟通 与 培 训 ( )规范 。有严 格的 自动 化脚本 编写 规范 、每个 里程 碑 的 四 自动化 测试 目标 明确 、 每个里 程碑 的测 试策略 明确 、 脚本 编 制人 、 编制 同朗 、测 试功 能点 、期 望结 果等要清 晰 可辨 ,这些 都是 为 了 脚本 的易维护 性而考 虑 的。
Ch en Si
源自文库
( e igJ oo gU i ri ,e i 1 0 4 , hn ) B i i tn n e s yB i g 0 4C ia j n a v t j n 0
Ab t a tThi a e xit i t d yS utm ae s fwa e e t g e l d tcin f te p no n n of d ga to n sr c: s p p r e ss n o a ’ a o td o t r tsi ary ee to o h he me o e rdain a d n
f】 念 . 件 性 能测试 过 程 详 解与 案例 剖析 I 北 京: 大 学 出 2 段 软 M】 清华
版 社 ,0 61 2 0 ,0
I】 3简玲./ B S系统性 能 测试 的设计 与 实现『. 机 工程, 0 , I计算 1 2 98 0
dia p a a e o ic so o e p o e t e r a o o t e ie a o t r a u e ,n e c i e o o wa e t s u o to s p e r nc f a d s us i n t x l r h e s nsf r i d m s ,nd c un e me s r sa d t ho c f s f s h t r e ta t ma i n t c n o y r s a c i r e c i v e t ut ma i n s fwa e i t t s e f s a e . e h ol g e e r h, o d rt a h e e t s o to o t r o”e tt a tl n ” n o a n h Ke ywo d Ap i a i o wa e Au o t d t si ; h e e r s: pl t c on s f t r ; t ma e e t ng Ac i v
随 着信 息社会 的飞 速发 展 ,使软件 产 品应用 到社 会的各 个领 域 ,软 件产 品的质 量成 为人们 关 心的焦 点 ,软件 测试 是保证 软件 质量最 行之有 效的 方法 。 件测试 一股 分为 手工测 试和 自动测 试 。 软 但是随着 软件 规模 的不 断扩大 , 手工测试 效 率低 、耗 时耗力 的缺 点也不 断的显 露 。而 自动 化测 试 则可 以完 成 一些 重复性 测试 ,从 而 降低 了人为 因素对 测试 的影 响 ,排 除 了测试 过程 中 的随机 性 以 及盲 目忭 ,降 低 了冗 余 ,减少 了遗漏 。而 现今 软件 自动 化测试 还 存在 符不 少 的 问题 ,给 软件测 试 方面 的测 试 带来 了不少 的不 便 , 【 ,加 强应用 软件 自动 化测试 的完 善就 迫在眉 睫 。 而 导致 自动化 测试 的退 化和过 早消 亡的原 因 ( )未提 前通知 的软件变更 。当我们 已经积累 了大 量的 自 一 动 化 脚本,并且脚 本中存在 大量 的被 引用测试包 ,当发生 的变更 隐藏 在 某个或某些个 被引用测试 包的 时候 , 测试人 员并没有得 到应得 的 提 前通 知 ,而是在 发现 自动化 测 试失效 的 时候才 发现 问题 的严 重 性 ,随之 带来的 失效诊 断 、问题修复 、脚本维护 上的 时间打断 了我 们 目前的测试进 程,为 了不 过多影 响软件发布 ,项 目组 不得不采取 手 动替代 的方案 让大家继续 测试 , 自动 化测试被 迫搁置一边 。 ( )软件重构 。当产 品进入市场 ,由于性 能或其他 问题 并不 二 被 客户看好的 时候,我们会考 虑到软 件的大规模 重构 ,由此 带来 的 未 知的 界面和 业务 变更会 使得 我们 前期 积 累的大批 量 自动 化测试 脚 本无法复用 , 了一 些文档 、 除 方法 、 略, 他都成 了明 日黄花 , 策 其 同时,开发语言 、开发工具 、平 台的变 更 同样会 导致这类 问题。 ( ) 三 关键 自动化测试人 员的离 职。关键 自 化测试人 员 的离 动 职 :当一些 测试 策略 、文档 、规范一 直存 放于一 个或些个 自动化测 试人 员的脑海 、未被公布 的测 试机 的某个 路径下 的时候 , 关键 自动 化测 试人员的离职 也会导致 自动化测试 的停滞不 前、 日益退 化 二 、如何应 对与避 免 自动化 测试 的退化 和过早 消亡 ( )软件 架构 与设 计阶段 就应 当考 虑到 自动化 测试 。软 件 一 测试 并不 仅仅 是软件 测试 工程师 自己的事情 ,需要架 构师 、需 求 人 员、系 统工程 『 、开发人 员 的协助 , 比如 ,在 软件 被开 发 出来 J 巾 之前 就 町以在软 件原 型上进 行 自动化 测试设 计 、脚本 编制 等 ,这
中 图分类 号 :T M1 2 P 5 _
文 献标识 码 :A
文 章编 号 :10~ 59( 00 3 09 — 1 07 99 21 )1— 0 3 0
Aut m a e si m pl m e a i n Ap i a i n S fwa e o t d Te tng I e nt to i n pl to o t r c
要 :本文就现 今软 件测 试 中存 在的 自 化检测 过 早退化及 消 亡的现 象展 开讨 论 ,探 讨其 消亡原 因 以及 对 策,并就 动
软件 自动化 测试技 术的 选择进 行研 究 ,从 而 实现应 用软件 自动 化测 试驶入 “ 试 的快车 道” 测 。 关键 词 :应用软件 ; 自动化测 试 ;实现