《软件测试分类幻灯片.ppt》由会员分享,可在线阅读,更多相关《软件测试分类幻灯片.ppt(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件测试分类第1页,共62页,编辑于2022年,星期三黑盒测试&白盒测试黑盒测试(black-box testing):指的是把被测的软件看做是一个黑盒子,我们不关心里面的结构是什么样子的,只关心软件的输入数据和输出结果。第2页,共62页,编辑于2022年,星期三黑盒测试&白盒测试白盒测试(white-box testing):指的是把被盒子盖打开,去研究里面的源代码和程序结构。第3页,共62页,编辑于2022年,星期三黑盒测试&白盒测试在软件公司里,往往采用黑盒和白盒技术相结合的方法,对软件的整体功能和性能进行黑盒测试,对软件的源代码采用白盒测试。第4页,共62页,编辑于2022年,星期三黑
2、盒测试&白盒测试黑盒测试员黑盒测试员白盒测试员白盒测试员第5页,共62页,编辑于2022年,星期三静态测试&动态测试静态测试(static testing):指的是不实际运行被测软件,而只是静态的检查程序代码,界面或文档中可能存在的错误的过程。第6页,共62页,编辑于2022年,星期三静态测试&动态测试静态测试静态测试(1):代码测试:代码是否符合相应的标):代码测试:代码是否符合相应的标准和规范。准和规范。(2):界面测试:软件的实际界面与需):界面测试:软件的实际界面与需求是否相符。求是否相符。(3):文档测试:用户手册和需求说明是):文档测试:用户手册和需求说明是否真正符合用户的实际需求
3、。否真正符合用户的实际需求。需要我们按照相应语言的代码规范模板来逐需要我们按照相应语言的代码规范模板来逐行检查程序代码。行检查程序代码。(1)每个公司都有自己相应的编码规范。)每个公司都有自己相应的编码规范。(2)很多白盒测试工具中已经自动集成了各)很多白盒测试工具中已经自动集成了各种语言的编程规范。种语言的编程规范。第7页,共62页,编辑于2022年,星期三静态测试&动态测试例如:华为软件编程规范总则。例如:华为软件编程规范总则。第8页,共62页,编辑于2022年,星期三#includemax(float x,float y)float z;z=x y?x:y;return(z);main(
4、)float a,b;int c;scanf(“%f,%f”,&a,&b);c=max(a,b);printf(“Max is:%dn”,c);第9页,共62页,编辑于2022年,星期三/*程序名称:求两个实数中的最大值程序名称:求两个实数中的最大值作者:作者:Bill Gates版本:版本:V 2.1创建日期:创建日期:2010-9-21*/#includefloat Max(float fVar1,float fVar2)/返回两个实数中的最大值返回两个实数中的最大值 float fMaxVar;fMaxVar =fVar1 fVar2?fVar1:fVar2;return(fMaxVar
5、);void main(void)float a;float b;float c;scanf(“%f,%f”,&a,&b);c=max(a,b);printf(“Max is:%dn”,c);第10页,共62页,编辑于2022年,星期三静态测试&动态测试动态测试:实际运行被测试程序,输入相应的测试动态测试:实际运行被测试程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过数据,检查实际输出结果和预期结果是否相符的过程,所以我们判断一个测试属于动态测试还是静态程,所以我们判断一个测试属于动态测试还是静态测试,唯一的标准是看是否运行程序。测试,唯一的标准是看是否运行程序。第11页,共6
6、2页,编辑于2022年,星期三静态测试&动态测试静态测试,动态测试,黑盒测试,白盒测试之间的静态测试,动态测试,黑盒测试,白盒测试之间的关系?关系?-一个测试的不同分类角度而已。一个测试的不同分类角度而已。第12页,共62页,编辑于2022年,星期三其它重要测试按测试阶段划分按测试阶段划分单元测试单元测试集成测试集成测试系统测试系统测试验收测试验收测试第13页,共62页,编辑于2022年,星期三什么是单元测试?单元测试(单元测试(unit testing):是指对软件中的最小):是指对软件中的最小可测试单元进行检查和验证。可测试单元进行检查和验证。单元:人为规定单元:人为规定的最小的被测功的最
7、小的被测功能模块。能模块。C语言:?语言:?Java语言:?语言:?图形界面:?图形界面:?第14页,共62页,编辑于2022年,星期三什么时候进行单元测试?程序员编码之后,代码已经通过编译后进行单元测程序员编码之后,代码已经通过编译后进行单元测试。测试前期,还要撰写单元测试计划,编写单元试。测试前期,还要撰写单元测试计划,编写单元测试用例。测试用例。第15页,共62页,编辑于2022年,星期三由谁来进行单元测试?白盒测试工程师或开发人员。若是开发人员来测试,白盒测试工程师或开发人员。若是开发人员来测试,最好做到交叉测试。避免即当裁判员,又到运动员。最好做到交叉测试。避免即当裁判员,又到运动员
8、。第16页,共62页,编辑于2022年,星期三单元测试的依据?(1)源程序本身,代码)源程序本身,代码+注释。注释。(2)详细设计详细设计文档。文档。第17页,共62页,编辑于2022年,星期三单元测试的通过标准?(1)程序通过所有的单元测试的用例。)程序通过所有的单元测试的用例。(2)语句的覆盖率达到)语句的覆盖率达到100%。(3)分支的覆盖率达到)分支的覆盖率达到85%。第18页,共62页,编辑于2022年,星期三如何进行单元测试?单元测试:主要用白盒测试,先静态的检查代码是单元测试:主要用白盒测试,先静态的检查代码是否符合规范,然后动态的运行代码,检查其实际运否符合规范,然后动态的运行
9、代码,检查其实际运行结果,以及程序的非法数据的容错性,程序的边行结果,以及程序的非法数据的容错性,程序的边界处理等。界处理等。第19页,共62页,编辑于2022年,星期三单元测试的一般步骤?(1)编译运行程序:查看能否正确运行。)编译运行程序:查看能否正确运行。(2)静态测试。)静态测试。编码规范检查单编码规范检查单(3)动态测试。)动态测试。测试用例测试用例第20页,共62页,编辑于2022年,星期三什么是集成测试?集成测试(集成测试(integration testing):是指将通过测):是指将通过测试的单元模块组装成系统或子系统,再进行测试,试的单元模块组装成系统或子系统,再进行测试,
10、重点测试不同模块的接口部分。重点测试不同模块的接口部分。集成测试就是用来检查各个单元模块结合到一起能集成测试就是用来检查各个单元模块结合到一起能否协同配合,正常运行。否协同配合,正常运行。重点检测各个模块的接口部分,如函数之间的参数重点检测各个模块的接口部分,如函数之间的参数传递是否正确等。传递是否正确等。第21页,共62页,编辑于2022年,星期三什么时候进行集成测试?理论上,集成测试在单元测试之后。但:理论上,集成测试在单元测试之后。但:效率太低。效率太低。实际:实际:单元测试和集成测试同步进行,在单元测试单元测试和集成测试同步进行,在单元测试中先测试几个函数的功能,然后再集成测试一下这中
11、先测试几个函数的功能,然后再集成测试一下这几个函数的接口(即参数传递)。几个函数的接口(即参数传递)。第22页,共62页,编辑于2022年,星期三由谁来进行集成测试?白盒测试工程师或开发人员。白盒测试工程师或开发人员。第23页,共62页,编辑于2022年,星期三集成测试的依据?(1)单元测试模块。)单元测试模块。(2)概要设计概要设计文档。文档。第24页,共62页,编辑于2022年,星期三什么是系统测试?系统测试(系统测试(system testing):是指将整个软件系):是指将整个软件系统看做统看做1个整体进行测试,包括对功能,性能,以及个整体进行测试,包括对功能,性能,以及软件所运行的软
12、硬件环境进行测试。软件所运行的软硬件环境进行测试。主要由黑盒测试工程师在整个系统集成完毕后进行主要由黑盒测试工程师在整个系统集成完毕后进行测试,前期主要测试系统的功能是否满足需求,后测试,前期主要测试系统的功能是否满足需求,后期主要测试系统的性能是否满足需求,以及系统在期主要测试系统的性能是否满足需求,以及系统在不同的软硬件环境中的兼容性。不同的软硬件环境中的兼容性。第25页,共62页,编辑于2022年,星期三系统测试的特点?(1)系统测试需要花大量的时间和精力去完成,)系统测试需要花大量的时间和精力去完成,也是软件交付给用户进行验收测试的最后一道关口。也是软件交付给用户进行验收测试的最后一道
13、关口。(2)测试工作前松后紧,后期的系统测试的工作)测试工作前松后紧,后期的系统测试的工作量是很大的。量是很大的。第26页,共62页,编辑于2022年,星期三系统测试的依据?(1)系统需求规格说明书系统需求规格说明书文档。文档。第27页,共62页,编辑于2022年,星期三什么是验收测试?验收测试(验收测试(acceptance testing):指的是在系统):指的是在系统测试的后期,以用户测试为主,或有测试人员等质测试的后期,以用户测试为主,或有测试人员等质量保证人员共同参与的测试,它也是软件正式交给量保证人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序。用户使用的最后一道工序。
14、重要性:涉及到用户能否最终验收签字并付款。重要性:涉及到用户能否最终验收签字并付款。第28页,共62页,编辑于2022年,星期三软件项目运营?(1):客户支付项目总经费的):客户支付项目总经费的20%作为定金。用于作为定金。用于支付软件项目前期的开发成本和效益。支付软件项目前期的开发成本和效益。(2):在项目的中期会有一个中期评审,客户通过):在项目的中期会有一个中期评审,客户通过中期评审来检查软件项目的进度和质量,通过中期评中期评审来检查软件项目的进度和质量,通过中期评审,再付审,再付50%的经费。的经费。(3):通过最后的验收测试,再支付最终的):通过最后的验收测试,再支付最终的30%。第
15、29页,共62页,编辑于2022年,星期三验收测试验收测试验收测试Alpha测试:由用户、测试人员、开测试:由用户、测试人员、开发人员共同参与的内部测试。发人员共同参与的内部测试。Beta测试:内侧后的公测,即完全测试:内侧后的公测,即完全交给最终用户测试。交给最终用户测试。第30页,共62页,编辑于2022年,星期三测试名称测试名称测试对象测试对象测试依据测试依据人员人员测试方法测试方法时间时间比例比例单元测试单元测试集成测试集成测试系统测试系统测试验收测试验收测试最小模块最小模块模块间的接模块间的接口口整个系统整个系统整个系统整个系统详细设计详细设计概要设计概要设计需求规格需求规格说明书说
16、明书需求规格说需求规格说明书明书白盒测试工程师,或白盒测试工程师,或开发人员开发人员白盒测试工程师,白盒测试工程师,或开发人员或开发人员黑盒测试工程师黑盒测试工程师主要为用户,还可主要为用户,还可能有测试工程师能有测试工程师主要采用主要采用白盒白盒黑盒白盒结黑盒白盒结合合黑盒测试黑盒测试黑盒测试黑盒测试1 12 24 42 2第31页,共62页,编辑于2022年,星期三功能测试黑盒测试黑盒测试功能测试功能测试Function Test性能测试性能测试Performance Test检查实际软件的功能检查实际软件的功能是否符合用户的需求。是否符合用户的需求。逻辑功能测试。逻辑功能测试。界面测试。
17、界面测试。易用性测试。易用性测试。安装测试。安装测试。兼容性测试。兼容性测试。第32页,共62页,编辑于2022年,星期三逻辑功能测试题题1:为:为Xp系统中系统中的计算器程序的加的计算器程序的加法功能编写逻辑功法功能编写逻辑功能测试用例。能测试用例。逻辑功能测试逻辑功能测试Logic Function Test第33页,共62页,编辑于2022年,星期三界面测试题题2:对对QQ软件软件按照按照界面测试规界面测试规范范进行界面测试。进行界面测试。界面测试界面测试User Interface Test第34页,共62页,编辑于2022年,星期三界面测试窗口窗口能否改变大小,移动,滚动窗口能否改变
18、大小,移动,滚动窗口被覆盖并重新调用后,窗口被覆盖并重新调用后,能否正常显示能否正常显示活动窗口是否被适当的加亮活动窗口是否被适当的加亮窗口是否能正确的被关闭窗口是否能正确的被关闭窗口中的数据能否用鼠标,功能键,方向键访问窗口中的数据能否用鼠标,功能键,方向键访问窗口的声音和颜色是否符合需求窗口的声音和颜色是否符合需求第35页,共62页,编辑于2022年,星期三界面测试下拉菜单下拉菜单能否正确工作下拉菜单能否正确工作是否列出了所有菜单功能和是否列出了所有菜单功能和下拉子菜单功能下拉子菜单功能是否可以通过鼠标访问所有菜单功能是否可以通过鼠标访问所有菜单功能文本,字体,大小是否合适文本,字体,大小
19、是否合适菜单是否随当前操作加亮或变灰菜单是否随当前操作加亮或变灰菜单功能的名字是否具有自解释性菜单功能的名字是否具有自解释性第36页,共62页,编辑于2022年,星期三界面测试检查重点(1)普通文字居左,状态居中,数字金额居右。)普通文字居左,状态居中,数字金额居右。(2)检查输入非法字段时,系统处理是否合理。)检查输入非法字段时,系统处理是否合理。(3)检查输入非法字段时,系统处理是否合理。)检查输入非法字段时,系统处理是否合理。(4)按)按TAB键,界面输入框是否按排列自上而下,键,界面输入框是否按排列自上而下,自左而右的顺序获得焦点。自左而右的顺序获得焦点。(5)处理时间较长()处理时间
20、较长(=10S),应给出提示或进度条。应给出提示或进度条。(6)退出系统时,应提示。)退出系统时,应提示。(7)在保存数据修改,删除等不可恢复性操)在保存数据修改,删除等不可恢复性操作时,应明确提示用户是否进行该操作。作时,应明确提示用户是否进行该操作。第37页,共62页,编辑于2022年,星期三易用性测试从软件使用的合理性和方便性等角度对软件系统从软件使用的合理性和方便性等角度对软件系统进行检查,来发现软件中不方便用户使用的地方。进行检查,来发现软件中不方便用户使用的地方。易用性测试易用性测试Usability Test第38页,共62页,编辑于2022年,星期三易用性测试易用性测试易用性测
21、试Usability Test易理解性易理解性易学性易学性易操作性易操作性第39页,共62页,编辑于2022年,星期三易用性测试常用的功能有无快捷方式常用的功能有无快捷方式友好的软件联机帮助友好的软件联机帮助工具栏图标准确表达操作意图工具栏图标准确表达操作意图反馈时间较长的操作显示进度条反馈时间较长的操作显示进度条功能相同或相近的操作划分到一个区域功能相同或相近的操作划分到一个区域软件出现问题,要提供技术支持联系方式软件出现问题,要提供技术支持联系方式第40页,共62页,编辑于2022年,星期三安装测试检查软件能否正确的安装和卸载。检查软件能否正确的安装和卸载。安装测试安装测试Installa
22、tion Test第41页,共62页,编辑于2022年,星期三安装测试(1)典型安装,完全安装,自定)典型安装,完全安装,自定义安装,检查安装步骤和界面义安装,检查安装步骤和界面(2)突然中断安装,下次)突然中断安装,下次安装能否正确安装能否正确(3)安装的时候磁盘空间不足)安装的时候磁盘空间不足(4)能否安装一个软件的多个版本)能否安装一个软件的多个版本(5)从程序组,控制面板卸载,检查)从程序组,控制面板卸载,检查信息是否被成功删除。信息是否被成功删除。(6)卸载正在使用的程序)卸载正在使用的程序第42页,共62页,编辑于2022年,星期三兼容性测试硬件兼容性测试。硬件兼容性测试。兼容性测
23、试兼容性测试Compatibility Test软件兼容性测试。软件兼容性测试。第43页,共62页,编辑于2022年,星期三单机版软件-兼容性测试操作系统操作系统测试优先级测试优先级Windows 98Windows 2000Windows XPWindows VistaWindows 7UnixLinux第44页,共62页,编辑于2022年,星期三B/S版软件-兼容性测试客户端客户端InternetWeb服务器服务器DB服务器服务器IISTomcatWebsphereSQL SeverOracleSysbase第45页,共62页,编辑于2022年,星期三B/S版软件服务器端配置配置项配置项内
24、容内容服务器硬件IBM 小型机服务器操作系统Linux 8.0Web服务器Websphere 4.0数据库服务器Oracle 9i第46页,共62页,编辑于2022年,星期三B/S版软件客户0端配置IE 6.0IE 7.0遨游遨游火狐火狐360Windows XpWindows VistaWindows 7MacLinux第47页,共62页,编辑于2022年,星期三性能测试性能测试性能测试Performance Test时间性能时间性能空间性能空间性能第48页,共62页,编辑于2022年,星期三性能测试时间性能:时间性能:主要指软件的一个具体事务的响应时间。主要指软件的一个具体事务的响应时间。
25、标准标准2/5/102S:非常有吸引力:非常有吸引力5S:比较不错:比较不错10S:用户忍受的上限:用户忍受的上限第49页,共62页,编辑于2022年,星期三性能测试空间性能:空间性能:软件运行时所消耗的系统资源。软件运行时所消耗的系统资源。最低配置最低配置推荐配置推荐配置CPU400M1.2G内存128M512M硬盘200M800M第50页,共62页,编辑于2022年,星期三性能测试性能测试性能测试一般性能测试一般性能测试稳定性测试稳定性测试负载测试负载测试压力测试压力测试第51页,共62页,编辑于2022年,星期三一般性能测试让被测系统在正常的软硬件环境下运行,不像其让被测系统在正常的软硬
26、件环境下运行,不像其施加任何压力的性能测试。施加任何压力的性能测试。一般性能测试一般性能测试单机版:在推荐配置下运行软件,单机版:在推荐配置下运行软件,检查检查CPU的利用率,内存的占有率的利用率,内存的占有率等性能指标以及软件主要事务的平等性能指标以及软件主要事务的平均响应时间。均响应时间。CS/BS结构:测试单个用户登录后,结构:测试单个用户登录后,系统主要事务的响应时间和服务器系统主要事务的响应时间和服务器的资源消耗情况。的资源消耗情况。第52页,共62页,编辑于2022年,星期三稳定性测试Reliability Testing连续运行被测系统,检查系统运行时的稳定程度。连续运行被测系统
27、,检查系统运行时的稳定程度。稳定性测试稳定性测试MTBF:错误发生的平均时间间隔:错误发生的平均时间间隔(Mean Time Between Failure)用来衡量系统的稳定性。该值越大用来衡量系统的稳定性。该值越大越稳定。越稳定。采用采用24*7(24小时小时*7天)的方式天)的方式让系统不间断运行,具体运行多长让系统不间断运行,具体运行多长时间,视项目实际情况而定。时间,视项目实际情况而定。第53页,共62页,编辑于2022年,星期三负载测试Load Testing让被测系统在其能忍受的压力的极限范围之内连续运行,让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性。来测
28、试系统的稳定性。负载测试负载测试负载测试,稳定性测试都是连续运负载测试,稳定性测试都是连续运行被测系统,两者的差别在何处?行被测系统,两者的差别在何处?作用:为我们测试系统在临界状态作用:为我们测试系统在临界状态下运行是否稳定提供了一种方法。下运行是否稳定提供了一种方法。第54页,共62页,编辑于2022年,星期三压力测试Stress Testing持续不断的给被测系统增加压力,直到将被测系统压垮持续不断的给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。为止,用来测试系统所能承受的最大压力。第55页,共62页,编辑于2022年,星期三几种性能测试的比较名称:名称:测
29、试方法:测试方法:一般性能测试背1袋米。稳定性测试背1袋米,在操场一直跑,看多久累倒。负载测试背2袋米,在操场一直跑,看多久累倒。压力测试背1袋米,2袋米,3袋米,4袋米。看最多能被多少袋米。第56页,共62页,编辑于2022年,星期三回归测试Regression Testing对软件的新的版本进行测试时,重复对软件的新的版本进行测试时,重复执行上一个版本测试时的用例。执行上一个版本测试时的用例。回归测试可以在任何阶段进行,既有黑回归测试可以在任何阶段进行,既有黑盒测试的回归,也有白盒测试的回归。盒测试的回归,也有白盒测试的回归。第57页,共62页,编辑于2022年,星期三冒烟测试Smoke
30、Testing是指在一对一个新版本进行系统大规模是指在一对一个新版本进行系统大规模的测试之前,先验证一下这个软件的基的测试之前,先验证一下这个软件的基本功能是否实现,是否具备可测性。本功能是否实现,是否具备可测性。冒烟测试名字的由来同电路板测试有关。冒烟测试名字的由来同电路板测试有关。测试小组在正规测试一个新版本之前,先指派测试小组在正规测试一个新版本之前,先指派一两个测试人员测试一下软件的主要功能,如一两个测试人员测试一下软件的主要功能,如果没有实现的话,则打回开发组重新开发。节果没有实现的话,则打回开发组重新开发。节省大量的时间成本和人力成本。省大量的时间成本和人力成本。第58页,共62页
31、,编辑于2022年,星期三猴子测试Monkey Testing是指测试中所有的输入数据都是随机产是指测试中所有的输入数据都是随机产生的,其目的是模拟用户的真实操作,生的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。并发现一些边缘性的错误。第59页,共62页,编辑于2022年,星期三猴子测试Monkey Testing是指测试中所有的输入数据都是随机产是指测试中所有的输入数据都是随机产生的,其目的是模拟用户的真实操作,生的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。并发现一些边缘性的错误。第60页,共62页,编辑于2022年,星期三第一章:软件质量保证简介课后调研。-厚积而薄发。1:各种测试方法分类,以及每种测试方法的简介。:各种测试方法分类,以及每种测试方法的简介。要求:做成要求:做成PPT加以汇报。加以汇报。2:还有哪些测试方法是我们没有讲到的,这些测:还有哪些测试方法是我们没有讲到的,这些测试方法的介绍。试方法的介绍。要求:做成要求:做成PPT加以汇报。加以汇报。第61页,共62页,编辑于2022年,星期三TitleText第62页,共62页,编辑于2022年,星期三
限制150内