软件测试测试原理.pptx
《软件测试测试原理.pptx》由会员分享,可在线阅读,更多相关《软件测试测试原理.pptx(70页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、2.12.1测试原则测试原则 两种测试原则两种测试原则从用户的角度出发从用户的角度出发希望通过软件测试能希望通过软件测试能充分暴露软件中存在充分暴露软件中存在的问题和缺陷的问题和缺陷从开发者的角度从开发者的角度出发出发希望测试能表明软件产品希望测试能表明软件产品不存在错误,已经正确地不存在错误,已经正确地实现了用户的需求实现了用户的需求第1页/共70页1 1所有的测试都应追溯到用户需求所有的测试都应追溯到用户需求2 2应当把应当把“尽早测试和不断地进行软尽早测试和不断地进行软件测试件测试”作为软件测试者的座右铭作为软件测试者的座右铭3 3ParetoPareto原则应用于软件测试原则应用于软件
2、测试4 4测试应从测试应从“小规模小规模”开始,逐步转开始,逐步转向向“大规模大规模”5 5穷举测试是不可能的穷举测试是不可能的6 6为了达到最佳效果,应该由独立的为了达到最佳效果,应该由独立的第三方来构造测试第三方来构造测试7 7不充分的测试是不负责任的,过分不充分的测试是不负责任的,过分的测试是一种资源的浪费,同样也是一的测试是一种资源的浪费,同样也是一种不负责任的表现种不负责任的表现测测试试原原则则第2页/共70页测试出口条件参考标准测试出口条件参考标准遗留缺陷数量低于遗留缺陷数量低于1010个,其中严重的缺陷少于个,其中严重的缺陷少于5 5个个测试用例的执行率为测试用例的执行率为100
3、%100%,通过率为,通过率为95%95%对于单元测试,关键模块的语句覆盖率为对于单元测试,关键模块的语句覆盖率为100%100%,判定覆盖率为判定覆盖率为85%85%第8页/共70页测试级别测试级别测测 试试 活活 动动测试类别测试类别测试测试的文的文档档基基础础测试责测试责任主体任主体测测 试试 重重 点点级别级别0 0结结构构化化检查检查静静态测试态测试各各类类文文档档检查检查小小组组各方面各方面级别级别1 1单单元元测试测试白盒白盒测试测试软软件件详细设计详细设计文文档档开开发发人人员员软软件件单单元元设计设计级别级别2 2配置配置项项集成集成测试测试白盒白盒测试测试软软件件概概要要设
4、计设计文文档档独独立立测试组测试组配置项设计配置项设计/构构架架级别级别3 3配置配置项资项资格格测试测试黑盒黑盒测试测试软软件需求件需求规规格格说说明明书书独独立立测试组测试组配置配置项项需求需求级别级别4 4集成集成测试测试白盒白盒测试测试系系统统的子系的子系统设计统设计文文档档独独立立测试组测试组系统设计系统设计/构架构架级别级别5 5系系统测试统测试黑盒黑盒测试测试系系统规统规格格说说明明书书独独立立测试组测试组系系统统需求需求级别级别6 6DT&EDT&E测试测试黑盒黑盒测试测试用用户户手手册册独独立立测试组测试组用用户户手手册册一致性一致性级别级别7 7OT&EOT&E测试测试黑盒
5、黑盒测试测试可操作性需求文可操作性需求文档档可操作性可操作性测试测试组组可操作性需求可操作性需求级别级别8 8外外场测试场测试黑盒黑盒测试测试交付交付计计划划(场场地配置)地配置)外外场场安装安装组组场场地需求地需求7.7.不充分的测试是不负责的,过分的测试是一种资源的浪费不充分的测试是不负责的,过分的测试是一种资源的浪费测试级别测试级别第10页/共70页2.2 2.2 软件测试的软件测试的分类分类第11页/共70页 2.2 2.2 软件测试的分软件测试的分类类 按测试阶段分类按测试阶段分类 按是否需要执行被测试软件分类按是否需要执行被测试软件分类 按是否需要查看代码分类按是否需要查看代码分类
6、 按测试执行时是否需要人工干预分类按测试执行时是否需要人工干预分类 其他测试类型其他测试类型第12页/共70页LOGO2.2.1 2.2.1 按测试阶段分类按测试阶段分类单元测试单元测试确认测试确认测试系统测试系统测试验收测试等验收测试等集成测试集成测试第13页/共70页定义 单元测试(Unit Testing)又称模块测试(Module Testing),是指对软件中的最小可测试单元进行测试,目的是检查每个单元是否能够正确实现详细设计说明中的功能、性能、接口和设计约束等要求,发现各个模块内部可能存在的各种缺陷。优点 减轻调试的难度 提供同时测试多个单元的可能 1.1.单元元测试第14页/共7
7、0页集成测试(Integration Testing)又称组装测试,是在单元测试的基础上,按照设计要求,将通过单元测试的单元组装成系统或子系统而进行的有序的测试,目的是检验不同程序单元或部件之间的接口关系是否符合概要设计的要求,能否正常运行。确认测试是通过检验和提供客观证据,证实软件是否满足特定预期用途的需求。确认测试检测与证实软件是否满足软件需求说明书中规定的要求。2.2.集成集成测试 3.3.确确认测试第15页/共70页系统测试(System Testing)是为了验证和确认系统 是否达到其原始目标,而对集成的硬件和软件系统进行的测试,是在真实或模拟系统运行的环境下,检查完整的程序系统是否
8、能和系统正确配置、连接,并满足用户需求。系统测试主要由黑盒测试工程师在整个系统集成好之后进行。前期主要看系统功能是否满足需求,这被称为功能测试。后期主要测试系统运行是否满足要求,以及系统在不同硬件和软件环境中的兼容性等,这被分别称为性能测试、兼容性测试、用户界面测试等。系统测试的主要依据是软件的需求规格说明文档。4.4.系系统测试第16页/共70页定义 验收测试(Acceptance Testing)又称接受测试,是一种正式的测试,是在系统测试后期,以用户测试为主,是一般由用户或其他权威机构来决定是否可以接受产品的验证性测试。验收测试是软件正式交付给用户使用的最后一个测试环节,并决定用户是否最
9、终验收签字和结清所有应付款。主要依据 软件需求规格说明文档和验收标准。测试用例 可以直接采用内部测试组所设计的系统测试用例的子集,也可由验收人员自行设计。5.5.验收收测试第17页/共70页验验收收测测试试 测试测试测试也称开发方测试,开发测试也称开发方测试,开发方通过检测和提供客观证据,方通过检测和提供客观证据,证明软件运行是否满足用户规证明软件运行是否满足用户规定的需求。定的需求。测试测试测试是内部测试之后的外部测试是内部测试之后的外部公开测试,是将软件完全交给公开测试,是将软件完全交给用户,让用户在实际使用环境用户,让用户在实际使用环境下进行的对产品预发布版本的下进行的对产品预发布版本的
10、测试。测试。第18页/共70页2.2.2 按是否执行被测软件分类一、静态测试二、动态测试第20页/共70页 一、静态测试定义定义 静态测试(静态测试(Static Testing)又称静态分析()又称静态分析(Static Analysis),是不实际运行被测软件,而是直接分析软件的形式和结),是不实际运行被测软件,而是直接分析软件的形式和结构,查找缺陷。构,查找缺陷。第21页/共70页静态测试(1 1)对于源代码)对于源代码 主要是看代码是否符合相应的标准和规主要是看代码是否符合相应的标准和规范,如可读性、可维护性等,其工作过程范,如可读性、可维护性等,其工作过程类似一个编译器,随着语法分析
11、的进行做类似一个编译器,随着语法分析的进行做特定工作,如分析模块调用图、程序的控特定工作,如分析模块调用图、程序的控制流图等图表,度量软件的代码质量等。制流图等图表,度量软件的代码质量等。(2 2)对于程序界面)对于程序界面(3 3)对于文档)对于文档 主要是检查用户手册与需求说明是否真主要是检查用户手册与需求说明是否真正符合用户的实际要求正符合用户的实际要求。第22页/共70页1.1.静态测试是采用走查、同行评审、会审静态测试是采用走查、同行评审、会审等方法来查找错误或收集所需度量数据的。等方法来查找错误或收集所需度量数据的。2.2.静态分析的查错和分析功能是其他方法静态分析的查错和分析功能
12、是其他方法所不能替代的,静态分析能发现文档中的所不能替代的,静态分析能发现文档中的问题(也只能通过静态测试发现),通过问题(也只能通过静态测试发现),通过文档中的问题或其他软件评审发现来找出文档中的问题或其他软件评审发现来找出需求分析、软件设计等问题,而且能有效需求分析、软件设计等问题,而且能有效地检查代码是否具有可读性、可维护性,地检查代码是否具有可读性、可维护性,是否遵守编程规范是否遵守编程规范。第23页/共70页main()main()int a10,i,j,tmp;int a10,i,j,tmp;for(i=0;i=10;i+)for(i=0;i=10;i+)scanf(%d,&ai)
13、;scanf(%d,&ai);for(i=0;i=10;i+)for(i=0;i=10;i+)for(j=i+1;j=10;j+)for(j=i+1;j=10;j+)if(ai aj)if(ai aj)ai=aj;ai=aj;for(i=0;i=10;i+)for(i=0;i=10;i+)printf(%d,ai);printf(%d,ai);无注释无注释无注释无注释书写格式不规范书写格式不规范书写格式不规范书写格式不规范tmptmp变量未使用变量未使用变量未使用变量未使用数组下标越界使用数组下标越界使用数组下标越界使用数组下标越界使用第24页/共70页 1:char*report(int m
14、,int n,char*p)2:3:int result;4:char*temp,*q=null;5:long nm;6:int i,k,kk;7:char name12=Joe Jakeson;8:nm=n*m;9:temp=p=?q:p;10:for(i=0;i0)result=1;17:else if(k0)result=-1;18:if(m=result)return(temp);19:else return(name);20:PC-LINTPC-LINT编译出现的警告:编译出现的警告:第第9 9行的逻辑判定有问题行的逻辑判定有问题第第1212行的变量行的变量k k没有初始化没有初始化
15、第第1313行的行的kkkk未被使用未被使用第第1818行的行的resultresult有可能没有可能没有被初始化有被初始化第第1919行返回的是一个局部行返回的是一个局部对象的地址对象的地址第25页/共70页树状视图树状视图定位违反编码规范的代码定位违反编码规范的代码使用使用LogiScope来检查代码的规范性:来检查代码的规范性:第26页/共70页使用使用LogiScope统计被测试程序的测试覆盖率:统计被测试程序的测试覆盖率:用例覆盖率情况用例覆盖率情况第27页/共70页使用使用LogiScope统计被测试程序的测试覆盖率:统计被测试程序的测试覆盖率:各函数覆盖情况各函数覆盖情况第28页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 原理
限制150内