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

下载本文档

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

文档简介

1、简答题11、集成测试策略12、集成测试辅助模块3判断题3设计题31、等价类划分法42、 决策表法73、场景法104、白盒测试方法13选择填空判断15(一)软件测试概述概念、模型151、软件测试概念152、软件测试过程:163、补充:164、测试与软件开发的关系175、软件测试过程模型176、软件测试环境187、软件测试工具18(二)运用黑盒测试方法设计测试用例191、基本概念192、黑盒测试的两个显著优点:203、常用的黑盒测试方法204、等价类划分测试用例设计205、边界值分析法206、决策表法207、因果图法218、黑盒测试方法的选择21(三)运用白盒测试方法设计测试用例231、黑盒测试与

2、白盒测试的区别232、白盒测试的常用方法233、逻辑覆盖244、基本路径测试24(四)软件集成测试相关概念及集成策略的实施过程261、集成测试相关概念262、 集成测试集成策略的实施过程(见简答题)27(五)软件系统测试相关概念及集成策略的实施过程281、系统测试相关概念28系统测试一般由若干个不同测试组成,目的是充分运行系统,验证系统各部件是否都能正常工作并完成所赋予的任务。282、 系统测试集成策略的实施过程29(六)软件测试管理:测试管理内容、原则301、测试管理的基本内容302、测试管理的原则30复习题31软件测试:15个选择题(15分),10个判断题(10分),5个填空题(10分)

3、1个简答题(10分),3个设计题(40分)简答题软件集成测试相关概念及集成策略的实施过程(集成测试策略)139页1、集成测试策略(1)非渐增式集成:首先对每个子模块进行测试(即单元测试),然后将所有模块全部集成起来一次性进行集成测试。(2) 渐增式集成:把程序划分成小段来构造和测试,在这个过程中比较容易定位和改正错误,对接口可以进行更彻底的测试,可以使用系统化的测试方法。目前在进行集成测试时普遍采用渐增式集成方法。自顶向下(从主控制模块开始,沿着程序的控制层次向下移动,逐渐把各个模块结合起来:深度优先、宽度优先)、自底向上(从“原子”(最底层)模块开始组装和测试,不需要桩模块(因为总能得到所需

4、的下层模块处理功能)(3)三明治集成:是一种混合增量式测试策略,综合了自顶向下和自底向上两种集成方法的优点。在这种方法中,桩模块和驱动模块的开发工作都比较小,代价是在一定程度上增加了定位缺陷的难度。【例】作业题对图5-9所示的程序进行自顶向下的集成测试,试给出测试过程。 解:自顶向下1)宽度优先 2)深度优先 对图5-9所示的程序进行自底向上的集成测试,试给出测试过程。 解:自底向上 对图5-9所示的程序进行三明治集成测试,试给出测试过程。 解:三明治集成测试 2、集成测试辅助模块-驱动模块:用以模拟待测模块的上级模块。在集成测试中接受测试数据,把相关的数据传送给待测模块,启动待测模块,并打印

5、出相应的结果-桩模块:存根程序,用以模拟待测模块工作过程中所调用的模块。由待测模块调用,它们一般只进行很少的数据处理,以便于检验待测模块与其下级模块的接口。判断题(1)负载测试是验证要检验的系统的能力最高能达到什么程度。(对)(2)软件测试管理原则之一是全面测试,它的含义:一是对软件的所有产品进行全面的测试;二是测试人员应对测试的全过程进行全程的跟踪。(3)所有测试的标准都是建立在用户需求之上。(4)系统测试的目标是要找出软件在与系统其他部分协调工作时出现的所有故障。(5)安全性测试最终证明应用程序是安全的。(6)软件开发是一个渐进的过程,测试计划需要根据需求变更及时调整。设计题:黒盒测试(等

6、价类,决策表)(20页),白盒测试(88页)1、等价类划分法【例1】课本22页【例2】课本23页【例3】电话号码城市的电话号码由两部分组成。这两部分的名称和内容分别是: 地区码:以0开头的三位或者四位数字(包括0);电话号码:以非0、非1开头的七位或者八位数字。假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,就可用等价分类法来设计它的调试用例。等价类划分:输入数据有效等价类无效等价类地区码以0开头的3位数串以0开头的4位数串以0开头的含有非数字字符的串以0开头的小于3位的数串以0开头的大于4位的数串以非0开头的数串电话号码以非0、非1开头的7位数串以非0、非1开头的

