




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录目录1C+test(VS2010插件版)使用文档21编写说明22项目导入23 工程设置24静态测试34.1 静态测试配置34.2执行静态测试44.3 查看测试报告54.4 查看质量任务55.自动生成测试用例65.1. 自动生成测试用例配置65.2 执行自动生成测试用例75.3 查看测试报告85.4 查看自动生成的测试用例86.执行测试用例96.1. 执行测试用例配置96.2 执行测试用例106.3 查看测试报告106.4 查看生成的测试用例116.5 查看覆盖率117.桩函数127.1 桩函数概述127.2 自动生成桩函数137.3 用户自定义桩函数138.关于测试用例158.1预置条件为形参的测试用例158.2调用子函数获得输入188.3成员变量获得输入,如下源代码:198.4. 全局变量获得输入及桩函数的联合使用20C+test(VS2010插件版)使用文档1 编写说明Parasoft C+test是经广泛证明的最佳时间集成解决方案,它能有效地提高开发团队的工作效率和软件质量。本教程侧重点介绍单元测试的使用方法。单元测试的定义是测试应用程序中最小的单元。单元测试提供了一种更有效的发现错误的方法,它将应用程序中的最小单元分离开来,使得测试更接近错误,只要简单地对每个最小单元进行独立测试,就很容易的使全面准确的找到程序中的错误成为可能,单元测试能帮助客户更准确更全面的找到错误,显著提高软件质量。2 项目导入1如何导入一个已有项目 选择“File”打开”项目解决方案” 找到.sln文件,双击.sln文件或者直接双击.sln文件。3 工程设置1. 导入项目完成后,右键点击项目名称”属性” ”配置属性” ”常规”下的“配置类型“改为“动态库(.dll)”如图所示:然后修改路径,双击C/C+“常规“”附加包含目录”,将当前工程下源代码路径添加进去,如图所示:4 静态测试4.1 静态测试配置点击测试三角号右边的下拉菜单”测试配置”如图:点击用户自定义“新建” 名称可根据不同的测试项目,及测试标准命名,这里为默认命名“静态测试” 点击静态,只启动MISRA C 2004的所有规则,如下图所示 其他选项暂不考虑,点击ApplyClose完成测试配置4.2执行静态测试 可对整个项目进行静态测试,也可根据需要对某个.c文件单独进行静态测试,不同的测试要选中测试目标,如对某一个.c测试一定要选中这个.c文件(左键点击该.c文件即可)。 点击工具栏中的“生成”选项“生成解决方案”。 执行静态测试,点击右三角右边的下拉菜单,选中“静态测试”,如下图所示:4.3 查看测试报告点击“测试进度”窗口左下角Proceed查看测试报告,也可点击Configure修改生成报告的路径,如图所示:4.4 查看质量任务在工具菜单中选择“Parasoft”“显示图示”“质量任务”如图结果如图所示:双击“感叹号”可快速定位到源代码中的位置。也可把鼠标箭头放到源代码小红帽处查看静态测试的详细信息,如图所示:5测试用例生成5.1自动生成测试用例5.1.1 自动生成测试用例配置点击测试三角号右边的下拉菜单”测试配置”如图:点击用户自定义“新建” 名称可根据不同的测试项目及测试标准命名,这里为默认命名“自动生成测试用例” 点击“静态”,取消勾选“启动静态分析” 点击“生成”,勾选“启动单元测试生成” 其他选项暂不考虑,点击ApplyClose完成测试配置5.1.2 执行自动生成测试用例 可对整个项目执行自动生成测试用例,也可根据需要对某个.c文件单独执行自动生成测试用例,不同的测试要选中测试目标,如对某一个.c测试一定要选中这个.c文件(左键点击该.c文件即可)。 点击工具栏中的“生成”选项“生成解决方案”。 执行自动生成测试用例,点击右三角右边的下拉菜单,选中“自动生成测试用例”,如下图所示:5.1.3 查看测试报告点击“测试进度”窗口左下角Proceed查看测试报告,也可点击Configure修改生成报告的路径,如图所示:5.4 查看自动生成的测试用例在工具菜单中选择“Parasoft”“显示图示”“测试用例浏览器”如下图所示,双击测试用例可查看测试用例源码。5.2手动建立数据源测试用例5.2.1建立数据源例如以下函数:在测试用例浏览器中新建数据源如图选择excel表格,Finish在弹出的窗口中给数据源命名,并给数据源添加路径:在打开的窗口中右键空白处选择新建excel表格:给新建的excel表格命名,选中该表格,点击打开:点击OK,完成数据源的建立:5.2.2手动建立数据源测试用例在测试用例浏览器中新建测试用例:给测试用例命名,点击next:选中数据源,点击finish完成向导:新建的数据源测试用例如下:做如下修改:此时就可以在新建的excel表格中添加测试用例了,注意红色圈圈要与测试用例中的双引号内的命名保持一致6. 执行测试用例6.1. 执行测试用例配置点击测试三角号右边的下拉菜单”测试配置”如图:点击用户自定义“新建” 名称可根据不同的测试项目及测试标准命名,这里为默认命名“执行测试用例” 点击“静态”,取消勾选“启动静态分析” 点击“执行”,勾选“启动测试执行”, 插桩模式默认为“带有行覆盖的完全运行时“,可修改此项以查看其它覆盖率,点击右边“编辑”选项,勾选覆盖率指标,如下图所示: 其他选项暂不考虑,点击ApplyClose完成测试配置6.2 执行测试用例 可对整个项目执行自动生成测试用例,也可根据需要对某个.c文件单独执行自动生成测试用例,不同的测试要选中测试目标,如对某一个.c测试一定要选中这个.c文件(左键点击该.c文件即可)。 点击工具栏中的“生成”选项“生成解决方案”。 执行自动生成测试用例,点击右三角右边的下拉菜单,选中“自动生成测试用例”,如下图所示:6.3 查看测试报告点击“测试进度”窗口左下角Proceed查看测试报告,也可点击Configure修改生成报告的路径,如图所示:6.4 查看生成的测试用例在工具菜单中选择“Parasoft”“显示图示”“测试用例浏览器”如下图所示,双击测试用例可查看测试用例源码。到此为止分步骤完成了单元测试,也可在测试配置中依次选择“静态分析”“生成测试用例”“执行测试用例”自动化完成单元测试,程序源代码显示:绿色部分为执行到测试代码,红色部分为未执行到的代码,为保证测试完整性,可通过建立桩函数或者自定义(修改)测试用例提高测试覆盖率,以满足测试覆盖率的要求,这样能有效的提高测试质量,避免设计无效用例。6.5 查看覆盖率在工具菜单中选择“Parasoft”“显示图示”“覆盖率”如下图所示:7. 桩函数7.1 桩函数概述桩函数主要实现替代原函数的功能,使得单元测试过程中能将被测功能与外部依赖隔离。桩函数是单元测试的常用技术,它主要目的有二:一是将不可控的、费时的实际系统隔离,例如访问网络、数据库、硬件等;二是将复杂的底层系统隔离,采用相对简单的模拟系统来代替。当被调函数不会影响当前测试函数的功能行为的时候,桩函数能够被使用,以使得单元测试的效率更高。自定义桩函数可以带来的好处在于:调用原函数可能其返回值为一个固定值,不能返回一个期望值,以使得测试不同的代码分支。而桩函数的返回值,可由用户自由控制,因而具备更大的灵活性。这里有对桩函数较详细的解释/link?url=J_RF4p5MXSfmS1tsJgd5dj3EqntIAtEAiVRZFnSa61SkWgzFZghjxE6mPZ3nzx-qPwZT7ndp_kUZcoG8zB_YVmw9QpQrCv4Ca6uL7zi-rTC桩函数可自动生成,也可用户自定义,自动生成的桩函数与自定义的桩函数其主要差别在于:自定义的桩函数调用优先级别高于原函数,原函数的优先级别高于自动生成的桩函数。 7.2 自动生成桩函数 选中要生成桩函数的源文件,右键Parasoft测试执行内建Unit TestingFile ScopeGenerate stub(file Scope) 选中要生成桩函数的源文件,右键Parasoft测试执行内建Unit TestingFile Scope Collect stub Information(file Scope) 在工程目录下我们可以看到自动生成的桩函数: 点击工具栏的Parasoft选项显示图示桩函数,可以看到:7.3 用户自定义桩函数如下图所示,在需要建立用户桩函数的函数上右键,选择“创建用户桩函数”给用户桩函数命名之后点击完成。这个时候在工程目录下我们可以看到:双击用户函数,这个时候就可以任意修改桩函数返回我们想要的结果了:8.关于测试用例对于函数测试来说,一个用例,就是设定输入,执行程序,判断输出是否符合预期。可能输入包括:参数、需读的成员变量、需读的全局变量、内部输入(调用子函数获得的输入);可能输出包括:返回值、输出参数、被写的成员变量、被写的全局变量,内部输出(在程序执行过程中判断的中间输出)、动作(例如需判断程序在某种输入下是否调用了某个函数)。简单来说,输入就是程序执行前或执行过程中读取的外部数据,输出就是程序所改写的数据。了解了这些,就不会对没有参数、没有返回值如何测试产生疑问了。测试没有参数的函数,它可能还有别的输入,例如全局变量,成员变量,或调用子函数获得的输入(这个要使用工具才能做到),只要函数需读取的,都应该设定初始值,如果完全没有,没有输入也是一种输入,照样测试就是了。 同样道理,输出也不仅仅是返回值,没有返回值还可能修改了全局变量什么的,这些也是要判断的输出。但是,单元测试应该测试哪些比较复杂的程序,而不是只测试接口。8.1预置条件为形参的测试用例源代码如图:自动生成的测试用例为从例子中我们可以看出unsigned _a = 1; unsigned _b = 2为设定输入,之后执行程序unsigned char _return = data_deal(_a, _b);最后判定输出,对于本例我们只需根据需要修改a,b的值即可,也可建立数据数据源测试用例。根据测试需要也可手动添加其设定输入,如全局变量、成员变量等。如何建立测试用例 选择所需用例的测试套件,右键新建测试用例使用向导 选择函数(如果只有一个函数就没得选择了,呵呵),给测试用例命名,点击next 到这里点击Finish就完成了新建测试用例,这里我们选择新数据源测试用例点击自动生成,这里我们选择“表”(也可新建csv或者excel数据源测试用例,选择表),点击OKFinsh完成: 双击测试套件下的数据源,这个时候就很方便的建立大量测试用例了:8.2调用子函数获得输入对于以下函数:sum函数只提供了一个出口,对于data_deal函数来说建多少测试用例都无法完全执行每条语句,so以上介绍的桩函数就派上用场了,对sum函数插桩,当执行data-deal的第一个测试用例时让sum函数返回10,当执行data-deal的第二个测试用例时让sum函数返回0,当执行data-deal的第三个测试用例时让sum函数返回5,这样就可以完全保证每条语句都执行一次了。这里介绍的只是用法,具体到实际应用时需保证测试质量前提下精心设计。图中篮圈为自带API函数,红圈为data_deal的测试用例。这里只是保证了覆盖率,对于data_deal函数套件下的其他测试用例(这里测试用例不止3个)还是执行sum返回的值对应的判断语句(如上上图的if语句),这样造成测试不均匀的现象,个人愚见应该把所有测试用例都用到桩函数中,但这样又带来了大量的工作。插桩后执行测试用例结果:8.3成员变量获得输入,如下源代码:自动生成的测试用例为:在这里我们可以直接添加预置条件:在测试用例1里添加:marry.report0 = 95;在测试用例2里添加:marry.report0 =80;如图所示:修改之后再次执行测试用例,结果如图:8.4. 全局变量获得输入及桩函数的联合使用 源代码如图: 对于main函数,data_deal函数只提供了一个出口,那么问题来了,两个if语句只能执行一个,所以要通过建立用户自定义的桩函数,当执行不同的测试用例时可以让用户自定义的桩函数返回不同的值,以满足两个条件判断语句全覆盖。下图为自定义的的桩函数:新建用户自定义桩函数之后,重新执行测试用例,可以观察到:自定义桩函数后我们再执行单元测试,两个条件判断语句都有执行到了,但没执行到case语句,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版地铁隧道电气安装规范及安全协议
- 二零二五年度房地产交易风险评估中介服务费合同
- 2025版大型设备安装与维护合作协议范本下载
- 2025版绿色生态园区建设项目内部承包协议
- 2025承包建筑工程承包合同-智慧城市综合体建设
- 2025版城市地下停车场施工承包合同
- 2025版智能网联汽车一半股权转让与技术支持合同
- 二零二五年服装店品牌营销顾问聘用合同样本
- 2025版老年旅游合同范本贴心关怀服务保障
- 2025版建筑安装施工合同交底书范本
- 2024年山西交通控股集团有限公司招聘真题
- 2025年妊娠期糖尿病护理查房记录模板范文
- 2025年传动部件行业当前发展趋势与投资机遇洞察报告
- 基孔肯雅热预防宣传课件
- 2025-2030中国海水淡化技术经济性分析与政策补贴机制报告
- 学校学生一日常规管理细则(2025年修订)
- 【语文】小学四年级下册期末质量模拟试题测试卷
- 人大代表基础知识培训课件
- 2025年高压电工证考试题库及答案
- 湖北省襄阳市枣阳市2024-2025学年七年级下学期期末考试英语试卷(含答案无听力部分)
- 2025年供热公司培训试题及答案
评论
0/150
提交评论