软件自动化测试工具概述
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20
➢ 强大的代码跟踪分析:提供400K的追踪缓冲空间 ,能追踪150万行的源代码。可以设置触发器来追 踪自己感兴趣的事件,可以显示运行过程中程序 运行的实际情况,帮助查找程序的BUG所在。
21
CodeTEST对软件分析测试功能的实现原理
22
P A G E 43
THANKS
7
3、如何控制
①自行开发的测试工具待成熟才可投入使用 ②采购产品的选择:优秀的、名牌的 ③使用前充分检测
8
白盒测试工具-静态测试工具
◼ 代码审查 ◼ 一致性检查 ◼ 错误检查 ◼ 接口分析 ◼ 输入输出规格说明分析检查 ◼ 数据流分析 ◼ 类型分析 ◼ 单元分析 ◼ 复杂度分析
9
白盒测试工具-动态测试工具
16
TestChecker与覆盖测试
◼ TestChecker & TcGateWay
TcGateWay 接收插装后程序执行时传送的路径信息
TestChecker 统计覆盖率并显示覆盖路径
17
2.AMC CODETEST-嵌入式软件在线测试与分析工具
◆硬件辅助软件的测试与分析工具 ; ◆吸取了纯软件的测试工具采用的软件打点技术,并对 这种技术进行了改善。 ◆纯软件测试在被测代码中插入一些函数(插桩函数), 用这些函数来完成数据的生成,并上送数据到目标系统 的共享内存中。同时在目标系统中运行一个Monitor,将 处理后的数据通过目标机的网口或串口上送到主机平台, 这些代码会对系统的运行效率有很大的影响(超过50%)。 CodeTEST插入的是一条赋值语句, 它在汇编级也是一条 语句,所以它执行的时间非常短,同时避免了被其它的 中断所中断,所以它对目标系统的影响非常小(1%15%);
❖使用所选规则对源代码一一进行验证,指出所有不符
合编程规则的代码,并对应所违反的规则。
14
2.TestChecker——动态测试模块
对代码进行测试覆盖率分析。
• 提供对指令块(IB)、判定路径(DDP)和调用路径 (PPP)覆盖测试。此外对安全-关键软件还提供了 MC/DC (条件组合覆盖)的覆盖测试。
◼ 效率:自动化测试工具能够将测试员从繁 复的测试用例执行过程解放出来,使其从 事更有意义的工作(例如修订测试计划、 增加测试用例等);
3
工具和自动化测试的优势(续)
◼ 准确度和精确度:测试员在尝试几百个测 试用例后,难免注意力分散。测试工具则 可以保持前后一致地执行每一次测试;
◼ 坚持不懈:自动化测试工具永远不会因为 疲惫而半途而废。
11
3 主流自动化软件测试工具简介
1.Telelogic Logiscope简介
12
Logiscope简介
面向源代码进行工作的,贯穿于软件开发、代码 评审、单元/集成测试、系统测试、以及软件维护阶 段,重点是帮助代码评审和动态覆盖测试;
Logiscope支持对嵌入式系统的覆盖率分析。首先 是对应用源代码的插装,然后是实时地将测试信息 通过网线/串口传到宿主机(Host)上,并在线显示 。 Logiscope支持VxWorks、pSOS、VRTX等实时操作 系统。
软件自动化测试工具概述
技术创新,变革未来
自动化测试的定义
◼ 各种测试活动的管理与实施,包括测试脚 本的开发与执行,均使用一种自动化测试 工具来验证实际的测试结果是否满足测试 的需求。
2
工具和自动化测试的优势
◼ 速度:以手工方式每5秒执行一个Windows 计算器的测试用例(用例总数可能为数千 个),试想总的执行时间为多长?
19
➢ 强大的覆盖率分析:可以在系统真实的环境下, 从单元级、集成级、系统级以及产品终端现场阶 段进行嵌入式软件的分析与测试。帮助测试工程 师掌握当前的测试覆盖率数据,指导测试用例的 编写。
➢强大的内存分析:可以动态追踪内存分配,报告内 存出错和相应的原始数据。不仅可以在程序运行时报 告为每条语句分如:CodeTEST可以捕捉“释 放空指针(freeing a null pointer)”一样常见的 程序错误,报告发生错误的函数和代码行,尽早发现 动态内存泄漏,而无需到系统崩溃时。
◼ 功能确认与接口测试 ◼ 覆盖分析 ◼ 性能测试 ◼ 内存分析
10
黑盒测试工具
◼ 功能测试工具
检测程序是否达到预期的功能并正常运行。
◼ 性能测试工具
确定软件和系统的性能
◼ 常用的黑盒测试工具有 Rational公司的 TeamTest、Compuware公司的QACenter(QARun、 QALoad、Eco Tools、Eco Scope)
13
1.RuleChecker—自定义的代码规则走查系统
对代码进行编程风格检测。
❖预定义了50 个的编程规则(关于结构化编程、 面向对象编程):
名称约定(如:局部变量用小写等);
表示约定(如:每行一条指令);
限制(如:不能用GOTO 语句,不能修改循 环体中的计数器等)。
❖用户可以规则中选择,也可以用脚本和编程语 言定义新的规则。
• 第一个提供MC/DC(Modified Condition/Decision Coverage)测试的工具。
• 产生每个测试的测试覆盖信息和累计信息。用直方图显 示覆盖比率,并根据测试运行情况实时在线更改。随时 显示新的测试所反映的测试覆盖情况。
15
TestChecker覆盖测试过程(交叉开发环境)
18
➢ 从纯硬件的测试工具那里吸取了从总线捕获数据 的技术并且对它进行了改善,CodeTEST不再是采 样的方式,它是通过监视系统总线,当程序运行 到插入的特殊的点的时候才会主动的到数据总线 上把数据捕获回来,借此,在同样的处理能力下 ,CodeTEST可以做到精确的数据观察;
➢强大的性能分析:能同时对32000个函数和1000 个任务进行性能分析,可以精确的得出每个函数 或任务执行的最大时间、最小时间和平均时间, 精确度达到50ns;能够精确的显示各函数或任务 之间的调用情况,帮助发现系统瓶颈、优化系统 和提升系统性能。
4
测试工具概述
在传统的制造业中计量设备、化验设备在生产过程中对质 量控制是至关重要的。如果千分尺、天平、实验炉的温度计不 准,它所引起的后果可想而知。因此必须规定对这些设备的控 制、校准和维修的办法,并建立文件化程序。
对于软件企业呢,这里应该指的是软件测试工具的控制。
5
1、什么是软件测试工具?
——软件测试工具是一种测试软件,测试人员借 助它来提高软件测试工作的效率。
——目前国内软件企业采用软件测试工具还不够 普遍。
6
2、软件测试工具的分类
①按工作方式分:
——静态分析工具 ——动态测试工具
②按工具功能分:
——测试计划工具:支持制订测试计划 ——测试设计与开发工具:支持测试数据生成,测试问题的
捕捉与重演 ——测试执行工具:支持特定的测试方法、支持回归测试 ——测试评估工具:报告测试覆盖情况 ——测试管理工具:协助进行测试的组织工作 ——其它辅助工具:如数据比较、模拟运行
➢ 强大的代码跟踪分析:提供400K的追踪缓冲空间 ,能追踪150万行的源代码。可以设置触发器来追 踪自己感兴趣的事件,可以显示运行过程中程序 运行的实际情况,帮助查找程序的BUG所在。
21
CodeTEST对软件分析测试功能的实现原理
22
P A G E 43
THANKS
7
3、如何控制
①自行开发的测试工具待成熟才可投入使用 ②采购产品的选择:优秀的、名牌的 ③使用前充分检测
8
白盒测试工具-静态测试工具
◼ 代码审查 ◼ 一致性检查 ◼ 错误检查 ◼ 接口分析 ◼ 输入输出规格说明分析检查 ◼ 数据流分析 ◼ 类型分析 ◼ 单元分析 ◼ 复杂度分析
9
白盒测试工具-动态测试工具
16
TestChecker与覆盖测试
◼ TestChecker & TcGateWay
TcGateWay 接收插装后程序执行时传送的路径信息
TestChecker 统计覆盖率并显示覆盖路径
17
2.AMC CODETEST-嵌入式软件在线测试与分析工具
◆硬件辅助软件的测试与分析工具 ; ◆吸取了纯软件的测试工具采用的软件打点技术,并对 这种技术进行了改善。 ◆纯软件测试在被测代码中插入一些函数(插桩函数), 用这些函数来完成数据的生成,并上送数据到目标系统 的共享内存中。同时在目标系统中运行一个Monitor,将 处理后的数据通过目标机的网口或串口上送到主机平台, 这些代码会对系统的运行效率有很大的影响(超过50%)。 CodeTEST插入的是一条赋值语句, 它在汇编级也是一条 语句,所以它执行的时间非常短,同时避免了被其它的 中断所中断,所以它对目标系统的影响非常小(1%15%);
❖使用所选规则对源代码一一进行验证,指出所有不符
合编程规则的代码,并对应所违反的规则。
14
2.TestChecker——动态测试模块
对代码进行测试覆盖率分析。
• 提供对指令块(IB)、判定路径(DDP)和调用路径 (PPP)覆盖测试。此外对安全-关键软件还提供了 MC/DC (条件组合覆盖)的覆盖测试。
◼ 效率:自动化测试工具能够将测试员从繁 复的测试用例执行过程解放出来,使其从 事更有意义的工作(例如修订测试计划、 增加测试用例等);
3
工具和自动化测试的优势(续)
◼ 准确度和精确度:测试员在尝试几百个测 试用例后,难免注意力分散。测试工具则 可以保持前后一致地执行每一次测试;
◼ 坚持不懈:自动化测试工具永远不会因为 疲惫而半途而废。
11
3 主流自动化软件测试工具简介
1.Telelogic Logiscope简介
12
Logiscope简介
面向源代码进行工作的,贯穿于软件开发、代码 评审、单元/集成测试、系统测试、以及软件维护阶 段,重点是帮助代码评审和动态覆盖测试;
Logiscope支持对嵌入式系统的覆盖率分析。首先 是对应用源代码的插装,然后是实时地将测试信息 通过网线/串口传到宿主机(Host)上,并在线显示 。 Logiscope支持VxWorks、pSOS、VRTX等实时操作 系统。
软件自动化测试工具概述
技术创新,变革未来
自动化测试的定义
◼ 各种测试活动的管理与实施,包括测试脚 本的开发与执行,均使用一种自动化测试 工具来验证实际的测试结果是否满足测试 的需求。
2
工具和自动化测试的优势
◼ 速度:以手工方式每5秒执行一个Windows 计算器的测试用例(用例总数可能为数千 个),试想总的执行时间为多长?
19
➢ 强大的覆盖率分析:可以在系统真实的环境下, 从单元级、集成级、系统级以及产品终端现场阶 段进行嵌入式软件的分析与测试。帮助测试工程 师掌握当前的测试覆盖率数据,指导测试用例的 编写。
➢强大的内存分析:可以动态追踪内存分配,报告内 存出错和相应的原始数据。不仅可以在程序运行时报 告为每条语句分如:CodeTEST可以捕捉“释 放空指针(freeing a null pointer)”一样常见的 程序错误,报告发生错误的函数和代码行,尽早发现 动态内存泄漏,而无需到系统崩溃时。
◼ 功能确认与接口测试 ◼ 覆盖分析 ◼ 性能测试 ◼ 内存分析
10
黑盒测试工具
◼ 功能测试工具
检测程序是否达到预期的功能并正常运行。
◼ 性能测试工具
确定软件和系统的性能
◼ 常用的黑盒测试工具有 Rational公司的 TeamTest、Compuware公司的QACenter(QARun、 QALoad、Eco Tools、Eco Scope)
13
1.RuleChecker—自定义的代码规则走查系统
对代码进行编程风格检测。
❖预定义了50 个的编程规则(关于结构化编程、 面向对象编程):
名称约定(如:局部变量用小写等);
表示约定(如:每行一条指令);
限制(如:不能用GOTO 语句,不能修改循 环体中的计数器等)。
❖用户可以规则中选择,也可以用脚本和编程语 言定义新的规则。
• 第一个提供MC/DC(Modified Condition/Decision Coverage)测试的工具。
• 产生每个测试的测试覆盖信息和累计信息。用直方图显 示覆盖比率,并根据测试运行情况实时在线更改。随时 显示新的测试所反映的测试覆盖情况。
15
TestChecker覆盖测试过程(交叉开发环境)
18
➢ 从纯硬件的测试工具那里吸取了从总线捕获数据 的技术并且对它进行了改善,CodeTEST不再是采 样的方式,它是通过监视系统总线,当程序运行 到插入的特殊的点的时候才会主动的到数据总线 上把数据捕获回来,借此,在同样的处理能力下 ,CodeTEST可以做到精确的数据观察;
➢强大的性能分析:能同时对32000个函数和1000 个任务进行性能分析,可以精确的得出每个函数 或任务执行的最大时间、最小时间和平均时间, 精确度达到50ns;能够精确的显示各函数或任务 之间的调用情况,帮助发现系统瓶颈、优化系统 和提升系统性能。
4
测试工具概述
在传统的制造业中计量设备、化验设备在生产过程中对质 量控制是至关重要的。如果千分尺、天平、实验炉的温度计不 准,它所引起的后果可想而知。因此必须规定对这些设备的控 制、校准和维修的办法,并建立文件化程序。
对于软件企业呢,这里应该指的是软件测试工具的控制。
5
1、什么是软件测试工具?
——软件测试工具是一种测试软件,测试人员借 助它来提高软件测试工作的效率。
——目前国内软件企业采用软件测试工具还不够 普遍。
6
2、软件测试工具的分类
①按工作方式分:
——静态分析工具 ——动态测试工具
②按工具功能分:
——测试计划工具:支持制订测试计划 ——测试设计与开发工具:支持测试数据生成,测试问题的
捕捉与重演 ——测试执行工具:支持特定的测试方法、支持回归测试 ——测试评估工具:报告测试覆盖情况 ——测试管理工具:协助进行测试的组织工作 ——其它辅助工具:如数据比较、模拟运行