西南石油大学软件工程王林第一章软件测试基本概念本章要点了解软件,Bug,用户需求,软件测试,测试环境掌握软件环境分类,测试用例概念学会使用测试用例模板与编写测试用例的注意事项西南石油大学软件工程王林软件测试程序测试西南石油大学软件工程王林什么是软件软件=程序+文档测试软件测试硬件测试程序测试文档测试西南石油大学软件工程王林软件的分类功能划分系统软件应用软件技术架构划分C/S结构软件,Browser/Server(浏览器/服务器)B/S结构软件,Client/Server(客户端/服务器)按照用户划分产品软件项目软件规模划分小型中型大型西南石油大学软件工程王林BugBug-小虫子西南石油大学软件工程王林Bug的由来西南石油大学软件工程王林Bug的由来西南石油大学软件工程王林Bug说法指程序运行时出现的故障西南石油大学软件工程王林BugBUG完全没有实现的功能:A,B,C-----A,B基本实现用户需要的功能,但运行出现错误。实现用户不需要的功能是否时BUG的标准是否满足用户的需求西南石油大学软件工程王林Bug用户想要的----用户所说的-----需求分析人员理解的-----系统需求规格说明书----开发人员理解的---实际软件西南石油大学软件工程王林Debug西南石油大学软件工程王林CMM--BUG西南石油大学软件工程王林经典Bug案例西南石油大学软件工程王林经典Bug案例西南石油大学软件工程王林经典Bug案例西南石油大学软件工程王林经典Bug案例西南石油大学软件工程王林什么是软件测试SoftwareTestingTest---TESTUM(陶罐)---评估矿石的质量定义说法软件测试就是为了发现错误而执行程序或系统的过程西南石油大学软件工程王林软件测试标准定义使用人工或自动手段,运行或测试某个系统的过程,目的在于检验它是否满足规定的需求或弄清预期结果与实际结果的差别。西南石油大学软件工程王林测试环境什么是测试环境测试环境=软件+硬件+网络西南石油大学软件工程王林硬件硬件PC机品牌机兼容机笔记本服务器PDA手机西南石油大学软件工程王林软件软件XPVistaWin7MacUnixLinux西南石油大学软件工程王林网络网络局域网10M100M互联网3G网Wifi西南石油大学软件工程王林测试环境怎样搭建测试环境真实项目软件产品软件干净无毒独立西南石油大学软件工程王林测试用例什么是测试用例TestCase—TC,在测试之前设计的一套详细的测试方案,测试环境,测试步骤,测试数据,测试结果测试用例=输入+输出+测试环境西南石油大学软件工程王林测试用例西南石油大学软件工程王林西南石油大学软件工程王林测试用例4WWhy:为什么要写用例When:什么时候写用例Who:由谁来写用例What:根据什么写测试用例西南石油大学软件工程王林测试用例注意事项为什么要团队交流重复测试跟踪统计用户自测什么时候写需求计划,测试计划完成后谁写测试人员依据需求分析西南石油大学软件工程王林西南石油大学软件工程王林第二章:软件测试分类本章要点了解黑盒测试和白盒测试的概念,静态测试、动态测试、单元测试的概念和应用,集成测试,系统测试,验收测试的概念掌握功能测试,性能测试的概念和应用,界面测试、易用性测试、安装测试、兼容性测试、回归测试、冒烟测试、随机测试的含义西南石油大学软件工程王林按阶段是否运行是否查看源代码其它软件测试单元测试集成测试系统测试验收测试静态测试动态测试白盒黑盒功能性能逻辑功能测试界面测试易用性测试安装测试兼容性测试一般性能测试稳定性测试负载测试压力测试回归冒烟随机西南石油大学软件工程王林黑盒测试&白盒测试黑盒测试(black-boxtesting):指的是把被测的软件看做是一个黑盒子,我们不关心里面的结构是什么样子的,只关心软件的输入数据和输出结果。X=2Y=4西南石油大学软件工程王林黑盒测试&白盒测试白盒测试(white-boxtesting):指的是把被盒子盖打开,去研究里面的源代码和程序结构。X=2Y=2xY=4西南石油大学软件工程王林黑盒测试&白盒测试在软件公司里,往往采用黑盒和白盒技术相结合的方法,对软件的整体功能和性能进行黑盒测试,对软件的源代码采用白盒测试。西南石油大学软件工程王林静态测试&动态测试静态测试(statictesting):指的是不实际运行被测软件,而只是静态的检查程序代码,界面或文档中可能存在的错误的过程。西南石油大学软件工程王林静态测试&动态测试静态测试(1):代码测试:代码是否符合相应的标准和规范。(2):界面测试:软件的实际界面与需求是否相符。(3):文档测试:用户手册和需求说明是否真正符合用户的实际需求。需要我们按照相应语言的代码规范模板来逐行检查程序代码。(1)每个公司都有自己相应的编码规范。(2)很多白盒测试工具中已经自动集成了各种语言的编程规范。西南石油大学软件工程王林静态测试&动态测试例如:华为软件编程规范总则。西南石油大学软件工程王林#includestdio.hmax(floatx,floaty){floatz;z=xy?x:y;return(z);}main(){floata,b;intc;scanf(“%f,%f”,&a,&b);c=max(a,b);printf(“Maxis:%d\n”,c);}西南石油大学软件工程王林/*程序名称:求两个实数中的最大值作者:BillGates版本:V2.1创建日期:2010-9-21*/#includestdio.hfloatMax(floatfVar1,floatfVar2)//返回两个实数中的最大值{floatfMaxVar;fMaxVar=fVar1fVar2?fVar1:fVar2;return(fMaxVar);}voidmain(void){floata;floatb;floatc;scanf(“%f,%f”,&a,&b);c=max(a,b);printf(“Maxis:%d\n”,c);}西南石油大学软件工程王林静态测试&动态测试动态测试:实际运行被测试程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以我们判断一个测试属于动态测试还是静态测试,唯一的标准是看是否运行程序。西南石油大学软件工程王林静态测试&动态测试静态测试,动态测试,黑盒测试,白盒测试之间的关系?---一个测试的不同分类角度而已。西南石油大学软件工程王林其它重要测试按测试阶段划分单元测试集成测试系统测试验收测试西南石油大学软件工程王林什么是单元测试?单元测试(unittesting):是指对软件中的最小可测试单元进行检查和验证。单元:人为规定的最小的被测功能模块。C语言:????Java语言:????图形界面:????西南石油大学软件工程王林什么时候进行单元测试?程序员编码之后,代码已经通过编译后进行单元测试。测试前期,还要撰写单元测试计划,编写单元测试用例。西南石油大学软件工程王林由谁来进行单元测试?白盒测试工程师或开发人员。若是开发人员来测试,最好做到交叉测试。避免即当裁判员,又到运动员。西南石油大学软件工程王林单元测试的依据?(1)源程序本身,代码+注释。(2)《详细设计》文档。西南石油大学软件工程王林单元测试的通过标准?(1)程序通过所有的单元测试的用例。(2)语句的覆盖率达到100%。(3)分支的覆盖率达到85%。西南石油大学软件工程王林如何进行单元测试?单元测试:主要用白盒测试,先静态的检查代码是否符合规范,然后动态的运行代码,检查其实际运行结果,以及程序的非法数据的容错性,程序的边界处理等。西南石油大学软件工程王林单元测试的一般步骤?(1)编译运行程序:查看能否正确运行。(2)静态测试。《编码规范检查单》(3)动态测试。《测试用例》西南石油大学软件工程王林什么是集成测试?集成测试(integrationtesting):是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部分。集成测试就是用来检查各个单元模块结合到一起能否协同配合,正常运行。重点检测各个模块的接口部分,如函数之间的参数传递是否正确等。西南石油大学软件工程王林什么时候进行集成测试?理论上,集成测试在单元测试之后。但:效率太低。实际:单元测试和集成测试同步进行,在单元测试中先测试几个函数的功能,然后再集成测试一下这几个函数的接口(即参数传递)。西南石油大学软件工程王林由谁来进行集成测试?白盒测试工程师或开发人员。西南石油大学软件工程王林集成测试的依据?(1)单元测试模块。(2)《概要设计》文档。西南石油大学软件工程王林什么是系统测试?系统测试(systemtesting):是指将整个软件系统看做1个整体进行测试,包括对功能,性能,以及软件所运行的软硬件环境进行测试。主要由黑盒测试工程师在整个系统集成完毕后进行测试,前期主要测试系统的功能是否满足需求,后期主要测试系统的性能是否满足需求,以及系统在不同的软硬件环境中的兼容性。西南石油大学软件工程王林系统测试的特点?(1)系统测试需要花大量的时间和精力去完成,也是软件交付给用户进行验收测试的最后一道关口。(2)测试工作前松后紧,后期的系统测试的工作量是很大的。西南石油大学软件工程王林系统测试的依据?(1)《系统需求规格说明书》文档。西南石油大学软件工程王林什么是验收测试?验收测试(acceptancetesting):指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保证人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序。重要性:涉及到用户能否最终验收签字并付款。西南石油大学软件工程王林软件项目运营?(1):客户支付项目总经费的20%作为定金。用于支付软件项目前期的开发成本和效益。(2):在项目的中期会有一个中期评审,客户通过中期评审来检查软件项目的进度和质量,通过中期评审,再付50%的经费。(3):通过最后的验收测试,再支付最终的30%。西南石油大学软件工程王林验收测试验收测试Alpha测试:由用户、测试人员、开发人员共同参与的内部测试。Beta测试:内侧后的公测,即完全交给最终用户测试。西南石油大学软件工程王林测试名称测试对象测试依据人员测试方法时间比例单元测试集成测试系统测试验收测试最小模块模块间的接口整个系统整个系统详细设计概要设计需求规格说明书需求规格说明书白盒测试工程师,或开发人员白盒测试工程师,或开发人员黑盒测试工程师主要为用户,还可能有测试工程师主要采用白盒黑盒白盒结合黑盒测试黑盒测试1242西南石油大学软件工程王林功能测试黑盒测试功能测试FunctionTest性能测试PerformanceTest检查实际软件的功能是否符合用户的需求。逻辑功能测试。界面测试。易用性测试。安装测试。兼容性测试。西南石油大学软件工程王林逻辑功能测试题1:为Xp系统中的计算器程序的加法功能编写逻辑功能测试用例。逻辑功能测试LogicFunctionTest西南石油大学软件工程王林界面测试界面测试UserInterfaceTest西南石油大学软件工程王林界面测试—窗口窗口能否改变大小,移动,滚动窗口是否能正确的被关闭窗口中的数据能否用鼠标,功能键,方向键访问窗口的声音和颜色是否符合需求西南石油大学软件工程王林界面测试—下拉菜单下拉菜单能否正确工作是否列出了所有菜单功能和下拉子菜单功能是否可以通过鼠标访问所有菜单功能文本,字体,大小是否合适菜单功能的名字是否具有自解释性西南石油大学软件工程王林界面测试—检查重点(1)普通文字居左,状态居中,数字金额居右。(2)检查输入非法字段时,系统处理是否合理。(3)按TAB键,界面输入框是否按排列自上而下,自左而右的顺序获得焦点。(4)处理时间较长(=10S),应给出提示或进度条。(5)退出系统时,应提示。(6)在保存数据修改,删除等不可恢复性操作时,应明确提示用户是否进行该操作。西南石油大学软件工程王林易用性测