7、8位数串以0开头的数串以1开头的数串以非0、非1开头的含有非法字符7或者8位数串以非0、非1开头的小于7位数串以非0、非1开头的大于8位数串测试用例设计:测试数据期望结果覆盖范围010显示有效输入1、8023显示有效输入1、70851显示有效输入2、70851显示有效输入2、8测试数据期望结果覆盖范围0a34显示无效输入305显示无效输入401234显示无效输入52341显示无效输入6028显示无效输入9028显示无效输入10028qw123456显示无效输入11028623456显示无效输入12028886234569显示无效输入13【例4】学籍管理系统一条学生信息包括学生的学号、姓名。学号

8、是学生信息的关键字,不能重复。每个班级的学号范围和学号的数据要求见数据字典。增加重复学号和非数据字典要求的学号时,系统应给出提示。增加信息时,学号是必须输入的,否则,系统应给出提示。下表是数据字典中关于学号的要求。等价类划分:测试用例设计:【例5】作业题在某一C语言版本中规定: “在同一说明语句中,标识符至少必须有一个。” “标识符是由字母开头,后跟字母或数字的任意组合构成。有效字符数为8个,最大字符数为80个。”并且规定:“标识符必须先说明,再使用。” “标识符不能为系统保留字。”请为C编译器设计测试用例。等价类划分:输入条件有效等价类无效等价类标识符个数1个(1),多个(2)0个(3)标识

9、符字符数18个(4)0个(5),8个(6),80个(7)标识符组成字母(8),数字(9)非字母数字字符(10),保留字(11)第一个字符字母(12)非字母(13)标识符使用先说明后使用(14)未说明就使用(15)下面选取 9 个测试用例,覆盖所有的等价类。 int x, T1234567 ; x = 3 ; T1234567 = 2 ; . (1),(2),(4),(8),(9),(12),(14) int ; (3) int x, ; (5) int T12345678; (6) int T12345.80 ; (7) 多于 80 个字符 char T$ ; (10) int GOTO ;

10、(11) int 2T ; (13) int PAR ; (15) PAP = 2.5 + (3.14*0.8)/6 ;【例6】登陆系统登录系统需求规格说明如下,请按等价类划分方法设计测试用例: 在登录系统界面中,用户输入用户名和密码登录系统。正确的用户名是不低于4位的字符,密码是mercury(大小写均可)。如果用户名为空,系统给出提示:“用户名不能为空”。如果用户名小于4位字符,系统给出提示:“用户名不能小于4位”。如果密码为空,系统给出提示:“密码不能为空”。如果密码小于4位字符,系统给出提示:“密码不能小于4位”。如果密码大于4位字符但不正确时,系统给出提示:“密码错误”。2、 决策表

11、法【例1】课本33页【例2】作业题有一个处理单价为 5 角钱的饮料自动售货机,软件测试用例的设计规格说明如下:若投入 5 角钱或 1 元钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示“零钱找完”的红灯亮,这时在投入 1 元硬币并按下按钮后,饮料不送出来而且 1 元硬币也退出来;若有零钱找,则显示“零钱找完”的红灯灭,在送出饮料的同时退还 5 角硬币。如果用户在投入硬币后的60秒内没有按下“橙汁”或“啤酒”按钮,系统退还硬币。分析这一段说明,列出条件桩: D1: 投入5角硬币D2: 投入1元钱硬币M1:用户在投入硬币后的60秒内按下“橙汁”按钮M2:

12、用户在投入硬币后的60秒内按下“啤酒”按钮M3:用户在投入硬币后的60秒内没有按下按钮S1:有零钱找S2:没有零钱找 动作桩为:不送饮料送出橙汁送出啤酒退出1元硬币退出5角硬币零钱找完红灯亮【例3】某商场促销活动期间,对持商场会员卡的顾客,实行8.5折优惠,满1000元实行7折优惠;对其他顾客消费满1000元的,实行9折优惠,并免费办理会员卡。请给出相应的决策表和测试用例。规则选项1234条件:持会员卡1100消费满1000元0101动作:0折扣7折扣8.5折扣9折扣办会员卡测试用例:输入数据持会员卡,消费999元 输出结果实行8.5折优惠输入数据持会员卡,消费1001元 输出结果实行7折优惠

