软件测试期末复习_第1页
软件测试期末复习_第2页
软件测试期末复习_第3页
软件测试期末复习_第4页
软件测试期末复习_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件测试期末复习选择题-20题,20分判断题-10题,10分名词解释-4题,15分综合题4题,55分名词解释测试:是在用户组织模拟软件系统的运行环境下的一种验收测试,由用户或第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试,试图发现并修改错误。 测试:是用户公司组织各方面的典型终端用户在日常工作中实际使用beta版本,并要求用户报告异常情况,提出批评意见。桩模块:用以代替被测程序调用的子模块。桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么都不做。驱动模块 :相当于被测模块的主程序,它接收测试数据,把这些数据传送给被测模块,最后输出实测结果。静态分

2、析:不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。动态分析:动态方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能验收测试 :验收测试是部署软件之前的最后一个测试操作。目的是确保软件准备就绪,并且可以让最终用户将其 用于执行软件的既定功能和任务。测试用例:是一组测试输入、执行条件和预期结果,目的是要满足一个特定的目标,比如执行一条特定的程序路径 或检验是否符合一个特定的需求。黑盒测试:从用户角度出发, 基于产品的功能需求,目的是检查程序各个功能是否能够实现,并检查其中的功能错 误。白盒测试:基于产品的内部结构进行测试,检查内部操作是否按规定执行,

3、软件各个部分功能是否得到充分使用。 负载测试:通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。单元测试:测试中的最小单位或基本组成单位,进行检查和验证。集成测试:测试应用程序结合的部分,确定它们的功能结合到一起是正确的。 容量测试:容量测试的目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、 数据库记录数等)兼容性测试:兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操纵系统平台上、不同的网络等环境中是否能够很友好的运行的测试。配置测试:配置测试主要是针对硬件而言,其测试过程是测试目标软件在具体硬件配置情况下,出

4、不出现问题,为 的是发现硬件配置可能出现的问客观题 判断题l 软件测试的目的,测试的层次,二八原则,软件测试的执行过程。测试停止的标准l 白盒测试-语句,判定,条件覆盖的概念,计算数据流测试概念, 环形复杂度计算,DD路径l 黑盒测试等价类,边界值,决策表,因果图,N-S图,正交表,场景法的概念或基本技术l 单元测试的概念过程,集成测试概念,策略,系统测试,回归测试概念l 验收测试-alpha 测试 , 测试 l 性能测试,压力测试,负载测试,兼容性测试,安全性测试,配置测试l Junit断言,cunit,静态测试,winnner的测试流程,loadrunner的基本功能l 缺陷的可重性,缺陷

5、的严重性级别,优先级,状态综合题1.分析说明书使用黑盒测试的方法书写测试用例2.分析程序段,使用逻辑覆盖方法书写测试用例使用基本路径方法,画出控制流图,计算圈复杂度,列出独立路径,书写测试用例3.使用MM路径方法,列出给定控制流图的独立路径4.单元测试测试代码的填空l 针对以下问题:某一种8位计算机,其十六进制常数的定义是以0x或0X开头的十六进制整数,其取值范围为7f7f(不区分大小写字母),如0x13、0x6A、0x3c。请采用等价类划分和边界值的方法设计测试用例。 l double sds(double y) double x; if(y=2000) x=0; else if(y=360

6、0) x=(y-2000)*0.05; else if(y=6600)x=sds(3600)+(y-3600)*0.1; else if(y=21600) x=sds(6600)+(y-6600)*0.2; else if(y=61600) x=sds(21600)+(y-21600)*0.3; else if(y=) x=sds(61600)+(y-61600)*0.4; else x=sds()+(y-)*0.5; return(x); l #includestdio.h int main() double y,x; printf(请输入收入:n); scanf(%If,y); x=sds

7、(y); printf(应缴个人所得税为:sds(%9.2f)=%9.2f,y,x); return 0; l int isLeap(int year)l 1 int leap;l 2 if (year % 4 = = 0)l 3 if (year % 100 = = 0)l 4 if ( year % 400 = = 0)l 5 leap = 1;l 6 elsel 7 leap = 0;l 8 elsel 9 leap = 1;l 10 elsel 11 leap = 0;l 12 return leap;l 13 1236457l void test_maxi(void)l l CU_A

8、SSERT(maxi(0,2) = 2);l CU_ASSERT(maxi(0,-2) = 0);l CU_ASSERT(maxi(2,2) = 2);l 一输入:用户密码要求: 1)用户密码为6到8位。 2)必须含有字母和数的组合。输出: 如正确,输出正确的信息。否则,输出相应的错误信息。请结合等价类划分法设计出相应的测试用例。参考答案:输入条件有效等价类编号无效等价类编号用户密码6=位数=8(1)位数8(4)包含字母和数字(2)不包含数字(5)不包含字母(6)包含其他字符(7)测试ID测试用例名输入参数覆盖等价类输出信息1User-ps-11234abcd(1)(2)输入正确2User-p

