16757面向对象的软件测试内容摘要:

( 2)从动态模型导出 测试用例 设计的测试用例应达到完全的状态覆盖 ,即操作序列应导致 account类的变迁穿越所有允许的状态 : 测试用例 s1: open•setupAccent •deposit(initial) • withdraw(final) •close(最小测试序列 ) 向最小序列中加入附加的测试序列 ,例如 : 测试用例 s2:open•setupAccent •deposit(initial) • deposit •balance •credit • withdraw(final) •close 测试用例 s3:open•setupAccent •deposit(initial) • deposit •withdraw •actInfo •withdraw(final) •close …… 导出更多的测试用例以保证该类的所有行为都被适当地测试 OO系统 的确认测试 在确认和系统测试层次 ,类连接的细节消失 . •和传统的确认测试一样 ,OO软件的确认关注 用户可见的动作和用户可识别的系统输出 . •为辅助确认测试的导出 , 应利用分析模型中的 用例图提供的场景来提高交互需求中发现错误 的可能性 167。 自动测试和测试工具 自动化和工具的好处 •速度 •效率 •准确度和精确度 •坚持不懈 测试工具 •静态分析工具 •动态测试工具 •测试数据自动生成工具 •集成化测试环境 •非侵入式工具 •侵入式工具 测试工作台 (下游 CASE工具 ) 源代码 被测试 的程序 测试数据 规约 预测器 测试管理器 测试预估 模拟器 文件比较器 报告生成器 动态分析器 测试结果 测试结 果报告 执行报告 测试数据生成器 查看器和监视器 1计算机 软件正在测试 2计算机 软件正在测试 3计算机 查看测试工具 通信线路 监听线路 通信分析器可以查看两个系统之间传输的原始数据 ( 非侵入 ) (输入测试用例) (确认产生的通信数据) (检查相应结果) 驱动程序 普通系统配置 测试驱动配置 (在此计算机上编写 简单的程序自动产 生相应的击键和鼠 标移动来测试软件) 键盘 电缆 鼠标 电缆 一台计算机可以作为驱动程序 测试工具取代被测试系统的键盘和鼠标 从外部计算机发送击键鼠标的移动信息 , 被测试软件不被侵入 , 如果测试软件时在同一系统中执行驱动程序 , 它就会侵入系统 , 这种测试情况可能无法接受 管道和仿真器 普通系统配置 测试存根配置 一台计算机可以充当管道 ,代替打印机 , 能够对测试输出进行更有效的分析 运行管道软件来代替打印机,对打印数据进行阅读和解释 其它工具类型 : •施压工具和增负工具 •干扰发生器和噪声发生器 •分析工具 测试工具产品实例 • JUnit: Java单元测试工具 • CppUnit: C++单元测试工具 • Dunit: Delphi的终极测试工具 测试测试自动化 另一类软件测试工具 ,可以自动执行测试用例、查找软件缺陷、分析并记录测试结果。 随机测试 :猴子测试员 只要不停电 ,偶尔能够得到香蕉 ,猴子就会永远测试下去 一个想法 : “ 如果让 一百万只猴 子在一百万 只键盘上敲 一百万年 , 它们最终就 可能写出莎 士比亚话剧 等巨著 ” . 猴子的进步 笨猴子 :一点也不懂测试软件 , 只是随机地单击或按键 , 直至发生两件事情之一 :完成循环或系统崩溃 . 不太笨的猴子 : 具有崩溃辨认能力 , 能够重新启动系统开始测试 聪明猴子 :能够从它的笨兄弟那里获得随机测试的结果 , 增加了对环境的认知能力 , 有目的地敲键盘 , 不仅限于查找崩溃缺陷 ,同时查看数据 ,检查 操作结果 ,找出与预期结果的差别 自动化测试工具实例 美国国际软件自动化( ISA)公司 的 Panorama for C/C++, j、 Java和 VB产品,自动化功能包括: •软件结构分析与逻辑框图的自动化 •软件静态分析 •数据分析 •复杂性分析与分析结果列表的自动化 •软件质量分析 •动态性能分析 •软件代码分支或条件覆盖率分析 •软件测试用例有效性。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。