13、输入数据未持会员卡,消费999元 输出结果没有优惠输入数据未持会员卡,消费1001元 输出结果实行9折优惠,并免费办理会员卡3、场景法(作业)登录系统界面如下:业务流程图如下:请用场景法为登录系统设计测试用例。根据业务流程图导出登录系统用例的事件流。构造登录系统的场景列表。构造测试用例矩阵。设计测试用例值。答:登陆系统用例的事件流:基本流1进入登录界面2输入有效的用户名3输入密码正确4输入验证码正确5点击登录按钮,成功登录备选流备选流1上次选择自动登录,通过验证,成功登录备选流2上次未选择自动登录,用户名未通过验证备选流3上次未选择自动登录,密码不正确,还有输入机会备选流4上次未选择自动登录,

14、密码不正确,没有输入机会备选流5上次未选择自动登录,验证码不正确备选流6上次未选择自动登录。忘记密码场景列表场景描述基本流备选流场景1:成功登录基本流场景2:自动登录成功基本流备选流1场景3:用户名未通过验证基本流备选流2场景4:密码不正确,有输入机会基本流备选流3场景5:密码不正确,没有输入机会基本流备选流4场景6:验证码不正确基本流备选流5场景7:忘记密码基本流备选流6测试用例矩阵表示这个条件必须有效才可执行基本流,表示条件无效,表示这个条件不适用于测试用例编号场景自动登录用户名登录密码验证码忘记密码预期结果账号邮箱I1账号登录成功登录II1邮箱登录成功登录III2自动登录成功登录IV3用

15、户名有误提示用户名有误V4有机会输入提示密码和用户名不匹配可再次登录VI5没机会输入提示密码和用户名不匹配且账号已锁定VII6自动登录验证码有误提示输入验证码有误VIII6非自动登录验证码有误提示输入验证码有误IX7忘记密码出现忘记密码界面测试用例值编号场景自动登录用户名登录密码验证码忘记密码预期结果账号邮箱I1账号登录未选择输入账号不输入正确密码输入正确未选择成功登录II1邮箱登录未选择不输入输入邮箱正确密码输入正确未选择成功登录III2自动登录选择输入正确未选择成功登录IV3用户名有误未选择输入不正确的用户名未选择提示用户名有误V4有机会输入未选择输入正确用户名错误密码未选择提示密码和用户

16、名不匹配可再次登录VI5没机会输入未选择输入正确的用户名错误密码未选择提示密码和用户名不匹配且账号已锁定VII6自动登录验证码有误选择输入错误未选择提示输入验证码有误VIII6非自动登录验证码有误未选择输入错误未选择提示输入验证码有误IX7忘记密码输入正确用户名选择出现忘记密码界面4、白盒测试方法【例1】(课本88页)7.有程序流程如下图,对该程序段做出白盒测试,请分别写出满足以下标准的测试用例集: 1) 判定覆盖标准2) 条件覆盖标准3) 判定条件覆盖标准4) 语句覆盖标准5) 条件组合覆盖标准6) 路径覆盖标准7) 用基本路径测试法测试用例答:路径:Path1:01-11-23-13-24

17、5Path2:01-13-13-245Path3:01-11-223-13-245Path4:01-11-23-145Path5:01-11-23-13-25 【例2】 1.如图显示某程序的逻辑结构。试为它设计足够的测试用例,分别实现对程序的判定覆盖、条件覆盖和条件组合覆盖。 覆盖种类需满足的条件测试数据期望结果判定覆盖A0,B=0A=2,B=0执行S1A0,B0或A0,B=0或A0,B0A=2,B=1或A=0,B=0或A=-1,B=1执行S2条件覆盖以下四种情况各出现一次A0B=0A=2,B=0执行S1A0B0A=-1,B=1执行S2条件组合覆盖A0,B=0A=2,B=0执行S1A0B0A=

18、2,B=1执行S2A0,B=0A=-1,B=0执行S2A0,B0A=0B=1执行S2【例3】在白盒测试用例设计中,有语句覆盖、分支覆盖、条件覆盖、路径覆盖等,其中(路径覆盖 )是最强的覆盖准则。为了对如下图所示的程序段进行覆盖测试,必须适当地选取测试用例组。若x, y是两个变量,可供选择的测试用例组共有、四组,如表中给出,则实现判定覆盖至少应采取的测试用例组是( 5 )或(8 );实现条件覆盖至少应采取的测试用例组是(4 );实现路径覆盖至少应采取的测试用例组是(5)或( 8 )。A: 语句覆盖 条件覆盖 判定覆盖 路径覆盖BF: 和组 和组 和组 和组 、组 、组 、组 、组解答:A. B.

