文档详情

软件测试基础

su****e
实名认证
店铺
2024-11-29
PPTX
5.05MB
约43页
软件测试基础_第1页
1/43
软件测试基础_第2页
2/43
软件测试基础_第3页
3/43

单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,2013,All Rights,Reserved.,Dilato Infotech Limited,.,软件测试技术,Aug.2015,Agenda,软件测试的概念,和分类,黑盒测,试技术,测试用例的设计和实施,缺陷,(Bug),管理,软,件测试的生命周期,软件测试常识,什么是软件测试,使用人工或自动手段,来运行或测试某个系统的过程其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别软件测试需要严谨和一丝不苟的精神什么是测试用例,评价测试人员的标准主要有两个,即发现的有效,Bug,数和编写的有效测试用例数测试用例:英文为,Test,Case,,缩写为,TC,指的是在测试执行之前设计的一套详细的测试方案,包括测试环境,测试步骤,测试数据和预期结果测试用例,=,输入,+,输出,+,测试环境,Tips,测试用例模板,Bug,模板,公司里测试部门的组织结,构,用什么工具管理,Test,Case,和,Bug,测试分为几个组,分别是什么 等等,以上这些根据公司不同而不同,面试的时候可以问面试官相关的问题,例如,软件测试分类,黑盒和白盒测试,静态和动态测试,单元测试、集成测试、系统测试、验收测试,功,能测试,性能测,试,回归测,试、,Smoke,测试、随机测试(探索性测试),黑盒和白盒测试的概念,黑盒测试,(Black-Box Testing),指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果。

白盒测试,(White-Box Testing),指的是把盒子盖打开,去研究里面的源代码和程序结构在软件公司里,往往采用黑盒和白盒技术相结合的方法,对软件的整体功能和性能进行黑盒测试,对软件的源代码采用白盒测试,静态和动态测试,所谓的静态测试,(Static Testing),是指不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程动态测试,(Dynamic Testing),是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程所以我们判断一个测试属于动态还是静态测试,唯一的标准就是看是否运行程序黑盒白盒,静态动态的关系,它们只是一个测试的不同分类角度而已,而且它们之间还有包含交叉的关系,总结一下,4,句话:,黑盒测试有可能也是动态测,试,(,运行程序,只看输入和输出,),也有可能是静态测试,(,不运,行程序,,只查看界面,),白盒,测试有可能也是动态测试,(,运行程序,,并分析代码结构,),也有可能是静态测试,(,不运行程序,,只是静态查看代码,),动态,测,试有可能也,是,黑盒,测,试,(,运行程序,,,只看输入和输出,),也有可能,是白盒测,试,(,运,行程序,,并分析代码结构,),静态,测试有可能也是黑盒测试,(,不运,行程序,,只是查,看界面,),也有可能是白盒测试,(,不运,行程序,,,只是静态查看代码,),单元测试、集成测试、系统测试、验收测,试,软件测试中基本且重要的概念,它们都是按照软件测试的阶段来划分的。

单元测试:对软件中的最小可可测试单元(最小的功能模块)进行检查和验证集成测,试:是单元测试的下一个阶段,是指将通过测试的单元模块组装成系统或者子系统,再进行测试,重点测试不同模块的接口部分接口测试),系统测试:是指将整个软件系统看做,1,个整体进行测试,包括对功能、性能、安全、兼容性进行测试验收测试(,Acceptance Testing,),:,是指在系统测试的后期,以用户测试为主,或有测试人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序比较,功能测试和性能测试,功能测试(,Function,Testing):,检查实际软件的功能是否符合用户的需求可细分为:,逻辑功能测,试、界面测试、易用性测试、安装卸载测试、兼容性测试、安全测试性能测试,(Performance Testing,):,一般要用到自动化工具软件的性能分为时间和空间的性能:,时间性,能:主要指软件的一个具体事务的响应时间,(Respond Time),空,间性能:主要指软件运行时所消耗的系统资源(,e.g.CPU,内存,硬盘等)软件性能测试的分类:一般性能测试、稳定性测试、负载测试、压力测试性能测试分类,一般性能测试:指被测系统在正常的软硬件环境下运行,不向其施加任何压力的性能测试。

例如只让,1,个用户多次登录,记录系统资源的消耗情况,(CPU,内存等),并记录单个用户的平均登录时间稳定性测试(,Reliability Testing,),:,是指连续运行被测系统,检查系统运行时的稳定程度用错误发生的平均时间间隔,(MTBF),来衡量系统的稳定性,,MFBF,越大,系统的稳定性越强负载测,试,(Load Testing):,通常是指让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性例如让,1,个,,2,个,,5,个,,10-100,个用户,并发登录,在这个过程中每次都观察资源消耗情况,当发现资源消耗快要达到临界值时,(CPU 80%),停止增加用户,例如现在的并发用户数为,50,,我们就用这,50,个用户同时多次重复登录,直到,系,统出现故障为止负载测试为我们测试系统在临界状态下运行是否稳定提供了一种办法压,力测试,(Stress Testing):,通常是指持续不断的给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力比如我们不断地增加并发登录的用户数,,120,,,150,,,170,,,200,、当增加到,200,个用户并发登录时,系统崩溃了,这是我们就知道此软件所能承载的最大登录并发数为,200,个左右。

