您好,欢迎访问三七文档
软件测试期末复习选择题--20题,20分判断题--10题,10分名词解释--4题,15分综合题—4题,55分名词解释α测试:是在用户组织模拟软件系统的运行环境下的一种验收测试,由用户或第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试,试图发现并修改错误。β测试:是用户公司组织各方面的典型终端用户在日常工作中实际使用beta版本,并要求用户报告异常情况,提出批评意见。桩模块:用以代替被测程序调用的子模块。桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么都不做。驱动模块:相当于被测模块的主程序,它接收测试数据,把这些数据传送给被测模块,最后输出实测结果。静态分析:不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。动态分析:动态方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能验收测试:验收测试是部署软件之前的最后一个测试操作。目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。测试用例:是一组测试输入、执行条件和预期结果,目的是要满足一个特定的目标,比如执行一条特定的程序路径或检验是否符合一个特定的需求。黑盒测试:从用户角度出发,基于产品的功能需求,目的是检查程序各个功能是否能够实现,并检查其中的功能错误。白盒测试:基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用。负载测试:通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。单元测试:测试中的最小单位或基本组成单位,进行检查和验证。集成测试:测试应用程序结合的部分,确定它们的功能结合到一起是正确的。容量测试:容量测试的目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等)兼容性测试:兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操纵系统平台上、不同的网络等环境中是否能够很友好的运行的测试。配置测试:配置测试主要是针对硬件而言,其测试过程是测试目标软件在具体硬件配置情况下,出不出现问题,为的是发现硬件配置可能出现的问客观题判断题软件测试的目的,测试的层次,二八原则,软件测试的执行过程。测试停止的标准白盒测试--语句,判定,条件覆盖的概念,计算数据流测试概念,环形复杂度计算,DD路径黑盒测试—等价类,边界值,决策表,因果图,N-S图,正交表,场景法的概念或基本技术单元测试的概念过程,集成测试概念,策略,系统测试,回归测试概念验收测试--alpha测试,β测试性能测试,压力测试,负载测试,兼容性测试,安全性测试,配置测试Junit断言,cunit,静态测试,winnner的测试流程,loadrunner的基本功能缺陷的可重性,缺陷的严重性级别,优先级,状态综合题1.分析说明书使用黑盒测试的方法书写测试用例2.分析程序段,使用逻辑覆盖方法书写测试用例使用基本路径方法,画出控制流图,计算圈复杂度,列出独立路径,书写测试用例3.使用MM路径方法,列出给定控制流图的独立路径4.单元测试测试代码的填空针对以下问题:某一种8位计算机,其十六进制常数的定义是以0x或0X开头的十六进制整数,其取值范围为-7f~7f(不区分大小写字母),如0x13、0x6A、-0x3c。请采用等价类划分和边界值的方法设计测试用例。doublesds(doubley){doublex;if(y<=2000)x=0;elseif(y<=3600)x=(y-2000)*0.05;elseif(y<=6600)x=sds(3600)+(y-3600)*0.1;elseif(y<=21600)x=sds(6600)+(y-6600)*0.2;elseif(y<=61600)x=sds(21600)+(y-21600)*0.3;elseif(y<=101600)x=sds(61600)+(y-61600)*0.4;elsex=sds(101600)+(y-101600)*0.5;return(x);}#include<stdio.h>intmain(){doubley,x;printf(请输入收入:\n);scanf(%If,&y);x=sds(y);printf(应缴个人所得税为:sds(%9.2f)=%9.2f,y,x);return0;}intisLeap(intyear)1{intleap;2if(year%4==0){3if(year%100==0){4if(year%400==0)5leap=1;6else7leap=0;}8else9leap=1;}10else11leap=0;12returnleap;13}voidtest_maxi(void){CU_ASSERT(maxi(0,2)==2);CU_ASSERT(maxi(0,-2)==0);CU_ASSERT(maxi(2,2)==2);}一.输入:用户密码要求:1)用户密码为6到8位。2)必须含有字母和数的组合。输出:如正确,输出正确的信息。否则,输出相应的错误信息。请结合等价类划分法设计出相应的测试用例。参考答案:输入条件有效等价类编号无效等价类编号用户密码6=位数=8(1)位数6(3)位数8(4)包含字母和数字(2)不包含数字(5)不包含字母(6)包含其他字符(7)二.采用决策表的测试方法完成下列说明书的测试。测试ID测试用例名输入参数覆盖等价类输出信息1User-ps-11234abcd(1)(2)输入正确2User-ps-21234a(3)输入错误3User-ps-3123456789df(4)输入错误4User-ps-4abcdedf(1)(5)输入错误5User-ps-51234567(1)(6)输入错误6User-ps-612#345(1)(7)输入错误1236457支付宝认证总流程如下,采用因果图测试方法设计测试用例。支付宝个人认证中,分为两部分:个人身份认证和银行卡认证。这两者都通过后,认为个人认证成功。个人身份认证需要提交个人基本信息及身份证复印件。银行卡认证分为两种:提现认证和充值认证。提现认证的流程是:用户提交正确的银行帐号——支付宝给用户的银行卡中随机打款——用户确认金额,认证成功。充值认证的流程是:用户提交正确的银行帐号——充值——充值完成——网银反馈,认证成功。从上面的描述中,我们可以总结出2大原因和一个结果。原因一:身份认证成功身份认证成功也是一个中间结果,它也有2个原因,提交基本信息成功和提交身份证成功。原因二:银行卡认证成功,包含2个原因:充值认证成功和提现认证成功。这2种原因也可以看做是中间结果,产生结果的原因在需求中可以也能明显看出来,不再赘述。一个结果:个人认证成功。注意:为了简便起见,我们假设个人信息提交和身份证件提交成功后,身份认证则成功,忽略人工审核过程。原因和结果表如下:原因c11个人基本信息提交成功c12个人身份证件提交成功原因c221充值认证的银行帐号提交成功c222充值成功c223网银反馈成功原因c211提现认证的银行帐号提交成功c212支付宝打款成功c213用户确认成功中间结果c21银行卡提现认证成功c22银行卡充值认证成功中间结果c1身份认证成功c2银行卡认证成功结果e1个人认证成功确定因果逻辑关系对于因果关系较为的复杂的逻辑,通过结果向前推原因是一个不错的方法。认证成功:身份认证成功和银行卡认证同时为真,认证成功才为真。身份认证成功:基本信息和身份证件同时为真,身份认证成功才为真。银行卡认证:提现认证和充值认证有一个成功,银行卡认证则成功。提现认证、充值认证都是所有的原因都为真时,自己才为真。确定约束关系从业务流程可知:提现认证和充值认证是二择一的,满足唯一性约束条件。而充值认证的三个原因,有流程上的先后顺序,满足必要性约束条件。同样,提现认证的三个原因也满足必要性约束条件。根据约束关系,我们画出因果图如下:画决策表及设计测试用例的过程略。(一)假定一个WEB站点,它部署的环境有以下几种情况:WEB浏览器(Netscape6.2,IE6.0,Opera4.0)插件(ReaPlayer,MediaPlayer)应用服务器(IIS,Apache,NetscapeEnterprise)操作系统(Windows2000,WindowsNT,Linux)要测试在各种环境下能否部署成功,试用正交表测试方法设计测试用例。(二)为以下流程图所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖(一)假设输入的取值范围是1000year2001,请使用基本路径测试法为变量year设计测试用例,使其满足基本路径覆盖的要求。intisLeap(intyear)1{intleap;2if(year%4==0){3if(year%100==0){4if(year%400==0)5leap=1;6else7leap=0;}8else9leap=1;}10else11leap=0;12returnleap;13}说明:程序段中每行开头的数字(1至13)是对每条语句的编号。(1)画出程序控制流图;(2)计算环形复杂度:(3)导出独立路径(用语句编号表示);(4)书写每条独立路径的测试用例。(二)根据如下给出的流程图,使用MM路径的覆盖方法,写出对应的独立路径。(注:每条独立路径要标注翻转点)(1)控制流图如下(3分):(2)环形复杂度为4;(3)独立路径为:P1:1,2,10,11,12P2:1,2,3,8,9,11,12P3:1,2,3,4,6,7,9,11,12P4:1,2,3,4,5,7,9,11,12(4)测试用例:用例1:1000至2000内不能被4整除的整数,如:1001.1002等用例2:1000至2000内能被4整除但不能被100整除的整数,如1004.1008.1012等用例3:1000至2000内能被100整除但不能被400整除的整数,如1100,1300等用例4:1000至2000内能被400整除的整数,如1200,1600等。(5)基路径:1—2—3—-4—5—7对1翻转1—4—5—7对2翻转1—2—4—6—7对4翻转1—2—3—4—6—7对5翻转1—2---3—4—5—6—7(一)已知C源程序如下:#includestdio.h#includestring.hvoidreverse(chars[]){intc,i,j;for(i=0,j=strlen(s)-1;ij;i++,j--){c=s[i];s[i]=s[j];s[j]=c;}}voidgetHex(intnumber,chars[]){inti;i=0;while(number0){if(number%1610)s[i++]=number%16+0;elseswitch(number%16){case10:s[i++]=A;break;case11:s[i++]=B;break;case12:s[i++]=C;break;case13:s[i++]=D;break;case14:s[i++]=E;break;case15:s[i++]=F;break;default:printf(Error);break;}number/=16;}s[i]=\\0;reverse(s);}intmain(){unsignedintnumber;inti=0;chars[50];printf(%s,pleaseinputnumber:\\n);scanf(%d,&number);getHex(number,s);i=0;while(s[i])printf(%c,s[i++]);return0;}(1)画出程序中所有函数的程序流程图;(2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什
本文标题:软件测试期末复习2
链接地址:https://www.777doc.com/doc-1991632 .html