19、 C. D. E. F. 选择填空判断:知识点:一、软件测试概念、模型(10分) 二、运用黑盒测试方法设计测试用例(30分) 三、运用白盒测试方法设计测试用例(20分) 四、软件集成测试相关概念及集成策略的实施过程(15分) 五、软件系统测试相关概念及集成策略的实施过程(15分) 六、软件测试管理:测试管理内容、原则(10分)(一)软件测试概述概念、模型1、软件测试概念软件测试是在一个可控的环境中分析或执行程序的过程,其根本目的是以尽可能少的时间和人力发现并改正软件中潜在的各种故障及缺陷,提高软件的质量。测试目的决定了测试方案的设计。【例】1.下列关于软件测试的叙述错误的是( )。A.软件测试

20、可以作为度量软件与用户需求间差距的手段B.没有发现错误的测试也是有价值的C.软件测试的根本目的是尽可能多地发现软件中存在的问题,最终把一个高质量的软件系统交给用户使用D.软件测试的主要工作内容包括发现软件中存在的错误并解决存在的问题2、软件测试过程: A、单元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。软件单元测试的目的是检测程序模块对详细设计说明书的符合程度;软件单元测试依据是单元测试计划。B、 软件集成测试又称组装测试,即对程序模块采用自顶向下或自底向上组装起来,对系统的接口进行正确性检验的测试工作。软件集成测试由项目经理组织软件测试工程师依据概要设

21、计说明书和集成测试计划进行。 C、确认测试又称有效性测试。任务是验证软件的功能和性能及其他特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明中已经明确规定。D、 系统测试是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起测试。在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。E、 项目经理负责组织验收组进行最终验收测试。验收组应由项目组成员、用户代表、监理代表等组成。验收测试原则上在顾客所在地进行

22、,但如经顾客同意也可以在公司内模拟用户环境进行。【例】12.全局数据结构的错误通常在( )中检查。A.单元测试B.有效性测试C.集成测试D.确认测试 3、补充:回归测试(重新从单元测试开始再次进行测试,一般发生在软件功能变化时)、&测试(测试是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。测试的目的是评价软件产品的功能、可使用性、可靠性、性能和支持。测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。与测试不同的是,开发者通常不在测试现场)例题软件开发公司组织内部人员,模拟各类用户行为对即将面市的软件产品进行的测试我们称之为( B )

23、。A.系统测试B. 测试C. 测试D.综合测试4、测试与软件开发的关系5、软件测试过程模型V模型:非常明确地表明了测试的不同级别,清晰地展示了软件测试与开发之间的关系。需求、功能、设计和编码的开发活动随时间而进行,而相应的测试活动(即针对需求、功能、设计和编码的测试)开展的次序正好相反。成功应用软件开发V模型的关键因素是设计测试案例的时机。 W模型:形象地说明了测试与开发的并行关系,体现了测试贯穿于整个开发过程的思想。测试的对象不仅是程序,也包括需求和设计阶段形成的文档。测试伴随整个开发周期。测试的对象不仅仅是程序,还包括需求和设计。W模型应用:相应开发活动完成,即可执行测试(例如:需求分析完

24、成,即可对需求进行测试) 。H模型:测试不仅仅是测试执行,还包括其他活动。测试是一个独立流程,贯穿产品整个周期,于其他流程并发进行。测试要尽早准备,尽早执行。测试根据被测物的不同是分层次的。【例题】 ( A )说明了软件测试与开发的并行关系,体现了测试贯穿于整个开发过程的思想。A.W模型B.V模型C.H模型D.X模型6、软件测试环境软件测试环境硬件软件网络数据准备测试工具7、软件测试工具(1)白盒测试工具根据测试工具的原理不同,又可分为静态测试工具和动态测试工具。1)静态测试是指不运行被测试程序而通过检查、阅读进行分析。静态测试工具是在不执行程序的情况下分析软件的特性。职能:主要集中在需求文档

