版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第17章 软件测试 本章的学习重点软件测试模型、分类和流程如何分析被测软件设计软件测试环境设计测试用例设计测试脚本函数级测试流程模块级测试流程 17.1 软件测试概述 简单地说,软件测试就是为了发现程序的错误并改正。在IEEE提出的软件工程标准术语中,软件测试的定义为:使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。 17.1.2 软件测试模型、分类和流程 1软件测试模型 最典型的测试模型称为V模型,如图所示。 2软件测试分类根据软件的不同开发阶段,可以将软件测试分为单元测试、集成测试、系统测试和验收测试。按照测试技术分类,
2、可以将软件测试分为黑盒测试和白盒测试。按照不同的测试主体,可以将软件测试分为开发方测试、用户测试和第三方测试。 17.1.2 软件测试模型、分类和流程 3软件测试流程 通常,软件测试工作主要通过制定测试计划、设计测试用例、分析测试覆盖率、执行测试、分析测试结果、评估测试性能等几个阶段来完成。如图所示为基本测试流程图。 17.2 搭建软件测试环境 对于单元测试,通常使用白盒测试,对于系统测试,通常是用黑盒测试。所谓白盒测试,是指把测试对象看做一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否
3、与预期的状态一致。所谓黑盒测试,也称功能测试或数据驱动测试,前提是已知产品所具有的功能,通过测试来检测每个功能是否都正常使用。 17.2.1 分析被测软件 以实训10.2为例,验证每个函数的代码是否正确。1void InputInfo(struct Table *InputTable, unsigned int n)函数测试对函数作输入参数检查,分配一定内存,对函数进行功能测试。 2void OutputInfo(struct Table *OutputTable, unsigned int n)函数测试对函数作输入参数检查,分配一定内存,对函数进行功能测试。 3struct Table结构体
4、类型验证验证struct Table结构体类型是否正确。 4测试顺序对测试用例进行排序 17.2.1 分析被测软件 5设计测试用例根据前面讨论,设计出测试用例,如下表所示。 测试用例名测试目标测试过程测试结果*注明test case 01验证结构体struct Table类型定义是否符合软件需求1.定义struct Table结构体类型变量TestStruTable;2.为TestStruTable中每个元素赋值;3.查看内存中数据存储是否正确;4.结束正确无test case 02验证函数InputInfo输入参数检查1.调用函数InputInfo();2.函数中参数InputTable实参
5、值设为NULL或0;3.结束打印参数错误信息无test case 03验证函数InputInfo的功能1.定义struct Table结构体指针;2.动态分配n个struct Table结构体内存块;3.调用函数InputInfo,输入n个struct Table类型结构体数据;4.释放分配的内存;5.结束输入人员数据信息动态分配内存之后一定要释放test case 04验证函数OutputInfo输入参数检查1.调用函数OutputInfo();2.函数中参数OutputTable实参值设为NULL或0;3.结束打印参数错误信息无test case 05验证函数OutputInfo功能1.定
6、义struct Table结构体指针;2.动态分配n个struct Table结构体内存块;3.输入n个struct Table类型结构体数据;4.调用函数OutputInfo();4.释放分配的内存;5.结束输出人员数据信息无17.2.2 搭建软件测试环境 以测试实训10.2为例,搭建测试环境。1设计测试文件测试环境中应包含如下测试文件,用以测试的执行,如表所示。 文件名功能说明test_10_2.c测试控制文件test_case_01.c测试用例test case 01文件test_case_02.c测试用例test case 02文件test_case_03.c测试用例test case
7、 03文件test_case_04.c测试用例test case 04文件test_10_2.h测试环境头文件TeacherStudentInfo.c被测文件(部分代码屏蔽)17.2.2 搭建软件测试环境 2搭建测试环境测试环境应在代码编写和调试工程环境下搭建,选择Visual C+6.0工程环境。工程命名为test_10_2。将代码文件test_case_01.c,test_case_02.c,test_case_03.c,test_case_04.c和TeacherStudentInfo.c放于目录Source Files文件夹下,test_10_2.h放于Header Files文件夹下
8、。如图所示为测试环境搭建完毕后的工程工作空间。 17.3 软件测试过程 软件测试过程是伴随着软件的开发和测试环境的搭建一起进行的,测试环境要根据代码的开发进程不断改进,测试过程也随着开发的流程而不断变化,同时,软件的测试过程也很大程度上影响着测试环境的调整。软件测试过程中的具体测试方法也根据测试目标的不同而各有差异。 17.3.1 函数级软件测试 1测试用例test case 01测试用例test case 01主要用于验证开发代码中定义的struct Table结构体类型是否可以及是否正确,通过设计合理的测试脚本,实现对结构体struct Table定义的测试。范例17.1 Test_cas
9、e_01.c 设计测试struct Table定义类型的代码,验证所定义的结构体类型能够满足需求,定义一个结构体变量,并对该变量赋初值,查看内存数据结构,并输出各元素的值。2测试用例test case 01内存检查要查看struct Table 结构体类型变量TestStruTable在内存中的数据,可以在文件test_case_01.c第6行中设置断点,如图所示。 17.3.1 函数级软件测试 3测试用例test case 02测试用例test case 02用于检查函数InputInfo()的输入参数,由于要对函数InputInfo()作检查,因此在测试之前,应先将函数InputInfo(
10、)所在文件加入测试工程中,并屏蔽结构体类型struct Table定义代码和主函数代码,并添加下面代码:#include test_10_2.hextern struct Table;设计测试脚本,用以测试用例test case 02的测试。范例17.2 Test_case_02.c 测试用例test case 02脚本,调用函数InputInfo(),并且将实参设置为NULL和1,验证函数InputInfo()是否具有对输入参数的检测功能。 17.3.1 函数级软件测试 4测试用例test case 03测试用例test case 03用于验证函数InputInfo()的功能。函数Input
11、Info()的功能是输入数据信息,用于后续设计。范例17.3 Test_case_03.c测试用例test case 02脚本,调用函数InputInfo(),首先定义struct Table结构体类型指针TestInfoFunc,动态分配两个struct Table结构体内存数据区域,以TestInfoFunc和2为实参,调用被测函数InputInfo,验证被测函数是否能够正常工作。5测试用例test case 04 先将函数OutputInfo ()所在文件加入测试工程中,屏蔽结构体类型struct Table定义代码和主函数代码,并添加下面代码:#include test_10_2.he
12、xtern struct Table;设计测试脚本,用以测试用例test case 04的测试。 17.3.1 函数级软件测试 范例17.4 Test_case_04.c 测试用例test case 04脚本,调用函数OutputInfo(),并且将实参设置为NULL和1,验证函数OutputInfo()是否具有对输入参数的检测功能。6测试用例test case 05测试用例test case 05用于验证函数OutputInfo()的功能。函数OutputInfo ()的功能是输出数据信息,用于后续设计。范例17.5 Test_case_05.c测试用例test case 05脚本,调用函数OutputInfo(),首先定义struct Table结构体类型指针TestOutFunc,动态分配两个struct Table结构体内存数据区域,并输入以TestOutFunc和2为实参,调用被测函数OutputInfo,验证被测函数是否能够正常工作。 17.3.1 函数级软件测试 7测试环境头文件测试环境头文件test_10_2.h用于定义结构体类型struct Table以及部分子函数的声明。头文件中不应包含除说明代码以外的代码信息。范例17.5 Test_10_2.h 测试环境头文件代码,包含了标准输入输出头文件和标准库文件。对测试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (一模)吉林省延边州2026届高三3月教学质量检测政治试卷(含答案)
- 2026年山西省财政税务专科学校单招职业倾向性测试题库含答案详解(a卷)
- 2026年广西交通职业技术学院单招综合素质考试题库带答案详解(轻巧夺冠)
- 2026年广西国际商务职业技术学院单招职业适应性考试题库带答案详解(典型题)
- 2026年山西财贸职业技术学院单招综合素质考试题库及参考答案详解1套
- 2026年山西管理职业学院单招职业适应性测试题库带答案详解(新)
- 2026年广州卫生职业技术学院单招综合素质考试题库及完整答案详解1套
- 2026年广东省河源市单招职业倾向性考试题库带答案详解(典型题)
- 全国小学英语词汇记忆策略试卷考试及答案
- 2026年小学英语时态变化规则及练习题库试题
- 2025-2030紧固件行业风险投资发展分析及投资融资策略研究报告
- 《基于Java Web的公司员工信息系统设计与实现》8400字(论文)
- 宠物心理与行为课程设计
- 仓储物流配送业务合作协议
- 农药经营许可证延续申请表
- (一模)宁波市2024学年第一学期高考模拟考试 数学试卷(含答案)
- 2023年北京大学留学生入学考试英语试卷
- 公司事故隐患内部报告奖励机制
- 全过程工程咨询管理服务方案投标方案(技术方案)
- DL∕T 265-2012 变压器有载分接开关现场试验导则
- 大学物理实验报告手册
评论
0/150
提交评论