案例,纸杯测试,微软公司的一道面试题,面试官随意选一个物品,让应聘者在规定的时间内说出测试策略或是设计测试用例要求应聘者有一定的生活常识,了解常用的测试方法,,并且思维要敏,捷,有发散性我们可以从 基本功能测试、易用性测试、界面测试、压力测试、性能测试等角度去思考比如安全性问题,杯子所用的材料是否符合食品卫生标准,在内外温度等环境因素下是否会与所盛各种饮料所应,而产生对人体有害的物质以下是相关的答案,仅供参考:,(1),基本功能测试(逻辑功能测试):,硬,度:是否达到设计标准装载能,力:在杯子内分别装入少量的、半杯的、满杯的,看其装载量是否达到设计标准装载种,类:开水(是否产生异味)、温水、冷水、冰水、咖啡,有颜色的饮料,(2),界面测试(,UI,测试):,看其形,状、大小设计是否适合人方便拿起外观是否吸引,人(广告嘛),常新悦目,带广告的图案沾水后是否掉色、模糊,(3),易,用性测试:,看其形状、大小设计是否适合人方便拿,起残疾人,士用此杯去喝水的容易程度杯子设计是否上大下,小,在运输过程中可以套在一起有效利用空间,在使用完也可以方便拿走稳定性测试,装入液体后记录其多久以后漏水,安,全性测,试,材料问题,符合食品卫生标准,温度,异味,本地化测,试,,为国际,化和本地化的需要,广告图案和文字是否在政治,宗教和文化方面具有广泛的适用性,。

回归测试、,Smoke,测试、随机测试,这,3,个概念也很重要,他们既不属于测试阶段,也不算是具体的测试方法回归测试,(Regression Testing),是指对软件的新的版本测试时,重复执行上一个版本测试时的用例冒烟测,试,(Smoke Testing),是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性随机测试(,Random,Testing,),是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误缺点,不如测试不系统,无法统计覆盖率,/,需求覆盖率,很难回归测试等,所以一般都是先作大规模的正规测试,如果时间允许的话,就辅助一些随机测试总结,黑盒测试技术,等价类方法,边界,值方法,因果图,法,流程图,法,黑盒测试技术,-,等,价,类方法,等价类技,术,(Equivalence Class Testing),案,例:加法器,有这样一个语言程序,功能是计算两个之间整数的和其源代码如下所示:,#include,Void main(void),int a,b,c;,w,hile(1),p,rintf(“,请输入两个,1,到,100,之间的整数,:”,);,fflush(stdin);/,清空输入缓冲区,s,canf(“%d%d”,i,f(a1&a1&b100)/,判断两个加数是否在,100,之间,c=a+b;,p,rintf(“,两个数的和为,%dn,”,c),我们知,道,在黑盒测试的时候一般是不看源代码的。

我们现在只根据需求,(,计算,1100,之间整数的和,),来设计测试用例,使用穷举测试的思想给加法器设计测试用例:,一共要设计多少条用例,呢?,加数有共计个取值,加数也是,所以一共有,100*100=10000,种组合的可能,但这只是测试了正常范围内的取值,如果输入的数据不在,1100,之间呢?,我们引入等价类的思想用例编号,加数,加数,和,1,2,2,3,3,4,黑盒测试技术,-,等价,类方法,等价类划分法是一种黑盒测试技术,它不考虑程序的内部结构,只是根据软件的需求说明来对输入的范围进行细分,然后再从分出的每一个区域内选取一个有代表性的测试数据如果等价类分的好,这个代表性的测试数据的作用就等价于其区域内的其他取值等价类又可分,为有效等价类和无效等价类有效等价,类:是指符合,需求规格说明书,,合理地输入数据集合无效等价类:是指不符合,需求规格说明书,,无意义的输,入数据集,合那么这个程序,里面,我们怎么划分等价类呢?,根据输入要求将输入区域划分为个等价类:,):,100:,无效等价类,然后我们从每一个等价类中选取一个代表性的数据来测试,测试用例是:,用例编号,所属等价类,加数,加数,和,),3,40,43,),0,-1,提示,),110,101,提示,等,价,类,方法总结,等价类的定义,等价,类是指某个输入域的子集合。

在该子集合中,各个输入数据对于揭露程序中的错误都是等效的等价,类,划分的步,骤,(1),先考虑输入数据的数据类型(合法和非法的类型),(2),再考虑数据范围(合法类型中的合法区间和非法区间),(3),画出示意图,区分等价类,(4),为每一个等价类编号,(5),从一个等价类中选举一个测试数据构造测试用例,理论上来,说,如果,等价,类里面的一个数值能够发现缺陷,那么该等价类里面的其他数值也能够发现缺陷实际过程中,首先要确保等价类的划分是争取的,否则也得不到正确的结果多看一些案例,将这种思想应用到实际工作中边界值方法,(Boundary Value Testing),错,误隐含在角落,(Errors Hide in the Corner),大量的测试实践经验表明,边界值是最容易出现问题的地方,也是我们的测试重点需要说明的,是,在白盒测试中也应用到了边界值得测试思想,边界值技术不是黑盒测试的专利我们还是,以上一节的加法器为例来讲解边界值的思想:,输入要求,是,1100,之间的整数,因此自然产生了,1,和,100,两个边界,我们在构造测试用例的时候要重点考虑这两个边界我们在测,试,1,和,100,这两个边界的时候,构造了,(1,1),、,(100,100),、,(0,0),、,(101,101),这组测试用例,即正好是边界的值和正好超出边界的值。

结果发现,(1,1),、,(,100,100),这两条测试用例未通过:本应正确求和,却提示信息要求输入正确整数,这是什么?,正确的代,码应该是:,if(,a,=,1,&a,=,1,&b,=,100,),包括,1,和,。

下载提示
相关文档
正为您匹配相似的精品文档