25、、设计文档以及程序结构上,可以进行类型分析、接口分析、输入输出规格说明分析等。2)动态测试是指通常意义上的测试,需要运行和使用软件。动态测试工具直接执行被测程序以提供测试支持。职能:功能确认与接口测试、覆盖率分析、性能分析、内存分析等。【例1】2.软件测试技术可以分为静态测试和动态测试,下列说法中错误的是( C )。A.静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。B.动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。C.动态测试包括黑盒测试和白盒测试。D.白盒测试是静态测试,黑盒测试是动态测试。(都是白盒测试工具)(2)黑盒测试工具功能测试工具用于检测被测程序

26、能否达到预期的功能要求并正常运行。性能测试工具用来确定软件和系统的性能。【例】7.软件测试用例主要由输入数据和( C )两部分组成。A.测试计划B.测试规则C.预期输出结果D.以往测试记录分析【例】2.在下面几句中,判断哪一个是正确的。( D )A.测试工作应在编码阶段结束后开始。B.测试设计工作与软件开发活动是相互独立、相互无关的。C.测试脚本是指一个测试包,它由一组逻辑相关的测试用例组成。D.过度测试会影响进度和增加成本。【例】5.为了提高测试的效率,应该( D )。A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据

27、作为测试数据【例】9.测试人员在提交软件缺陷报告后,很可能发现开发人员对报告的缺陷存在异议。因此需要一个双方认同的准则,用于判定软件产品是否存在软件缺陷。在实际的软件项目工作中,我们通常采纳的判定准则是( B )。A.测试人员提供的这个软件缺陷的证据B.软件产品的运行结果与需求规格说明书不一致C.可以客观地描述这个软件缺陷D.软件产品的运行结果与测试人员预期的不一致【例】10.从供选择的答案中选出同下列关于软件测试的各条叙述关系最密切的字句。在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试。此时,有必要用一些模块替代尚未测试过的下层模块。( A )A.桩B.仿真器C

28、.模拟器D.原型【例】14.在软件质量概念中,不属于测试要达到的目标为( D )A.确保建立了测试计划,并按照测试计划进行测试B.确保测试计划覆盖了所有的系统规格定义和系统需求C.确保经过测试和调试,软件仍旧符合系统规格和需求定义D.确保设计变更被正确的跟踪、控制、文档化(二)运用黑盒测试方法设计测试用例1、基本概念黑盒测试是从用户观点出发的测试,其目的是尽可能发现软件的外部行为错误。要利用黑盒测试方法查出软件中所有故障,只能采用把所有可能的输入全部都用作测试输入的穷举输入参数法来完成。2、黑盒测试的两个显著优点: 黑盒测试与软件具体实现无关,所以如果软件实现发生了变化,测试用例仍然可以使用;

29、 设计黑盒测试用例可以和软件实现同时进行,因此可以压缩项目总的开发时间。3、常用的黑盒测试方法有等价类划分、边界值分析、因果图、决策表测试、错误推测法、场景法、正交实验法等,每种方法各有所长,应针对软件开发项目的具体特点,选择合适的测试方法。4、等价类划分测试用例设计(1)在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。(2)软件不能都只接收合理的数据,还要接受无效的或不合理的数据,这样获得的软件才能具有较高的可靠性。(3)具体步骤:.划分等价类;为每个等价类规定一个唯一的编号。.设计一个新的测试用例,尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到测试用例覆盖了所有的有效等价

30、类。.设计一个新的测试用例,使其覆盖并且只覆盖一个还没有被覆盖的无效等价类。重复这一步,直至测试用例覆盖了所有的无效等价类。5、边界值分析法应用边界值分析法进行测试用例设计时,应遵循以下一些原则:.如果输入条件对取值范围进行了限定,则应以边界内部以及刚超出范围边界外的值作为测试用例。.如果对取值的个数进行了界定,则应分别以最大、稍小于最大、稍大于最大、最小、稍小于最小、稍大于最小个数作为测试用例。.对于输出条件,同样可以应用上面提到的两条原则来进行测试用例设计。.如果程序规格说明书中指明输入或者输出域是一个有序的集合,如顺序文件、表格等,则应注意选取有序集合中的第一个和最后一个元素作为测试用例

