软件测试课程设计报告书

发布时间 : 星期一 文章软件测试课程设计报告书更新完毕开始阅读

. . .

1.2.2介绍:

cppcheck 是一个静态代码检查工具,支持c, c++ 代码;作为编译器的一种补充检查,cppcheck对产品的源代码执行严格的逻辑检查。 执行的检查包括:

1. 自动变量检查 2. 数组的边界检查 3. class类检查

4. 过期的函数,废弃函数调用检查 5. 异常内存使用,释放检查

6. 内存泄漏检查,主要是通过内存引用指针 7. 操作系统资源释放检查,中断,文件描述符等 8. 异常STL 函数使用检查

9. 代码格式错误,以及性能因素检查

1.2.3 基本使用:

首先下载安装,例如我的是安装在 C:\\Cpptest\\Cppcheck 目录下,要使

用它必须先转到该路径下:

1.检查一个文件:cppcheck [filepath]

例如,我检查一个file1.c的文件代码,在命令工具中可以输入:D:\\Cpptest\\Cppcheck>cppcheck file1.c 来审查。 2.检查一个文件夹中的所有文件: cppcheck [filspath] 例如,我检查files文件下的所有文件:

C:\\Cpptest\\Cppcheck>cppcheck files

3. 格式化输出内容格式:

C:\\Cpptest\\Cppcheck>cppcheck --enable=all --template=vs C:\\files.c 2>C:\\Cpptest\\err.txt

--template=vs 就是指定以vs这种格式输出,还可以自定义输出格式,

1.2.4 高级使用:

1.xml 输出

a.使用方式:cppcheck --xml-version=2 foo.cpp b.error的组成元素:

..........

. . .

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={\3.输出过滤器(选特定的错误信息输出)

命令行模式:

cppcheck --suppress=memleak:src/file1.cpp src/ 使用文件模式(将过滤规则存到文件中) cppcheck--suppressions suppressions.txt src/

..........

. . .

1.3. 任务描述: 1.理解CPPCheck软件的基本功能和特征;

2. 掌握软件测试方法在CPPCheck测试中的运用; 3.完成CPPCheck相关任务模块测试用例的设计; 4.实现CPPCheck的核心功能的测试; 5.撰写测试CPPCheck软件的相关文档; 6.撰写出符合要求的课程设计报告。

C++ code 各种注册的check子类及rule 检查 cppcheck系统结构图: 参数分析 代 码 解 Sotting 析 tokens Cppcheck核心 错误输出 错误报告输出ErrorLogger ..........

. . .

1.4.运行环境:

硬件:装有windows操作系统的计算机

测试工具:CppCheck Quick Test Professional VC++6.0

1.5.条件与限制: 条件:被测试代码的路径必须是全英文,内存要动态分配 限制:只能执行C/C++源代码,该软件只能进行静态检测

二.测试设计

2.1测试阶段的选择:

2.1.1单元测试

(1)定义:单元测试(又称为模块测试)是针对程序模块软件设计的最小

单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。

(2)单元测试任务包括: 1.模块接口测试;

2.模块局部数据结构测试; 3.模块边界条件测试;

4.模块中所有独立执行通路测试; 5.模块的各条错误处理通路测试。 1、 单元的基本属性: 1.明确的功能 2.可定义的规格

3.与其他单元接口的清晰划分 2、 单元测试的目的:

在于发现各模块内部可能存在的各种错误,主要是基于白盒测试。 1.验证代码是与设计相符合的; 2.发现设计和需求中存在的错误; 3.发现在编码过程中引入的错误。(和设计不相符或和设计相符,但是由于

..........

联系合同范文客服:xxxxx#qq.com(#替换为@)