资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
.,.,.,1,.,大学 课 程 设 计 说 明 书,课程名称 软件测试技术课程设计 题目,CppCheck 测试,院 班,系 信息工程学院 级,计科 131,学生姓名 指导教师 日期 2016.7.5,.,2,.,.,.,课程设计任务书,任课教师:,时间:2016.7.5,.,3,.,.,.,目录 一任务的描述 . 1 1.1 目标. 1 1.2 测试对象介绍: . 1 1.2.1 概述: . 1 1.2.2 介绍: . 2 1.2.3基本使用: . 2 1.2.4高级使用: . 2 1.4运行环境: . 5 1.5条件与限制: . 5 二测试设计 . 5 21 测试阶段的选择: . 5 2.1.1 单元测试. 5 2.1.2 集成测试. 7 2.1.3 系统测试(System Testing): . 7 22 测试方法的选择: . 7 2.3 选择工具: . 8 2.4 设计测试用例: . 9 2.4.1 静态测试. 9 三测试执行和结果 . 10 3.1 白盒测试. 10 3.2 黑盒测试. 16 四测试的结果 . 19 五. 感想认识 . 20 六参考文献 . 21,.,1,.,.,.,课程设计报告文档 一任务的描述 目标 测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。应 根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并 利用这些实例来运行程序,以便发现错误。信息系统测试应包括软件测试、硬 件测试和网络测试。硬件测试、网络测试可以根据具体的性能指标来进行,此 处所说的测试更多的是指软件测试。 一是对质量或可接受性做出判断:通过测试给出所测系统总体质量现状,譬 如满足工件的出入口标准,达到发布要求,遗留缺陷或者风险 二是发现问题,而且尽可能早一些,并确保其得以修复:目的是要发现 问题,就需要使用不同的方法类型进行测试,尽可能早的发现问题,就是尽快 的参与测试,并提高测试的效率和有效性,使严重的问题尽早被发现;确保缺 陷得以修复,需要说明的是不是所有的缺陷都可以被修复的,那么我们要在提 交缺陷单的时候自己首先已经有一个尺度,哪些是必须解决的,哪些是有时间 可以解决的,那些是可以推迟到下个版本,哪些是无法解决但是要提出来的, 跟自己的团队磨合久了,测试人员心理这个尺度应该是很清楚的,再则就是注 意与开发之间的沟通技巧和专业度,特别在国内团队,随意性比较大,某个缺 陷的解决很可能是因为开发心情好或者跟开发者交情好,或者开发觉得你够专 业。 三是改进测试过程或者软件开发过程:通过测试,对一些测试数据的度 量和报告,对团队合作上一些问题的发现和总结,可以反过来为测试过程和开 发过程的改进提供依据,从而促进团队朝着更积极有效的方向发展。 总之要做到以最少的人力、物力、时间找出软件潜在的错误和缺陷。 测试对象介绍: 概述: Cppcheck 是一种 C/C+代码缺陷静态检查工具。不同于 C/C+编译器及其 它分析工具,Cppcheck 只检查编译器检查不出来的 bug,不检查语法错误。,.,2,.,.,.,介绍: cppcheck 是一个静态代码检查工具,支持 c, c+ 代码;作为编译器的 一种补充检查,cppcheck 对产品的源代码执行严格的逻辑检查。 执行的检查 包括: 自动变量检查 数组的边界检查 class 类检查 过期的函数,废弃函数调用检查 异常内存使用,释放检查 内存泄漏检查,主要是通过内存引用指针 操作系统资源释放检查,中断,文件描述符等 异常 STL 函数使用检查 代码格式错误,以及性能因素检查 基本使用: 首先下载安装,例如我的是安装在C:CpptestCppcheck 目录下,要使 用它必须先转到该路径下: 检查一个文件:cppcheck filepath 例如,我检查一个 file1.c 的文件代码,在命令工具中可以输入: D:CpptestCppcheckcppcheck file1.c 来审查。 检查一个文件夹中的所有文件: cppcheck filspath 例如,我检查 files 文件下的所有文件: C:CpptestCppcheckcppcheck files 格式化输出内容格式: C:CpptestCppcheckcppcheck -enable=all -template=vs C:files.c 2C:Cpptesterr.txt -template=vs 就是指定以 vs 这种格式输出,还可以自定义输出格式, 高级使用: xml 输出 a.使用方式:cppcheck -xml-version=2 foo.cpp b.error 的组成元素:,.,3,. id:error 的 id severity:error 的性质(error、warning.) msg:error 的具体信息(短格式) verbose:error 的信息(长格式) c.location 的 组 成 元 素 : file:含有相对或者绝对路径的文件名 line:行数 msg:消息描述 2.改良输出结果 cppcheck -template=vs path (Visual Studio 兼容模式) cppcheck -template=gcc path (Gcc 兼容模式) cppcheck -template=file,line,severity,id,message 3.输出过滤器(选特定的错误信息输出) 命令行模式: cppcheck -suppress=memleak:src/file1.cpp src/ 使用文件模式(将过滤规则存到文件中) cppcheck-suppressions suppressions.txt src/,.,. 任务描述: 理解 CPPCheck 软件的基本功能和特征; 掌握软件测试方法在 CPPCheck 测试中的运用; 3完成 CPPCheck 相关任务模块测试用例的设计; 4实现 CPPCheck 的核心功能的测试; 5撰写测试 CPPCheck 软件的相关文档; 6撰写出符合要求的课程设计报告。,cppcheck 系统结构图:,C+ code,参数分析,Sotting tokens,Cppcheck 核心,代码解 析,检查,错误报告输出 ErrorLogger,错误输出,各种注册的 check 子类及 rule,.,4,.,5,.,.,.,运行环境: 硬件:装有 windows 操作系统的计算机 测试工具:CppCheckQuick Test Professional VC+6.0 条件与限制: 条件:被测试代码的路径必须是全英文,内存要动态分配 限制:只能执行 C/C+源代码,该软件只能进行静态检测 二测试设计 21 测试阶段的选择: 2.1.1 单元测试 (1)定义:单元测试(又称为模块测试)是针对程序模块软件设计的最小 单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。 在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象 编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子 类)中的方法。 (2)单元测试任务包括: 模块接口测试; 模块局部数据结构测试; 模块边界条件测试; 模块中所有独立执行通路测试; 模块的各条错误处理通路测试。 1、 单元的基本属性: 明确的功能 可定义的规格 与其他单元接口的清晰划分 2、 单元测试的目的: 在于发现各模块内部可能存在的各种错误,主要是基于白盒测试。 验证代码是与设计相符合的; 发现设计和需求中存在的错误; 发现在编码过程中引入的错误。(和设计不相符或和设计相符,但是由于,.,6,.,.,.,编码疏漏引起) 3、 单元测试关注的重点: 出错处理、 单元接口、 局部数据结构、 独立路径、 边界条件 4、 单元测试的主要关注点: 参数的属性、顺序、个数是否与 LLD 一致 不能修改只做输入用的形参,否则可能导致数据的错误修改 约束条件是否通过形参来传送 5、驱动和桩的功能: 驱动单元:被测函数的主函数,能接受输入数据,输出实际测试结果 桩单元:用来代替所测单元调用的子单元 6、单元测试策略: 孤立的测试策略、自顶向下、自底向上的单元测试策略 1) 孤立的测试策略: 方法:不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和 驱动模块。每个模块进行独立的单元测试。 优点:该方法是最简单,最容易操作的。可以达到高的结构覆盖率。该方 法是纯粹的单元测试。 缺点:桩函数和驱动函数工作量很大,效率低。 自顶向下的单元测试策略: 方法:先对最顶层的单元进
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号