31、。6、决策表法基于决策表的测试是最严格,最具有逻辑性的黑盒测试方法。它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。决策表适合处理:针对不同逻辑条件的组合值,分别执行不同的操作这样的问题。7、因果图法从程序规格说明书的描述中找出因和果的关系,通过因果图转换为决策表,最后为决策表中的每一列设计一个测试用例。输入条件的约束:E(异或):a和b中最多只能有一个为1,即a和b不能同时为1。I(或):a、b和c中至少有一个为1,即a、b和c不能同时为0。O(唯一):a和b必须有一个,且仅有一个为1.R(要求):a是1时,b必须是1,输出条件的约束:M(强制):如果结果a是1,则结果b强

32、制为0.因果图法的测试运用程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,在此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N;如果第二个字符不是数字,则给出信息M。1. 将原因和结果分开。原因:c1第一个字符是#c2第一个字符是*c3第二个字符是一个数字结果:e1给出信息Ne2修改文件e3给出信息M错误推测法依靠测试人员的经验与智慧场景法设计步骤:(1)依据事件流构造场景列表(2)构造测试用例矩阵(3)设计测试用例8、黑盒测试方法的选择【例1】3.月收入=800元者免税,现用输入数800元和801元测试程序,则采用的是( A )方法。A.边界值分析B.

33、条件覆盖C.错误推测D.逻辑覆盖【例2】6.( A )能够有效地检测输入条件的各种组合可能会引起的错误。A.等价类划分B.边界值分析C.错误推测D.因果图【例3】3.( C )方法根据输出对输入的依赖关系设计测试用例。A.路径测试B.等价类C.因果图D.边界值分析【例4】4.在功能测试中,假设求实数x的平方根,我们第1次输入“最小的负实数”进行测试,第2次输入“稍小于0”进行测试,第3次输入0进行测试,第4次输入“稍大于0”进行测试,第5次输入“最大的正实数”进行测试,那么这种测试属于( A )。A.边界值分析法B.绝对值分析法C.相对值分析法D.等价类划分法【例5】6.现有一个计算类型的程序

34、,它的输入只有一个Y,其范围是50Y50。现从输入的角度考虑设计了一组测试用例:100,100,0。设计这组测试用例的方法是( D )。A.条件覆盖法B.等价类划分法C.边界值分析法D.错误推测法【例6】5.某程序功能说明中列出“规定每个运动员参赛项目为13项”,应用黑盒法中的等价类划分法确定等价类是( D )。A.1=项目数=3B.项目数3D.以上都是【例7】4.程序功能说明中指出:由三个输入数据表示一个三角形的三条边长。根据黑盒法中的边界值分析法设计测试用例,应选( D )。A.a=3,b=4,c=5B.a=1,b=2,c=4C.上述A、B项目都应选上D.a=1,b=2,c=3【例8】6.

35、如果某个程序的输入数据的可能值划分为n个合理等价类,m个不合理等价类,这些等价类均为数轴上的一个有限区间范围,则采用边界值测试方法至少需要( A )个测试用例。A.2(m+n)B.2m+nC.2n+mD.m+n(三)运用白盒测试方法设计测试用例1、黑盒测试与白盒测试的区别(1)软件的白盒测试是对软件的过程性细节做细致的检查,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例因此白盒测试又称为结构测试或逻辑驱动测试。(2)软件的黑盒测试意味着测试要在软件的接口处进行,只依据程序的需求规格说明书和用户手册,检查程序的功能是否符合它的功能说明,以及性能是否满足用户的要求。因此黑盒测试

36、又叫功能测试或数据驱动测试。2、白盒测试的常用方法逻辑覆盖、路径分析测试、循环/条件分支3、逻辑覆盖4、基本路径测试(1)基本路径测试思想:根据程序的控制流图找出一个模块所需测试的基本路径,根据这些基本路径设计构造相应的测试用例(2)基本路径测试设计步骤根据模块逻辑构造控制流图(Flow Graph)计算控制流图的环复杂度 (Cyclomatic Complexity)列出包含起始节点和终止节点的基本路径设计覆盖这些基本路径的测试用例其中第1、3、4步是重难点。【例1】3.月收入=800元者免税,现用输入数800元和801元测试程序,则采用的是( )方法。A.边界值分析B.条件覆盖C.错误推测

