1、软件测试题目汇总软件测试题目汇总选择题1在下面说列举的逻辑测试覆盖中,测试覆盖最强的是 。A条件覆盖 B条件组合覆盖 C语句覆盖 D判定/条件覆盖(B)1在下面说列举的逻辑测试覆盖中,测试覆盖最弱的是 。A条件覆盖 B条件组合覆盖 C语句覆盖 D判定/条件覆盖(B)2对下面的个人所得税程序中,满足判定覆盖测试用例的是 。if (income 800) tarrate = 0 ;else if (income = 1500) tarrate = 0.05 ;else if (income 2000) tarrate = 0.08 ;else tarrate = 0.1 ;Aincome = (7
2、99, 1500, 1999, 2001) Bincome = (799, 1501, 2000, 2001)Cincome = (800, 1500, 2000, 2001) Dincome = (800, 1499, 2000, 2001)2对下面的个人所得税程序中,满足语句覆盖测试用例的是 。if (income 800) tarrate = 0 ;else if (income = 1500) tarrate = 0.05 ;else if (income = 1 & month = 12 )34 if ( month = 2 )5 6 if ( year % 4 = 0 )7 8 i
3、f ( year % 100 = 0 )9 10 if ( year % 400 = 0 )11 maxday = 29;12 else13 maxday = 28;14 15 else16 maxday = 29; 17 18 else19 maxday = 28;20 21 else if ( month = 4 | month = 6 | month = 9 | month = 11 )22 maxday = 30;23 else24 maxday = 31;25 26 return maxday;【问题1】(15分)请画出以上代码的控制流图.其中,A: 13,14B: 15,16C:
4、18,19D: 23,24【问题2】(5分)请计算上述控制流图的环复杂度V(G)(独立线性路径数)V(G)=6+1=7, V(G)221727, V(G)=6+1=7【问题3】(20分)假设输入的取值范围是1000 year =)2M_oper.SetCurSel(0);3else45if(temp= =)6m_oper.SetCurSel(1);7else89if(temp= = =)10m_oper.SetCurSel(2);11else1213if(temp= =)14m_oper.SetCurSel(3);15else1617if(temp=、=、=、=M_oper.SetCurSel
5、(0)p23m_oper.SetCurSel(1)p34=m_oper.SetCurSel(2)p45=m_oper.SetCurSel(3)p56m_oper.SetCurSel(4)p6简述题:大家一起学习软件测试已经半个学期了,那么你对软件测试有哪些认识呢?如果现在由你来讲授软件测试这门课程,你希望拥有一种什么样的课堂气氛?在不影响教学目标的前提下,又该如何来营造这种氛围?(如何实现自己的教学目标呢?)软件系统开发技术试题(一) 答案一、单项选择题(本大题共10小题,每小题1分,共10分)1. 设计软件结构一般不确定( D )2. 软件结构化设计中,好的软件结构应该力求做到( B )A.
6、顶层扇出较少,中间扇出较高,底层模块低扇入B.顶层扇出较高,中间扇出较少,底层模块高扇入C.顶层扇入较少,中间扇出较高,底层模块高扇入D.顶层扇入较少,中间扇入较高,底层模块低扇入3. 两个模块都使用同一张数据表,模块间的这种耦合称为( A )4. 划分模块时,下列说法正确的是( A )A.作用范围应在其控制范围之内 C.作用范围与控制范围互不包含 5. 重用率高的模块在软件结构图中的特征是( B )6. 面向对象建模得到的三个模型,其中核心的模型是( A )7. 从结构化的瀑布模型看,在软件生存周期的几个阶段中,对软件的影响最大是( C )8对UML的叙述不正确的是( D )AUML统一了B
7、ooch方法、OMT方法、OOSE方法的表示方法。BUML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。CUML融入了软件工程领域的新思想、新方法和新技术。DUML仅限于支持面向对象的分析与设计,不支持其它的软件开发过程。9以下哪个软件生存周期模型是一种风险驱动的模型(C)A瀑布模型 B增量模型C螺旋模型 D喷泉模型10以下哪一项对模块耦合性没有影响(D)A模块间接口的复杂程度B调用模块的方式C通过接口的信息D模块内部各个元素彼此之间的紧密结合程度二、填空题(本大题共10小题,每空2分,共20分)1数据流图描绘数据在系统中_流动和处理_的过程。P402为了便于对照检查,测试用例应由输
8、入数据和预期的_输出结果(输出数据)_两部分组成。P1623面向对象分析的目的是对_目标系统_进行建模。4. 结构化方法总的指导思想是_自顶向下_逐层分解。5. 在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为_偶然内聚_。6. 用来模拟被测模块的上级调用模块的模块称为_驱动模块_7一个模块的作用域指受该模块内一个_判定_影响的所有模块的集合。8. 在用况图中,关联是参与者和用况(USE CASE)之间的唯一关系。9. RUP的突出特点是一种以用况(Use Case)为驱动的、以体系结构为中心的、迭代增量式开发。10. 在RUP中,规定了四个开发阶段:
9、初始阶段、精化阶段、构造阶段和移交阶段。三、名词解释题(本大题共6小题,每小题3分,共18分)1软件生存周期模型答:从概念上来讲,软件生存周期模型是一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从该系统的需求定义到系统的使用终止。从应用的角度来说,软件生存周期模型为组织软件开发活动提供了有意义的指导。2.系统模型答:简单地说,模型是任一抽象,其中包括所有的基本能力、特性或一些方面,而没有任何冗余的细节。进一步地说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述,给出系统内个模型元素以及它们之间的语义关系。3白盒测试法答:该方法把测试
10、对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒法也不可能进行穷举测试。4信息隐蔽答:信息隐蔽是指在每个模块中所包含的信息(包括具有特定语义的数据和处理过程)不允许其他不需要这些信息的模块访问。5. 测试用例答:为了发现程序中的故障而专门设计的一组或多组测试数据。6. 类答:类是一组具有相同属性、操作、关系和语义的对象的描述。 四、简答题(本大题共5小题,每小题6分,共30分)1. 简述演化模型以及可适应的情况,为什么?答:简述演化模型如图
11、所示:演化模型主要是针对事先不能完整定义需求的软件开发。在用户提出待开发系统的核心需求的基础上,软件开发人员按照这一需求,首先开发一个核心系统,并投入运行,以便用户能够有效地提出反馈,接着,软件开发人员根据用户的反馈,实施开发的迭代过程。 2. 结构化分析方法为了表达系统模型,给出了几个基本概念?它们是如何表示的?答:结构化分析方法给出了5个术语:数据流:加工,数据存储、数据源、数据潭,数据流是数据的流动,数据流表示为 加工是对数据进行变换的单元,即它接受输入的数据,对其进行处理,并产生输出。 数据存储是数据的静态结构。 数据源是数据流的起点; 数据潭是数据流的归宿地。数据源和数据潭是系统之外
12、的实体,可以是人、物或其他软件系统。 表示。3. 简述衡量模块独立性的两个标准及其含义。答:衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。(1)耦合性。也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。(2)内聚性。又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语句之间、程序段之间)的联系越紧密,则它的内聚性就越高。 耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做
13、到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。4.说明用况之间有哪几种关系,说明每种关系的含义。答:用况之间可以具有三种关系,即泛化、扩展和包含。 泛化: 泛化是用况之间的一般/特殊关系。USE CASE A到USE CASE B的泛化,指出A是B的特殊情况。扩展:记为extend,USE CASE A到USE CASE B的一个扩展关系,指出了USE CASE B的一个实例可以由A说明的行为予以扩展(根据该扩展所说明的特定条件),并依据该扩展点定义的位置,A说明的行为被插入到B中。包含:记为include,USE CASE A到USE CASE B的一个包含,指出A的一个实例将包含B说明的行为,即这一行为将包含在A定义的那部分中。 5. 结构化设计中总体设计和详细设计的目标和任务是