《软件测试习题集附详细答案docx.docx
- 文档编号:25906515
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:49
- 大小:199.70KB
《软件测试习题集附详细答案docx.docx
《《软件测试习题集附详细答案docx.docx》由会员分享,可在线阅读,更多相关《《软件测试习题集附详细答案docx.docx(49页珍藏版)》请在冰豆网上搜索。
《软件测试习题集附详细答案docx
—、基本概念
软件测试的基本任务
动态测试与静态测试
驱动模块与桩模块
程序的三种基本控制结构程序效率
软件
软件工程
软件生存周期
非入侵式工具与入侵式工具
二、判断题
()1.语句构造的原则是简单直接,不能因为追求效率而使代码复杂化
()2.文档是软件产品的一部分,没有文档的软件就不称其为软件。
()3.好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
()4.边界值分析方法是取输入/输出等价类的边界值作为测试用例。
()5.在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的
代价就会降低。
()6.好的测试用例应能证明软件是正确的。
()7.白盒测试仅与程序的内部结构有关,可以不考虑程序的功能要求。
()&当软件开发项目的进度有可能拖延时,增加开发人员并不能加快进度。
()9.不完善的系统定义往往是导致软件项目失败的主要原因。
()10.一个成功的项目唯一提交的就是运行程序。
()11.一个好的测试用例在于能发现至今未发现的错误。
()12.软件工程的考虑范围主要是程序设计和实现。
()13.等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取
少数有代表性的数据作为测试用例。
()14.在结构化程序设计中,应尽量采用复合的条件测试,以避免嵌套的分支结构
()15.GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程
序更加简洁。
()16.发现错误多的程序模块,残留在模块中的错误也多。
()17.程序效率的提高主要应通过选择高效的算法来实现。
()1&模块化程序设计中,在主存储器能够容纳得下的前提下,应使模块尽可能大,以
便减少模块的个数。
()19.作为一个好的程序,不仅处理速度要快,而且易读易修改等等也都是重要的条件。
()20.为了快速完成集成测试,采用一次性集成方式是适宜的。
()21.自底向上集成需要测试员编写驱动程序。
()
()22.拥有一套讲述如何开发软件的书籍,书中充满了标准与示例,可以帮助解决软件
开发中遇到的任何问题。
()23.如果已经落后于计划,可以增加更多的程序员来赶上进度。
()24.有了对目标的一般描述就足以开始写程序了,以后可以再补充细节。
()25.一旦写出了程序并使其正常运行,程序员的工作就结束了,只有差的软件产品才
需要维护。
()26.应用程序暴露在非安全环境(例如Internet)中时,没有一种方法可以确保系统
的绝对安全。
()27.软件测试走向成熟化、标准化的一个必经之路就是要实施自动化测试。
()2&严重性为一级的软件缺陷,其优先级也必须为一级。
三、选择题
1.程序语言的编译系统和解释系统相比,从用户程序的运行效率来看()。
A.前者运行效率高B.两者大致相同
C.后者运行效率咼D.不能确定
2.源程序文档化要求在每个模块的首部加序言性注释。
该注释的内容不应有()。
A.模块的功能B.语句的功能
C.模块的接口D.扇入数越低
3.对于不好的程序,应当()•
A.打补丁B.修改错误
C.重新编写D.原封不动
4.黑盒测试方法的优点是()。
A.可测试软件的特定部位
B.能站在用户立场测试
C.可按软件内部结构测试
D.可发现实现功能需求中的错误
5.等价类划分完成后,就可得出(),它是确定测试用例的基础。
A.有效等价类
B.无效等价
C.等价类表
D.测试用例集
6.并非所有软件缺陷都要修复,不可能的原因是()
A.没有足够时间
B.不是真正的软件缺陷
C.修复的风险太大
D.程序员认为不值得修复
7.软件的复杂性是(),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A.固有的
B.人为的
C.可消除的
D.不可降低的
8.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于()系统。
A.需求不确定的
B.需求确定的
C.管理信息
D.决策支持
9.在软件测试中,下面说法中错误的是()。
A.测试是为了发现程序中的错误而执行程序的过程
B.测试是为了表明程序是正确的
C.好的测试方案是极可能发现迄今为止尚未发现的错误的方案
D.成功的测试是发现了至今为止尚未发现的错误的测试
10.“高产”的测试是指()。
A.用适量的测试用例说明被测试程序正确无误
B.用适量的测试用例说明被测试程序符合相应的要求
C.用适量的测试用例发现被测试程序尽可能多的错?
D.用适量的测试用例纠正被测试程序尽可能多的错误
11.白盒测试方法的优点是()。
A.可测试软件的特定部位
B.能站在用户立场测试
C.可按软件内部结构测试
D.可发现实现功能需求中的错误
12.在软件生存期的模型中,—适合于大型软件的开发,它吸收了软件工程中“演化”的概念。
A.喷泉模型
B.基于知识的模型
C.瀑布模型
D.螺旋模型
13.在软件生存期中,用户的参与主要在—o
A.软件定义阶段
B.软件开发阶段
C.软件维护阶段
D.整个软件生存期过程中
14.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。
A.程序的内部结构
B.程序的复杂性
C.使用说明书
D.程序的功能
15.在设计测试用例时,()是用得最多的一种黑盒测试方法。
A.等价类划分
B.边界值分析
C.因果图
D.功能图
16.完全测试程序是不可能的,其原因不是()
A.输入量太大
B.输出结果太多
C.执行路径太多
D.软件测试是有风险的行为
17.一个开发团队中,开发人员与测试人员不能交叉,原因不包括()
A.开发和测试生来就是不同的活动
B.测试人员无法胜任开发工作
C.从心理学角度分析,开发人员无法有效测试。
D.技术上,开发与测试分开,有利问题的发现。
18.以下活动中,属于静态分析的是()
A.编码规则检查
B.内存泄漏测试
C.代码覆盖率分析
D.系统压力测试
19.关于本地化测试,叙述错误的是()
A.本地化测试主要依靠翻译人员完成
B.本地化关系到软件的易用程度甚至正确性。
C.内容涉及单词含义、文化背景、地缘、政治等多个方面
D.可以将该测试外包给当地的测试组织来完成
20.在编制程序时应采纳的原则之一是()。
A.不限制goto语句的使用
B.减少或取消注解行
C.程序越短越好
D.程序结构应有助于读者理解
21.功能性注释的作用是解释下面的语句()。
A.怎么做B.做什么
C.何时做D.为何做
22.程序设计语言的工程特性之一表现在()。
A.软件的可复用性B.数据结构的可描述性
C.抽象类型的可描述性D.数据库的易操作性
23.软件测试用例主要由测试输入数据和()两部分组成。
A.测试计划
B.测试规则
C.测试的预期结果
D.以往测试记录分析
24.关于Bate测试的描述错误的是()
A.用于描述外部测试过程的术语
B.是系统测试的一种
C.由选定的潜在用户群开展测试
D.在实际环境中使用软件,从而发现软件缺陷。
25.QuickTest软件中的检查点类型不包括()。
A.标准检查点B.表格检查点
C.规则检查点D.图片检查点
26.QuickTest软件中的参数类型不包括()
A.数据表参数B.环境变量参数
C.随机数字参数D.用户定义参数
27.侧重于验证软件的性能在各种极端的周边环境和系统条件下的承受能力被称为_A_
(A)强迫测试(B)压力测试
(C)容量测试(D)性能测试
四、简答题
1.软件缺陷:
软件未实现产品说明书要求的功能
软件出现了产品说明书指明不应该出现的错误
软件实现了说明书未提到的功能
软件未实现产品说明书虽未明确提及但应该实现的目标
软件难以理解,不易使用,运行缓慢,或者最终用户会认为不好。
2.什么是软件?
它的特性是什么?
软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整隼合。
软席的特点是:
(1)软件是一种逻辑实体,而不是具体的物理实体。
它具有抽象性。
(2)软件的生产与硬件不同,它没有明显的制造过程。
(3)在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。
然而它存在退化问题。
(4)软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。
(5)软件的开发至今尚未完全摆脱手工艺的开发方式。
(6)软件本身是复杂的。
软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。
(7)软件成本相当昂贵。
3.软件危机的具体表现如下:
软件开发的进度难以控制,经常出现经费超预算、完成期限一再拖延的现象。
软件需求在开发初期不明确,导致矛盾在后期集中暴露,从而对整个开发过程带来灾难性的后果。
由于缺乏完整规范的资料,加之软件测试不充分,从而造成软件质量低下,运行中出现大量问题。
4.比较常见的软件开发模型的优缺点
模型
优点
缺点
瀑布模型
文档驱动
系统可能不满足客户的需求
快速原型模型
关注满足客户需求
前期原型的开发需要投入一定的成本
增量模型
开发早期反馈及时,易于维护
需要开放式体系结构,可能会设计差、效率低
螺旋模型
风险驱动
风险分析人员需要有经验且经过充分训练
5.试说明下面的两个程序段的功能是什么?
用另一等效的程序段来代替它,以提高其可读性。
(1)A[I]=A[I]+A[T];
(2)for(i=l;i<=n:
i++)
A[T]=A[I]-A[T];for(j=l;j<=n;j++)
A[I]=A[I]-A[T];V[i][j]=(i/j)*(j/i);
6.阅读下列程序,写出等价的结构化代码
if(A
if(B LI: printf("%d",C); gotoL5; L2: printf("%d",B); gotoL5; L3: if(A gotoLl; L5: 7.对于如下的SQL攻击,说明其攻击原理以及如何防范? 源码: varShipcity; ShipCity=Request・form(〃ShipCity〃); varsql二〃select*fromOrdersTablewhereShipCity二'〃+ShipCity; 假定用户输入以下内容: Redmond,;droptableOrdersTable— &使用Loadrunner软件完成测试一般分为几步? 简述每一步的主要内容。 9.在TestDirector中,一个软件缺陷的状态有new、open、rejected、fixed、closed、reopened几种,简述它们的转换过程,并绘制流程图。 10.根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。 "一个程序读入3个整数,它们分别代表一个三角形的3个边长。 该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。 " 要求: 设三角形的3条边分别为A、B、C,并且 (1)列出等价类表,格式如下: 输入条件 有效等价类 无效等价类 (注意: 将等价类编号) (注意: 将等价类编号) (2)设计测试用例,格式如下: 用例n: 输入【A,B,C】覆盖等价类……(列出等价类序号),输出结果为 11.针对以下问题: 某一种8位计算机,其十六进制常数的定义是以Ox或0X开头的十六进制整数,其取值范围为一7f〜7f(不区分大小写字母),如0x13、0x6A、-0x3c。 请采用等价类划分的方法设计测试用例。 12.下面是一段程序: if(A>l)A(B=0) A=A+B; if(A=3)V(X>1) X=X+1; (1)画出该程序的流程图。 (2)用条件覆盖法给出测试路径。 (3)为各测试路径设计测试用例。 答案 1、软件测试的基本任务: 根据软件开发各阶段的文档资料和程序的内部结构,精心设计测试用例,找出软件中潜藏的软件缺陷。 2、动态测试指通过运行程序发现错误。 静态测试指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。 3、在单元测试中,驱动模块的作用是用来模拟被测模块的上层模块。 桩模块用来代替被测模块的子模块,其作用是提供被测模块所需的信息。 4、程序的三种基本控制结构是顺序,条件,循环。 它们的共同点是只有一个入口和一个出口。 结构化程序设计的一种基本方法是逐步求精法。 5、提高程序效率的根本途径在于选择良好的数据结构、良好的数学算法,而不是靠编程时对语句进行调整。 追求效率建立在不损害程序可读性或可靠性的基础上。 6、软件由计算机程序、数据和文档组成。 软件工程是研究和应用如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。 7、软件生存周期是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括: 计划、分析、设计、实现、测试、维护。 8、在测试工具中,如果工具仅用于监视和检查软件而不对其进行修改,就是非入侵式工具;如果工具以任何方式修改了程序代码或者控制了操作环境,就是入侵式工具。 (其他略) 第一套 1.单元测试中用来模拟被测模块调用者的模块是(C) (A)父模块(B)子模块 (C)驱动模块(D)桩模块 2.为了提高测试的效率,应该(D) (A)随机地选取测试数据; (B)取一切可能的输入数据作为测试数据; (c)在完成编码以后制定软件的测试计划; (D)选择发现错误可能性大的数据作为测试数据。 3.侧重于验证软件的性能在各种极端的周边环境和系统条件下的承受能力被称为 (B)压力测试 (A)强度测试 (0容量测试 (D)性能测试 (A)测试不能证明软件的正确性; (B)测试员需要良好的沟通技巧; (C)QA与testing属于一个层次的概念; (D)成功的测试是发现了错误的测试。 12.对Web网站进彳丁的测试中,属于功能测试的是 (A)连接速度测试(B)链接测试 (C)平台测试(D)安全性测试 13.在进行单元测试时,常用的方法是 (A)采用黑盒测试,辅之以白盒测试; (B)采用白盒测试,辅之以黑盒测试; (C)只使用黑盒测试; (D)只使用白盒测试。 14.使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和 (A)程序的注释 (B)程序的内部逻辑 (C)用户使用说明书 (D)程序的需求说明 二、判断题: 1. () () () () () 软件测试是有效的排除软件缺陷的手段。 2.程序员与测试工作无关。 3.程序员兼任测试员可以提高工作效率。 4.产品说明书(需求文档)的变更应当受到控制。 5.测试应从“大规模”开始,逐步转向“小规模”。 三、填空题: 四、名词解释: 1.B测试 2.测试的配置管理 3.测试用例 4.黑盒测试 五、简答题: 1.如何划分等价类? 2.软件验收测试应完成哪些主要测试工作? 3.简述软件开发-软件测试的对应关系。 六、综合题: 1.某城市的电话号码由三部分组成。 这三部分的名称和内容分别是 地区码: 空白或二位数宁; 前缀: 非’O'或’1'开头的三位数; 后缀: 四位数字。 假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,试用等价分类法来设计它的调试用例。 答案 一、单选题 题号 1 2 3 4 5 6 7 8 9 10 C D A D C D C C B A 题号 11 12 13 14 15 16 17 18 19 20 D B B B 二、判断题 题号 1 2 3 4 5 6 7 8 9 10 答案 V X X V X 三、填空题 四、名词解释 1.0测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用B版本,并要求用户报告异常情况,提出批评意见。 2.配置管理的目的是建立和维护在软件生命周期中软件产品的完整性和一致性。 一般来说,软件测试配置管理包括4个最基本的活动: (1)配置标识; (2)变更控制;(3)配置状态报告;(4)配置审计。 3.测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。 4.黑盒测试也称功能测试或数据驱动测试,前提是已知产品所具有的功能,通过测试来检测每个功能是否都正常使用。 五、简答题 1. 1)•在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。 2).在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类。 3).在输入条件是一个布尔量的情况下,可以确立一个有效等价类和一个无效等价类。 4).在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可 以确立n个有效等价类和一个无效等价类。 5).在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。 6).在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。 1)文档资料的审查验收 2)功能测试 3)性能测试 4)强化测试 5)性能降级执行方式测试 6)检查系统的余量要求 7)安装测试 8) 用户操作测试 六、综合题(1X20=20分) 解: 第一步: 划分等价类,包括4个有效等价类,n个无效等价类。 输入条件 有效等价类 无效等价类 地区码 空白 (1),3位数字⑵ 有非数字字符(5),少于3位数字(6),多于三位数字(7) 前缀 从200到999之间的3位数 字⑶ 有非数字字符(8),起始位为"0"(9),起始位为"1〃(10),少于3 位数字(11),多于3位数字(12) 后缀 4位数字⑷ 有非数字字符(13),少于4位数字(14),多于4位数字(15) 第二步: 确定调试用例。 调试数据 范围 期望结果 (20A)123-4567 无效等价类(5) 无效 (33)234-5678 无效等价类(6) 无效 (7777)345-6789 无效等价类(7) 无效 (777)34A-6789 无效等价类(8) 无效 (234)045-6789 无效等价类(9) 无效 (777)145-6789 无效等价类(10) 无效 (777)34-6789 无效等价类(11) 无效 (777)2345-6789 无效等价类(12) 无效 (777)345-678A 无效等价类(13) 无效 (777)345-678 无效等价类(14) 无效 (777)345-56789 无效等价类(15) 无效 选取的调试数据可以不同, 关键是与调试内容相符。 Zt~/t■f 弟一套 单项选择题; (B)设计 (D)发布 来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。 (C) 3.软件测试的目的是 (A)发现程序中的所有错误 (C)证明程序是正确的 4.下列—不属于测试原则的内容 (A)软件测试是有风险的行为 (0测试无法显示潜伏的软件缺陷 5.导致软件缺陷的最大原因是 (A)需求分析 (C)编码 6.修复软件缺陷费用最高的是—阶段: (A)编制说明书 (0编写代码 7.白盒测试是根据程序的. (B) (B)尽可能多地发现程序中的错误 (D)调试程序 (D) (B)完全测试程序是不可能的 (D)找到的缺陷越多软件的缺陷就越少 (A) (B)设计 (D)测试 (D) (B)性能 (A)功能 条件覆盖的目的是 (A)使每个判定的所有可能的条件取值组合至少执行一次 (B)使程序中的每个判定至少都获得一次“真”值和“假”值。 (C)使程序中的每个判定中每个条件的可能值至少满足一次。 (D) (A) (B)程序语句行数 (D)程序指令执行时间 (D) (B)可估算执行测试时代码量和具体代码 (D)测试的是软件在使用过程中的实际行为 使程序中的每个可执行语句至少执行一次。 一个程序中所含有的路径数与—有着直接的关系。 (A)程序的复杂程度 (C)程序模块数 动态黑盒测试: (A)直接测试底层功能、过程、子程序和库 (C)从软件获得读取变量和状态信息的访问权 在自低向上测试中,要编写称为—的模块来测验正在测试的模块。 (B) (A)测试存根(B)测试驱动模块 (0桩模块(D)底层模块 (D) (B)准确度和精确度高 (D)能充分测试软件 (B) (B)测试预期输出 (D)测试策略 (D) 下列__不是软件自动化测试的优点 (A)速度快、效率高 (C)能提高测试的质量 下列各项中—不是一个测试计划所应包含的内容 (A)测试资源、进度安排 (C)测试范围 下列不属于正式审查的方式是 (A)同事审查 (B)公开陈述 (C)检验 (D)编码标准和规范 (A) 在没有产品说明书时使用—: (A)探索测试 (B)功能测试 (C)动态测试 (D)静态测试 调试是 (A)发现与预先定义的规格和标准不符合的问题 (B)发现软件错误征兆的过程 (C)有计划的、可重复的过程 (D)消除软件错误的过程 在软件底层进行的测试称为 (B)公开陈述 (D)编码标准和规范 (A)系统测试 (0单元测试 18.在确定黑盒测试策略时,优先选用的方法是 (A)边界值分析法 (C)错误推断法 19.把黑盒测试和白盒测试的界限打乱了。 (A)灰盒测试 (C)静态测试 20.下列不属于正式审查的方式是D_o (A)同事审查 (C)检验 (B)集成测试 (D)功能测试(B) (B)等价类划分 (D)决策表方法 (A) (B)动态测试 (D)失败测试 二、填空题: 1.软件缺陷产生的原因包括、设计、以及其他原因。 2.软件开发模型包括边写边改模型、、、螺旋模型。 3.黑盒测试用例设计方法包括、以及因果图法,错误推测法等。 4.测试过程中,用于描述测试的整体方案,描述依据测试案例 找出的问题。 5.传统的等价类划分测试主要分两步进行,一是,二是 6.进彳丁输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为,在不执彳丁 代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为 7.不需要修复软件缺陷的原因包括、不能算真正的软件缺陷、、不值 得修复。 8.白盒测试又称为,黑盒测试又称为o 三、判断题: 1.白盒测
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 习题集 详细 答案 docx