一、选择题
1.在软件测试阶段,测试步骤按次序可以划分为以下几步:( A )
A、单元测试、集成测试、系统测试、验收测试
B、验收测试、单元测试、系统测试、集成测试
C、单元测试、集成测试、验收测试、系统测试
D、系统测试、单元测试、集成测试、验收测试
2.软件测试技术可以分为静态测试和动态测试,下列说法中错误的是( D )。
A、静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。
B、动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。
C、动态测试包括黑盒测试和白盒测试。
D、白盒测试是静态测试,黑盒测试是动态测试。(白盒测试有静态测试,也有动态测试)
3.单元测试时,调用被测模块的是( C )。
A、桩模块 (被测调用的模块) B、通信模块 C、驱动模块 D、代理模块
4.基本路径测试满足( A )
A、语句覆盖 B、路径覆盖(覆盖准则最强) C、分支覆盖 D、条件覆盖
5.如果一个产品中次严重的缺陷基本完成修正并通过复测,这个阶段的成品是( B )。
A、Alpha版 (可能还会有一两个严重错误) B、Beta版 (次要错误刚修正)
C、正版 (C类错误也完全没有) D、以上都不是
6.软件测试过程中的集成测试主要是为了发现( B )阶段的错误。
A.需求分析 (系统测试) B.概要设计 (集成测试)
C.详细设计 (单元测试) D.编码 (单元测试)
7.下列有关测试过程V模型的说法中,正确的是( B )
A、验收测试应确定成程序的执行是否满足软件设计的要求
(单元测试和集成测试应确定成程序的执行是否满足软件设计的要求)
B、系统测试应确定系统功能和性能的质量特性是否达到系统要求的指标
C、单元测试和集成测试应确定软件的实现是否满足用户需要或合同的要求
(验收测试确定软件的实现是否满足用户需要或合同的要求)
D、集成测试在编码结束前就可以开始
8.下列关于Web应用软件测试的说法中,正确的是( A )
A、Cookie测试是Web应用软件功能测试的重要内容(功能测试)
B、对于没有使用数据库的Web应用软件,不需要进行性能测试(需要进行性能测试)
C、链接测试是Web应用软件易用性测试的重要内容
D、Web应用软件安全性测试仅关注Web应用软件是能够防御网络攻击
9.在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是( D )。
A、操作性分析 B、可靠性分析 C、引用分析 D、接口分析
A、B、C、D都是静态分析(程序与程序间的调用是接口问题)
10.下列指导选择和使用测试覆盖率的原则中错误的是(D)。
A、覆盖率不是目的,仅是一种手段
B、不要追求绝对100%的覆盖率(路径覆盖不可能100%做到)
C、不可能针对所有的覆盖率指标来选择测试用例
D、只根据测试覆盖率指标来指导测试用力的设计
11.测试设计员的职责有:( C )
①制定测试计划 (测试或项目负责人做) ②设计测试用例 ③设计测试过程、脚本 ④评估测试活动(测试或项目负责人做)
A、①和②
B、① ②和③
C、②和③
D、① ② ③和④
12.测试文档种类:( D )。
A、需求类文档、计划类文档
B、设计类文档 执行类文档
C、缺陷记录类、阶段汇总类 测试总结类
D、以上都有
13.以下关于软件可靠性与硬件的可靠性主要区别的说法中,正确的是( A )。
A、软件的每个复制都是完全一样的,而按照设计生产出来的同规格硬件总有微小差别
B、软件经常面临恶意的使用者,而硬件没有恶意的使用者
C、软件的使用者通常遍及整个世界,而硬件的使用者通常只局限于某个地区
D、软件的失效都是逻辑错误引起的,而硬件的失效都不是逻辑错误引起的
14.以下关于软件回归测试的说法中错误的是( C )
A、软件变更后,应对软件变更部分的正确性和对变更需求的符合性进行测试
B、软件变更后,首先应对变更的软件单元进行测试,然后再进行其他相关的测试
C、软件变更后,不必再对软件原有正确的功能、性能和其他规定的要求进行测试
D、对具体的软件,可以根据软件测试合同及软件的重要性、完整性级别对回归测试内容进行剪裁
15.以下说法中错误的是(C)
A、软件配置项测试的目的是检验软件配置与软件需求规格说明的一致性
B、软件配置项测试一般由软件供方组织,由独立于软件开发的人员实施,软件开发人员配合
C、软件配置项测试不得委托第三方实施(可以是第三方实施,但必须是政府规定的一些单位)
D、软件配置项测试要求被测软件配置项已通过单元测试和集成测试
16.下面说法正确的是 ( C )。
A、经过测试没有发现错误说明程序正确
B、测试的目标是为了证明程序没有错误
C、成功的测试是发现了迄今尚未发现的错误的测试
D、成功的测试是没有发现错误的测试
17.不属于白盒测试的技术是 ( C) 。
A、语句覆盖 B、判定覆盖
C、边界值分析 D、基本路径测试
白盒测试:语句覆盖,判断覆盖,条件覆盖,判断/条件覆盖,组合覆盖,路径覆盖
18.缺陷产生的原因(D)
A、交流不充分及沟通不畅;软件需求的变更;软件开发工具的缺陷
B、软件的复杂性;软件项目的时间压力
C、程序开发人员的错误;软件项目文档的缺乏
D、以上都是
19.某次程序调试没有出现预计的结果,下列( B )不可能是导致出错的原因。
A、变量没有初始化
B、编写的语句书写格式不规范
C、循环控制出错
D、代码输入有误
20.以下哪种软件测试属于软件性能测试的范畴( B ) (性能测试:负载测试,失效测试,压力测试,狭隘的性能测试等)
A、接口测试 B、压力测试 C、单元测试 D、易用性测试
21.( C )方法根据输出对输入的依赖关系设计测试用例。
A.路径测试 B.等价类 C.因果图 D.边界值分析
22.软件测试管理包括测试过程管理、配置管理以及( A )
A、测试评审管理 B、测试用例管理 C、测试计划管理 D、测试实施管理
23.在用白盒测试中的逻辑覆盖法设计测试用例时,在下列覆盖中,( D )是最强的覆盖准则。
A. 语句覆盖 B. 条件覆盖 C. 判定-条件覆盖 D. 路径覆盖
24.软件的集成测试工作最好由( A )承担,以提高集成测试的效果。()
A、不属于该软件开发组的软件设计人员
B、该软件的设计人员
C、该软件开发组的负责人
D、该软件的编程人员(集成测试不是该软件开发组的软件人员做)
25.以下哪一项属于软件易用性测试关注的范畴( C )。
A、软件是否能在多种操作系统下运行
B、软件是否能与同类软件共享数据 (兼容性)
C、软件是否能主动禁止用户可能进行的非法操作
D、软件是否能够抵御网络攻击 (安全性)
26.下列关于Web应用软件测试的说法中,正确的是( A )
A、Cookie测试是Web应用软件功能测试的重要内容
B、对于没有使用数据库的Web应用软件,不需要进行性能测试
C、链接测试是Web应用软件易用性测试的重要内容
D、Web应用软件安全性测试仅关注Web应用软件是能够防御网络攻击
27.软件验证和确认是保证软件质量的重要措施,它的实施应该针对( B )。
A、程序编写阶段 B、软件开发的所有阶段(软件验证和确认贯穿整个软件所有阶段)
C、软件调试阶段 D、软件设计阶段
28.以下关于极限测试的说法中,正确的是( A )。
A、极限测试是一种针对极限编程软件测试
B、极限测试中所有的测试均由编码人员完成
C、与传统的软件测试相比,极限测试是一种更严格的测试
D、极限测试中只需要进行单元测试(极限测试包括集成测试,单元测试)
29.在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是( D )。
A、操作性分析 B、可靠性分析 C、引用分析 D、接口分析
30.下列各项中,评审方法是按照正式化程序逐渐增强排列的是 ( D )
A、正式评审、小组评审、走查、结对评审、临时评审
B、临时评审、走查、结对审查、轮查、正式审查
C、临时评审、走查、小组评审、结对审查、正式审查
D、临时评审、轮查、结对审查、走查、正式审查
二、简答题
- 黑盒测试设计测试用例主要有哪几种方法?
1)等价类划分方法 2)边界值分析方法
3)错误推测方法 4)因果图方法
5)判定表驱动分析方法 6)正交实验设计方法 7)功能图分析方法
2 测试用例由哪两部分组成?
测试输入数据和对应的预期输出
3 集成测试中的两种集成模式是?
4 非渐增式集成
5 软件性能测试包括?
容量测试、压力测试、界面测试、安全测试、可靠性测试、负载测试、
强度测试
6 编写单元测试用例说明书的依据是?
需求分析 实际数据 预期结果
7 软件验收测试包括哪三种类型?
Alpha版、Beta版、正版
8 软件开发的基本过程包括?
- 设计:制定集成测试计划和单元测试计划
- 实现:程序编写开发开发相应的测试代码或测试脚本
- 测试:实现测试,并提交相应的测试报告
9 软件测试活动的生命周期分为哪几部份?
软件生存周期包括软件定义、软件开发以及软件使用与维护3个部分
10 软件的缺陷等级应如何划分?每类错误包括哪些错误?
A类—严重错误:a、由于程序所引起的死机,非法退出 b、死循环
c、数据库发生死锁 d、因错误操作导致的程序中断 e、功能错误
f、与数据库连接错误 g、数据通讯错误
B类—较严重错误:a、程序错误 b、程序接口错误 c、数据库的表、业务规则、缺省值未加完整性等约束条件
C类— 一kWE6r:J)kIT Rq0CCC 一 般错误:a、操作界面错误 b、打印内容、格式错误 c、简单的输入限制未放在前台进行控制 d、删除操作未给出提示 e、数据库表中有过多的空字段
D类—较小错误:a、界面不规范 b、辅助说明描述不清楚 c、输入输出不规范 d、长操作未给用户提示 e、提示窗口文字未采用行业术语 f、可输入区域和只读区域没有明显的区分标志 51Testing软件测试网J2yf Jd"nyZjB
- 请描述静态测试和动态测试的区别。
静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能
11 比较负载、容量测试和强度测试的区别?
负载测试:负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。
强度测试:强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。
容量测试:确定系统可处理同时在线的最大用户数
容量测试,通常和数据库有关,容量和负载的区别在于:容量关注的是大容量,而不需要表现实际的使用
12 试说出软件测试的原则?
软件测试原则:
1、尽早和不断的测试。
2、程序员应该避免检查自己的程序,软件测试应该由第三方构造。
3、设计测试用例时应该考虑到合法的输入和不合法的输入以 及各种边界条件。
4、注意测试中的错误集中发生现象。
5、对测试错误结果有确认过程。
6、制定严格的测试计划,并把测试时间安排的尽量宽松。
7、回归测试的关联性,原有功能过滤
8、进行版本控制,制定变更测试文档的流程。
13 你认为一个优秀的测试工程师应该具备哪些素质?
1.具有良好的计算机编程基础
2.具有创新精神和超前意识
3.不懈努力,追求完美
4.具有整体观念,对细节敏感
5.团队合作精神
14 软件测试活动的生命周期及各阶段的内容。
第一阶段 计划:负责整个测试阶段的监控。
第二阶段 需求分析:确定测试需求分析,制定系统测试计划。测试需求分析是指产品生存周期中测试所需的资源、配置、各阶段评审通过的标准等。
第三阶段 设计(概要设计和详细设计阶段):制定集成测试计划和单元测试计划
第四阶段 程序编写开发相应的测试代码或测试脚本
第五阶段 测试实施测试,并提交相应的测试报告。
第六阶段 运行和/维护项目规划阶段。
15 测试结束的标准是什么?
严重程度在某一可接受范围内的缺陷都已经关闭
是否达到原先的覆盖定义标准
16 简单介绍至少五款软件测试或测试管理的工具。
WinRunner进行功能测试 ; LoadRunner进行性能测试; QuickTest Professional支持功能测试和验收测试;JMeter进行web测试;badboy;VUnit 2.6
三、分析题
- 某软件项目规格说明如下:对于处于提交审批状态的单据,数据完整率达到80%以上或已经过业务员确认,则进行处理。
要求:根据规格说明,分析原因结果,画出因果图,根据因果图列出判定表
2 某软件的规格说明:文件名的第一个字符必须为A或B,第二个字符必须是数字。满足则修改文件。若第一个字符不为A或B,打印错误信息X12,若第二个字符不为数字,则打印错误信息X13。
要求:列出原因与结果,画出因果图,并根据因果图列出判定表。
3 请为以下函数单元进行单元测试设计测试用例,要求满足条件组合覆盖与路径覆盖。(注明得到测试的过程)
int func1(int a,b,c)
{ int k=1;
if (a>0||b<0)
k=k+a;
else
k=k+b;
if (c>0)
k=k+c;
return k;
}
4 对上图程序进行自顶向下、自底向上、三明治集成测试,请分别给出测试过程。
5 以下是某应用程序的规格描述:某城市的电话号码由三部分组成。说明如下:区号空白或3位数字;前缀非“0”或非“1”开头的3位数字;后缀4位数字。若输入正确,提示有效输入;若输入错误,则提示无效输入。
要求:划分有效与无效等价类,并用等价类划分法设计所有有效的测试用例