9、s-21234a(3)输入错误3User-ps-3df(4)输入错误4User-ps-4abcdedf(1)(5)输入错误5User-ps-5(1)(6)输入错误6User-ps-612#345(1)(7)输入错误二 采用决策表的测试方法完成下列说明书的测试。 支付宝认证总流程如下,采用因果图测试方法设计测试用例。支付宝个人认证中,分为两部分:个人身份认证和银行卡认证。这两者都通过后,认为个人认证成功。个人身份认证需要提交个人基本信息及身份证复印件。银行卡认证分为两种:提现认证和充值认证。提现认证的流程是:用户提交正确的银行帐号支付宝给用户的银行卡中随机打款用户确认金额,认证成功。充值认证的流

10、程是:用户提交正确的银行帐号充值充值完成网银反馈,认证成功。l 从上面的描述中,我们可以总结出2大原因和一个结果。原因一:身份认证成功身份认证成功也是一个中间结果,它也有2个原因,提交基本信息成功和提交身份证成功。原因二:银行卡认证成功,包含2个原因:充值认证成功和提现认证成功。这2种原因也可以看做是中间结果,产生结果的原因在需求中可以也能明显看出来,不再赘述。一个结果:个人认证成功。注意:为了简便起见,我们假设个人信息提交和身份证件提交成功后,身份认证则成功,忽略人工审核过程。原因和结果表如下:原因c11个人基本信息提交成功c12个人身份证件提交成功原因c221充值认证的银行帐号提交成功c2

11、22充值成功c223网银反馈成功原因c211提现认证的银行帐号提交成功c212支付宝打款成功c213用户确认成功中间结果c21银行卡提现认证成功c22银行卡充值认证成功中间结果c1身份认证成功c2银行卡认证成功结果e1个人认证成功l 确定因果逻辑关系对于因果关系较为的复杂的逻辑,通过结果向前推原因是一个不错的方法。认证成功:身份认证成功和银行卡认证同时为真,认证成功才为真。 身份认证成功:基本信息和身份证件同时为真,身份认证成功才为真。银行卡认证:提现认证和充值认证有一个成功,银行卡认证则成功。提现认证、充值认证都是所有的原因都为真时,自己才为真。l 确定约束关系从业务流程可知:提现认证和充值

12、认证是二择一的,满足唯一性约束条件。而充值认证的三个原因,有流程上的先后顺序,满足必要性约束条件。同样,提现认证的三个原因也满足必要性约束条件。根据约束关系,我们画出因果图如下:l 画决策表及设计测试用例的过程略。(一) 假定一个WEB站点,它部署的环境有以下几种情况: WEB浏览器(Netscape 6.2, IE6.0, Opera4.0) 插件(ReaPlayer ,MediaPlayer) 应用服务器(IIS ,Apache ,Netscape Enterprise) 操作系统(Windows2000 ,Windows NT ,Linux)要测试在各种环境下能否部署成功,试用正交表测试

13、方法设计测试用例。(二) 为以下流程图所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖(一) 假设输入的取值范围是1000 year 2001,请使用基本路径测试法为变量year 设计测试用例,使其满足基本路径覆盖的要求。int isLeap(int year)1 int leap;2 if (year % 4 = = 0)3 if (year % 100 = = 0)4 if ( year % 400 = = 0)5 leap = 1;6 else7 leap = 0;8 else9 leap = 1;10 else11 leap = 0;12 return leap;

14、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整除的整数,

15、如:1001.1002等用例2:1000至2000内能被4整除但不能被100整除的整数,如1004.1008.1012等用例3:1000至2000内能被100整除但不能被400整除的整数,如1100,1300等用例4:1000至2000内能被400整除的整数,如1200,1600等。(5)基路径:123-457对1翻转1457对2翻转12467对4翻转123467对5翻转12-34567(一) 已知C源程序如下: #include #include void reverse(char s) int c,i,j; for(i=0,j=strlen(s)-1;i0) if(number%1610)

16、 si+=number%16+0; else switch(number%16) case 10:si+=A;break; case 11:si+=B;break; case 12:si+=C;break; case 13:si+=D;break; case 14:si+=E;break; case 15:si+=F;break; default:printf(Error);break; number/=16; si=0; reverse(s); int main() unsigned int number; int i=0; char s50; printf(%s,please input

17、number:n); scanf(%d,number); getHex(number,s); i=0; while(si) printf(%c,si+); return 0; (1)画出程序中所有函数的程序流程图; (2)设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。 (2) 设计测试用例 输入0,输出0 输入2 ,输出2 输入26,输出1A 输入27, 输出1B 输入28, 输出1C 输入29, 输出1D 输入30, 输出1E 输入31,输出1F 输入20P,输出错误 语句覆盖率无法达到100%,因为main()函数中的return 0 语句永远无法执行。 1:以下是某软件项目规格说明,请按要求回答问题(20分)某一软件项目的规格说明:对于处于提交审批状态的单据,数据完整率达到80%以上或已经过业务员确认,则进行处理。(1)请根据规格说明,画出对应的因果图。(10分)(2)采用基于因果图的方法为该软件项目设计测试用例。(10分) (1)解答:首先根据规格说明,列出所有可能的输入和输出,得到如下结果: 输入:处于提交状态、数据完整率达到80%以上、已经过业务员确认

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论