37、D.逻辑覆盖【例2】6.现有一个计算类型的程序,它的输入只有一个Y,其范围是50Y50。现从输入的角度考虑设计了一组测试用例:100,100,0。设计这组测试用例的方法是( )。A.条件覆盖法B.等价类划分法C.边界值分析法D.错误推测法【例3】7.实际的逻辑覆盖测试中,一般以( )为主设计测试用例。A.条件覆盖B.判定覆盖C.条件组合覆盖D.路径覆盖【例4】5.某教学设备销售部门制定一项销售优惠政策,一次购买100台或100台以上者按八五折优惠,购买者是教师、学生按九折优惠。设C1表示购买的台数,C2为1、2、0分别表示教师、学生和其他人员,则符合九折优惠判定条件为( )。A.(C1100)

38、AND NOT(C2=0)B.(C10)C.NOT(C1100)AND(C2=0)D.NOT(C10)【例5】8.void SelectSort ( datalist & list ) /对表list.V0到list.Vn-1进行排序, n是表当前长度。for ( int i = 0; i list.n-1; i+ ) int k = i; /在list.Vi.key到list.Vn-1.key中找具有最小关键码的对象for ( int j = i+1; j list.n; j+)if ( list.Vj.getKey ( ) list.Vk.getKey ( ) ) k = j;/当前具最小

39、关键码的对象if ( k != i ) Swap ( list.Vi, list.Vk );/交换 上面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素Vi的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( ):请问该程序段的McCabe环路复杂性为多少?( )A.2B.3C.4D.5【例6】8.PROCEDURE averagyi = 1;total.input = total.valid = 0;sum = 0;DO WHILE valuei -999 AN

40、D total.input = minimum AND valuei 0THEN averagy = sum / total.valid;ELSE averagy = -999;ENDIFEND averagy上面是一个求平均值的程序,请问该程序段的McCabe环路复杂性为多少?( )A.4B.5C.6D.7(四)软件集成测试相关概念及集成策略的实施过程1、集成测试相关概念(1)集成测试主要检查各个软件单元之间的相互接口是否正确。(2)集成测试与系统测试的区别:测试对象(系统测试还包括硬件等)、测试时间(集成测试先于系统测试)、测试方法(系统测试采用黑盒测试,集成测试黑白结合)、测试内容、测试

41、目的、测试角度(集成测试站在开发人员的角度,系统测试更多站在用户角度)。(3) 集成测试的层次与原则1) 层次:(传统软件)模块间集成测试、子系统内集成测试、子系统间集成测试;(面向对象的应用系统)类内集成测试、类间集成测试。2) 原则:所有公共接口必须被测试到;关键模块必须进行充分测试;集成测试应当按一定层次进行;集成测试应当尽早开始,并以概要设计为基础;在模块和接口的划分上,测试人员应该和开发人员进行充分沟通;当测试计划中的结束标准满足时,集成测试才能结束;当接口发生修改时,涉及到的相关接口都必须进行回归测试;集成测试应根据集成测试计划和方案进行,不能随意测试;项目管理者应保证测试用例经过

42、审核;测试执行结果应当如实的记录;集成测试策略选择应当综合考虑质量、成本和进度三者之间的关系。(4)集成测试策略:非渐增式集成方法渐增式集成方法自顶向下、自底向上、三明治要从多个角度进行集成测试用例设计集成测试过程计划、设计、实施、执行、评估2、 集成测试集成策略的实施过程(见简答题)【例1】10.集成测试的策略一般分为:一次性集成和渐增式集成。下面哪一条真实地反映了前者与后者的不同?( A )。A.后者比前者更适合大规模应用系统的集成测试B.在集成测试中发现问题时,前者比后者更容易进行问题定位C.前者需要开发驱动模块和桩模块,而后者不需要开发驱动模块和桩模块D.前者不需要所有模块就绪,而后者

43、需要所有模块就绪【例2】11.集成测试又称为组装测试,其主要内容包括( C )。A.对整体的性能进行测试B.用白盒法设计测试用例进行测试C.确定组装策略和次序D.对运行过程进行测试(是对接口进行测试)【例3】9.对于传统软件来说,按集成粒度不同可以把集成测试分为( C )。模块间集成测试 类内集成测试 类间集成测试 子系统内集成测试 子系统间集成测试A.B.C.D.【例4】10.在有关集成测试的叙述中,( A )是正确的。A.测试底层模块时不需要桩模块B.驱动模块的作用是模拟被调模块C.自顶向下测试方法易于设计测试结果D.自底向上测试方法有有利于提前预计测试结果【例5】12.不断执行同样的操作

44、,如不停地启动或关闭程序、反复读写数据或者选择同一个操作。这种测试我们称之为( B )测试。A.强度B.重复C.压迫D.重负【例6】11.集成测试时,能较早发现高层模块接口错误的测试方法为( A )。A.自顶向下渐增式测试B.自底向上渐增式测试C.非渐增式测试D.系统测试【例7】13.同时启动上百个模拟连接去请求服务器的服务,这种测试我们称之为( D )测试。A.安全B.重复C.容量D.压力(五)软件系统测试相关概念及集成策略的实施过程1、系统测试相关概念系统测试一般由若干个不同测试组成,目的是充分运行系统,验证系统各部件是否都能正常工作并完成所赋予的任务。(1)性能测试通过测试确定系统运行时

45、的性能表现,如得到运行速度、响应时间、占有系统资源等方面的系统数据。(2) 压力测试通过逐步增加系统负载来测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,以此来获得系统性能提供的最大服务级别的测试。压力测试和负载测试的联系与区别:负载测试是通过逐步增加系统工作量,测试系统能力的变化,并最终确定在满足功能指标的情况下,系统所能承受的最大工作量的测试。压力测试实质上就是一种特定类型的负载测试。(3) 容量测试通过测试,预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),确定系统在其极限值状态下是否还能保持主要功能正常运行。还将确定测试对象在给定

46、时间内能够持续处理的最大负载或工作量。压力测试容量测试联系二者都是检测系统在特定情况下,能够承担的极限值。区别主要是使系统承受速度方面的超额负载,例如一个短时间之内的吞吐量。关注的是数据方面的承受能力,并且它的目的是显示系统可以处理的数据容量。(4)健壮性(高可靠性、从错误中恢复的能力)测试用于测试系统抵御错误(由于设计缺陷而带来的系统错误)的能力。重点为当出现故障时,是否能够自动恢复或忽略故障继续运行。(5)安全性测试是检查系统对非法侵入的防范能力,其目的是为了发现软件系统中是否存在安全漏洞。(6)可靠性测试是以计算软件可靠性为目的的。可以得出可靠性是否达到规定指标要求可以给出软件测试应该何

47、时结束通常使用平均无故障时间MTBF(Mean Time Between Failure)来衡量系统的可靠性。MTBF越大,系统的可靠性越强。(7)2、 系统测试集成策略的实施过程(1) 性能测试分为3个阶段:计划阶段、测试阶段、分析阶段性能测试的基准:响应时间、并发用户数、吞吐量、性能计数器(2) 压力测试方法的特点:1)检查系统处于压力情况下的能力表现、2)一般通过模拟方法进行、3)一般用于测试系统的稳定性;有效的压力测试可以采用以下的测试手段:1)重复测试2)并发测试3)量级增加4)随机变化。【例1】12.系统测试一般从客户角度考察和评价软件产品的质量,不考虑开发方关注的质量特性。那么,

48、下面那一个质量特性一般不是系统测试的重点?( D )A.是否符合有关的国家和行业标准B.产品版本升级是否容易C.软件产品是否易于理解和使用D.可复用的软件部件所占的比例【例2】14.对一个网站的连接速度测试属于( C )? A功能测试 B. 客户端兼容性测试 C. 性能测试D. 安全测试(六)软件测试管理:测试管理内容、原则1、测试管理的基本内容软件测试管理是软件工程的保护性活动。它先于任何测试活动之前开始,且持续贯穿于软件开发整个生命周期之中。测试管理通过一定的管理方法和工具对整个软件测试过程进行计划、组织和监控,主要内容包括:测试组织管理:组织和管理测试小组、安排测试任务、估计测试工作量、确定应交付的测试文档等。测试过程管理:主要包括测试准备、测试计划、测试设计、测试执行、缺陷跟踪与管理、测试评估。资源和配置管理:人力和环境资源管理;以及标识、控制和管理软件变更。测试文档管理:分类、格式和模板、一致性、存储管理。2、测试管理的原则没有哪种模型完全适用于某项实际的测试工作,应从不同的模型中抽象出符合实际现状的测试过程管理理念来策划测试过程,以不变应万变。(1)尽早测试:测试人员尽早参与软件项目;尽早开展测试执行工作。(2)全面测试:对软件的所有产品进行全面的测试;软件开发及测试人员应全面参与

温馨提示

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

评论

0/150

提交评论