当前位置:文档之家› 软件测试技术考题A卷

软件测试技术考题A卷

软件测试技术考题A卷
软件测试技术考题A卷

《软件测试技术》试卷(A)

1.软件测试的目的:()

A. 避免软件开发中出现的错误

B. 发现软件开发中出现的错误

C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性

D. 修改软件中出现的错误

2.软件测试按照测试层次可以分为( )

A.黑盒测试、白盒测试

B. 功能性测试和结构性测试

C.单元测试、集成测试和系统测试

D.动态测试和静态测试

3.软件测试是采用()执行软件的活动。

A.测试用例

B.输入数据

C.测试环境

D.输入条件

4.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?答案:()

1预防软件发生错误 2发现程序错误 3提供诊断错误信息

A.只有1

B.只有2

C.只有3

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、下列___不属于软件缺陷()

(A) 测试人员主观认为不合理的地方

(B) 软件未达到产品说明书标明的功能

(C)软件出现了产品说明书指明不会出现的错误

(D)软件功能超出产品说明书指明范围

14.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?()A.功能测试

B.单元测试

C.结构测试

D.验收测试

15、单元测试的主要任务不包括()。

A.出错处理B.全局数据结构

C.独立路径D.模块接口

二、判断题(共30分,每小题2分。把最恰当的答案题号填入括号内)

1、一个程序中所含有的路径数与程序的复杂程度有着直接的关系。(对)

2、结构性测试是根据软件的规格说明来设计测试用例。(错)

3、错误推测法是根据输出对输入的依赖关系来设计测试用例的。(错)

4、软件缺陷属性包括缺陷标识、缺陷类型、缺陷严重程度、缺陷产生可能性、缺陷优先级、

缺陷状态、缺陷起源、缺陷来源、缺陷原因。(对)

5、数据流测试是主要用作路径测试的真实性检查。两种形式分别为定义/使用测试、基于程序片的测试。(对 )

6、软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。( 错 ) 、测试用例应由测试输入数据和对应的实际输出结果这两部分组成。( 错 )

、测试是可以穷尽的。( 错 ) 、测试自动化是万能的。(

对 )

、软件缺陷可能会被修复,可能会被保留或者标识出来。( 对 ) 、每一个软件项目都有一个最优的测试量。( 对 ) 、代码审查工作属于静态测试。( 对 )

、软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一。( 对 )

、白盒测试的条件覆盖标准强于判定覆盖。( 错 ) 、验收测试是以最终用户为主的测试。 ( 对 )

三、简答题(共30分,每小题10分)

什么是测试用例?测试用例的目的,用途及相关组成

ID 用例名称 测试目的 测试级别 参考信息 测试环境 前提条件 测试步 设计人员

设计用例在于明确验证需求(功能)的输入数据和步骤,书面化便于重现BUG ,

2.论述性能测试的定义、意义、目的以及性能测试的主要方法。

系统的各项性能指标进行测试。性能测试主要用于描述常规的性能测试,是只通过模拟生产运行的业务压力或使用场景来测试系统的性能是否满足生产性能的要求。

概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。

性能瓶颈,优化软件,最后起到优化系统的目的。

基准测试性能规划测试渗入测试峰谷测试

大数据量、配置、疲劳度、稳定、强度、并发、压力、负载、容量

3.什么是黑盒测试,黑盒测试的意义、目的和黑盒测试的设计方法。

子,不考虑它的内部结构,只考虑输入值和输出值来检测每个功能是否能正常使用。

过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。。

行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误

类划分、边界值分析、错误推测、因果图和综合策略

10分,每小题10分)

软件测试工程师高级视频教程

软件测试工程师高级视频教程 什么是软件测试?为什么有这么多人选择学习软件测试?软件测试有超强的预判能力,拯救用户,拯救软件,避免未来软件被用户无情卸载的命运。2018年软件测试将延续近两年火爆的发展势头,千锋出品的软件测试工程师高级视频教程,将为广大软件测试爱好者的高效自学提供可能。 下面就来说说千锋教育软件测试教学团队全新录制的5章视频教程都涵盖哪些内容。 软件测试工程师高级视频教程:https://www.doczj.com/doc/2d7356461.html,/s/1dFm5wbR 软件测试工程师高级视频教程第一章:在本章中,老王详细向学生们介绍了软件测试的历史,软件测试的目的,软件测试的对象、软件测试概念等具体知识。

让学生一方面逐步熟悉软件测试的一些经典理论和思想,另一方面结合知识概念从根本的角度理解软件测试是什么,以及软件测试的重要性。 软件测试工程师高级视频教程第二章:本章课程主要是向学生讲解软件测试过程模型。但为了让学生们更好的理解这个知识点,我们需要先去了解什么是软件的生命周期,软件生命周期都包含哪些具体活动?什么是软件开发的过程,软件开发团队的工作过程模型都有哪些。只有充分了解了这些内容,我们在学习软件测试过程模型的时候,才会更好的掌握相关的知识与概念。 软件测试工程师高级视频教程第三章:本集视频主要介绍了从开发角度划分的5类测试方法 软件测试工程师高级视频教程第四章:本章主要讲解软件测试计划的内容。测试计划是一切软件测试活动开始前的准备工作,通过对测试计划的分析与编写,实际是让相关参与者提前了解未来软件测试过程中应该重点关注的各项内容。所以所有软件测试工程师必备的一项技能。 软件测试工程师高级视频教程第五章:本章的内容主要带领各位同学去一起关注了解关于需求的各项知识。需求是测试工程师工作过程中的行动纲领,需要测什么,为什么需要测都是与需求中的具体要求相关。同时,需求过程中引入缺陷的几率很大,而发现后修复其的成本却很低,所以了解需求,掌握需求分析方法,熟练编写测试需求也是软件测试工程师的重要技能之一。 目前软件测试人才的缺口在30万人以上,IT行业国内外巨头正在加紧争夺软件测试人才,华为一次抛出50名软件测试人员的招聘大单,而联想、用友、

软件测试考题

软件测试考题 一、软件测试基本概念 1. 软件测试是按照特定的规程,___________的过程。(A) A. 发现软件错误 B. 说明程序正确 C. 证明程序没有错误 D. 设计并运行测试用例 2. 下面说法正确的是(C)。 A. 经过测试没有发现错误说明程序正确 B. 测试的目标是为了证明程序没有错误 C. 成功的测试是发现了迄今尚未发现的错误的测试 D. 成功的测试是没有发现错误的测试 3. 软件测试的对象包括(B) A.目标程序和相关文档 B.源程序、目标程序、数据及相关文档 C.目标程序、操作系统和平台软件D.源程序和目标程序 4. 软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?(B) A. 预防软件发生错误 B. 发现改正程序错误 C. 提供诊断错误信息 D. 都是 5. 软件测试是采用(a)执行软件的活动。 A. 测试用例 B. 输入数据 C. 测试环境 D. 输入条件 6. 软件测试的作用是对开发出的软件提供(B)的依据 A 验证 B 确认 C 设计 D 判断 7. 软件测试的目标是(B )。 A.证明软件是错误的 B.发现错误、降低错误带来的风险 C.排除软件中所有的错误 D.与软件调试相同 8. 软件测试的目的正确的是( D ) ①测试是为了发现程序中的错误而执行程序的过程; ②好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; ③成功的测试是发现了至今为止尚未发现的错误的测试 ④测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进; A.① B.①②③ C.②③④ D.①②③④ 9.调试应该由(B)完成。 A.与源程序无关的程序员 B.编制该源程序的程序员 C.不了解软件设计的机构 D.设计该软件的机构 10.下面有关测试原则的说法正确的是(A)。 A. 测试用例应由测试的输入数据和预期的输出结果两部分组成 B. 测试用例自诩选取合理的输入数据 C. 程序最好由编写该程序的程序员自己来测试 D. 使用测试用例进行测试是为了检查程序员是否做错了他该做的事 11.下列(D)不属于测试原则的内容

软件测试技术习题参考答案

第1章软件测试概述 1、简述软件缺陷的含义。 答:软件缺陷是软件开发过程中潜在的缺陷,这些缺陷可能在软件运行后出现,因而使软件的性能和可靠性等方面与系统的设计需求不符。 2、说明软件缺陷、软件错误和软件失败的关系。 答:缺陷、缺点、偏差统称为缺陷,是软件故障的根源;错误、谬误、问题、异常、矛盾等统称为错误,软件错误出现的原因是软件缺陷所致;失败、事故、灾难统称失败,失败的直接原因是软件系统存在软件错误。 14、“软件测试是有风险的工作”,试解释这种说法的含义。 答:软件不测试,就会有风险;软件测试,同样也会有风险。因为,软件是个复杂的系统,其复杂性体现在软件实现的内容复杂性、开发过程的复杂性和组织工作的复杂性等方面。而软件测试的目的是为了发现故障,并加以排除。对一个复杂的软件系统来说,故障的排除往往可能又带来新的软件缺陷。所以,软件测试又会带来一定的风险。 第2章软件测试基础 2、条件覆盖是否高于判断覆盖的逻辑覆盖程度如果不是,请给出反例加以说明。答:条件覆盖是高于判断覆盖的逻辑覆盖程度。 a、用条件覆盖所设计的测试用例可使得程序中的每一个判断的每一个条件的可能取值至少执行一次。 b、用判断覆盖所设计的测试用例可使被测程序中的每个判断的真分支和假分支至少经历一次。 每个判断语句可能包含多个条件(比如,if(A>3 && B<7)……)。条件覆盖针对判断语句的每一个条件的所有可能取值编写测试用例;判断覆盖只针对每一个判断语句整体的所有可能取值编写测试用例。所以,条件覆盖的逻辑覆盖程度高于判断覆盖。 4、已知某种计算机程序设计语言的标识符语法规则规定“标示符是由非数字开头的,有效字符数为32个,最大字符数为128个的任意符号串”。试用等价类划分法设计测试用例。 答:(1)等价类划分

软件测试技术经典教程笔记(修).docx

第一章基础知识 1.1、软件 1)、软件=程序+文档 2)、分类 功能:系统+应用 架构:单机+C/S+B/S 用户:产品+项目 规模:小型+中型+大型 1.2、Bug 1)、类型一(广义上,软件生命周期,与用户需求不符的问题): 完全没有实现的功能 基本实现功能,但有功能上或性能上的问题 实现了用户不需要的功能 2)、类型二(测试执行阶段的问题) Defect---------Requirements&Design Error-----------Development Bug------------Testing Failure---------Post production 1.3、测试 1)、概念: 测试是为了检验实际的软件是否符合用户需求,所以不能为了发现错误而发现错误。使用人工或自动手段,来运行或测试某个系统的过程。 2)、测试环境:硬件+软件+网络 要求:真实(项目、产品)+干净+无毒+独立(测试与开发) 1.4、测试用例 测试用例=输入+输出+测试环境 便于团队交流,便于重复测试,便于跟踪统计,比纳与用户自测 开发生命周期 需求分析→概要设计→详细设计→编码→维护 测试生命周期 测试计划→测试设计→测试执行→测试评估 需求分析和测试计划完成后,根据《系统需求规格说明书》和软件原型(DEMO)写测试用例 1.5 其他 1)、测试人员素质要求:细心、耐心、信心、服务意识、团队合作意识、沟通能力 2)、如何成为优秀的测试工程师:1、不断学习充电2、阅读原版书籍3、阅读缺陷管理系 统中的缺陷报告4、阅读高手写的测试用例5、学习产品相关 的业务知识

1.6 软件测试的基本规则 1) Zero Bug 与Good Enough Good Enough原则:不充分测试是不负责任,过分的测试是一种资源浪费。 参考:*遗留bug不超过10个,严重的不超过5个 *测试用例执行率为100%,通过率为95% *单元测试,关键模块语句覆盖率达到100%,分支覆盖率达到85% 2) 不要视图穷举法 3) 开发人员不能既是运动员又是裁判员 4) 软件测试要尽早执行 一般情况下,软件80%的缺陷集中在20%的模块中。 7) 缺陷具有免疫性 缺陷具有免疫性,需要根据新版本修改维护测试用例,另外,有一个值得注意的经验:没修复3-4个bug,可能会产生一个新bug。 第二章测试分类 2.1、是否运行程序 Static Testing------------代码规范、界面、文档 Dynamic Testing--------运行程序 2.2、根据阶段分类 Unit Testing(单元测试)----------10% 最小模块,依据源程序和《详细设计》 白盒测试人员||开发人员 编译代码→静态测试→动态测试 桩模块(Stub)、驱动模块(Driver) Integration Testing(集成测试)----------20% 模块间的接口,依据单元测试的模块和《概要设计》 白盒测试人员||开发人员 一般单元和集成同步进行 System Testing(系统测试)----------40% 整个系统(功能、性能、软硬件环境),依据《需求规格说明书》 黑盒测试工程师 Acceptance Testing(验收测试)----------20% 整个系统(功能、性能、软硬件环境),依据《需求规格说明书》和验收标准

软件测试试题及答案分析

单选 1. 属于黑盒测试的方法?( C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 2.在Assert类中断言对象为NULL是_____。(D) A.assertEquals B.assertTrue C.fail D.assertNull 3.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求(A) A.系统测试B.集成测试 C.单元测试D.功能测试 4.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B) A. 语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖 5.软件测试的目的是___________。(C) A.表明软件的正确性B.评价软件质量 C.尽可能发现软件中的错误D.判定软件是否合格 6.关于白盒测试与黑盒测试的最主要区别,正确的是___________。(A) A.白盒测试侧重于程序结构,黑盒测试侧重于功能 B.白盒测试可以使用测试工具,黑盒测试不能使用工具 C.白盒测试需要程序参与,黑盒测试不需要 D.黑盒测试比白盒测试应用更广泛 7.软件测试类型按开发阶段划分___________。(B) A.需要测试﹑单元测试﹑集成测试 B.单元测试﹑集成测试﹑确认测试﹑系统测试﹑验收测试 C.单元测试﹑集成测试﹑确认测试 D.调试﹑单元测试﹑功能测试 8.在Junit中,testXXX()方法就是一个测试用例,测试方法是______。(B) A.private void testXXX() B.public void testXXX() C.public float testXXX() D.public int testXXX() 9.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(A)A.单元测试B.集成测试 C.目的测试D.确认测试 10.增量式集成测试有3种方式:自顶向下增量测试方法,和混合增量测试方式。(D ) A.自中向下增量测试方法B.多次性测试 C.维护D.自底向上增量测试方法 1)以下不属于软件测试的原则有(D )。 A.程序最好别让由编写该程序的程序员自己来测试

软件测试面精彩试题及问题详解

软件开发——软件测试 1、测试的关键问题是() A.如何组织对软件的评审 B.如何验证程序的正确性 C.如何采用综合策略 D.如何选择测试用例 2、下面不属于软件测试步骤的是 A.集成测试 B.回归测试 C.确认测试 D.单元测试 3、自底向上集成需要测试员编写驱动程序。请判断这句话的正确与否。 A.T B.F 4、测试人员要坚持原则,缺陷未修复完坚决不予通过。请判断这句话的正确与否。 A.T B.F 5、软件测试类型按开发阶段划分是? A.需求测试、单元测试、集成测试、验证测试 B.单元测试、集成测试、确认测试、系统测试、验收测试 C.单元测试、集成测试、验证测试、确认测试、验收测试 D.调试、单元测试、集成测试、用户测试 6、如果我们可以通过覆盖率检测来判断我们是否对所有的路径都进行了测试,但是仍然可能存在未被检测出来的缺陷,原因是() A.全部选项 B.程序可能因为缺某些路径而存在问题 C.穷举路径的测试可能不好暴露数据敏感的错误 D.就算穷举路径测试也不能保证程序符合需求 7、下面哪些属于网游的测试内容? A.客户端性能 B.服务器端性能 C.从运行完 game.exe 打开游戏界面后可进行的各种操作、玩法 D.界面 8、下述有关负载测试,容量测试和强度测试的描述正确的有? A.负载测试:在一定的工作负荷下,系统的负荷及响应时间。 B.强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。 C.容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。 D.容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。

软件测试技术复习题(1004)

软件测试技术复习题(1004) 一、基本要求 1、软件测试概述 (1)软件可靠性问题、软件缺陷与故障、软件缺陷产生的原因 (2)软件测试基本概念 (3)软件开发过程 (4)软件测试过程、软件开发与软件测试的关系 (5)软件质量与软件质量管理的概念 2、软件测试策略与过程 (1)软件测试的复杂性概念 (2)软件测试方法与策略:静态测试与动态测试、黑盒测试与白盒测试 (3)软件测试过程:单元测试、集成测试、确认测试、系统测试、验收测试 (4)面向对象的软件测试 (5)软件调试的概念、软件测试与调试的关系 3、功能(黑盒)测试及其用例设计 (1)黑盒测试法的概念 (2)三角形问题、NextDate 函数问题 (3)等价类划分法 (4)边界值分析法 (5)因果图法 (6)决策表法 (7)黑盒测试应用案例 4、结构(白盒)测试及其用例设计 (1)白盒测试法的概念 (2)控制流图、环形复杂度、图矩阵 (3)覆盖测试:函数覆盖、条件覆盖、路径覆盖、面向对象的覆盖 (4)路径测试:基本路径测试方法、循环测试方法 (5)白盒测试应用案例 5、软件测试实际应用 (1)客户机/ 服务器系统的软件测试:客户机/服务器系统的结构测试、网站测试(2)面向对象的软件测试:面向对象的软件测试模型、基于类的测试 (3)图形用户界面测试:窗体测试、菜单测试、数据项测试 (4)实时系统性能测试 (5)场景法应用案例 6、软件测试管理 (1)软件测试组织管理 (2)软件测试计划和过程管理:制定测试计划、确定测试过程、测试结果分析 (3)软件测试文档管理 7、软件自动化测试 (1)软件自动化测试基础:自动化测试概念、自动化测试脚本、自动化测试生存周期 (2)软件自动化测试工具:白盒测试工具、黑盒测试工具 二、基本概念 1、软件测试是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查。软件测试所涉 及的关键问题包括四个方面:测试人员、测试内容、测试时间和测试方法。 2、软件测试过程中需要三类输入:软件配置、测试配置和测试工具。软件测试所涉及的关

软件测试课程实训_单元测试

《软件测试》课程 实训(验)项目单 编制部门:编制人:审核人: 编制日期:年月日

stack = new String[100]; nextIndex = 0; } @Override public String pop() throws Exception { if(nextIndex == 0) { throw new Exception("数组越界异常"); } return stack[--nextIndex]; } @Override public void push(String item) throws Exception { if(nextIndex == 100) { throw new Exception("数组越界异常"); } stack[nextIndex++] = item; } @Override public String top() throws Exception { if(nextIndex == 0) { throw new Exception("数组越界异常"); } return stack[nextIndex-1]; } @Override public boolean isEmpty() { return nextIndex == 0 ? true : false; } @Override public void delete(int num) throws Exception { if(nextIndex - num < 0) { throw new Exception("数组越界异常"); } nextIndex -= num; } } 5.将JUnit引入当前项目库中。 新建一个Java 工程JUnitStudy,打开项目JUnitStudy的属性页-> 选择“Java Build Path” 子选项-> 点选“Add Library…”按钮-> 在弹出的“Add Library”对话框中选择JUnit(图1),

软件测试工程师笔试及面试经典试题(大集合)

笔试和面试是每个人都会遇到的问题,如何让你在笔试和面试之前做好充分准备,对笔试和面试的问题有充分的了解,做到知己知彼很重要,如果你想在面试中脱颖而出,请认真学习本篇文章 软件测试工程师经典笔试题及面试题 一、软件测试工程师经典笔试试题 一、判断题(每题1分,12 分,正确的√,错误的╳) 1.软件测试的目的是尽可能多的找出软件的缺陷。() 2.Beta 测试是验收测试的一种。() 3.验收测试是由最终用户来实施的。() 4.项目立项前测试人员不需要提交任何工件。() 5.单元测试能发现约80%的软件缺陷。() 6.代码评审是检查源代码是否达到模块设计的要求。() 7.自底向上集成需要测试员编写驱动程序。() 8.负载测试是验证要检验的系统的能力最高能达到什么程度。() 9.测试人员要坚持原则,缺陷未修复完坚决不予通过。() 10.代码评审员一般由测试员担任。() 11.我们可以人为的使得软件不存在配置问题。() 12.集成测试计划在需求分析阶段末提交。() 二、不定项选择题(每题2 分,10分) 1.软件验收测试的合格通过准则是:() A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。 B.所有测试项没有残余一级、二级和三级错误。 C.立项审批表、需求分析文档、设计文档和编码实现一致。 D.验收测试工件齐全。 2.软件测试计划评审会需要哪些人员参加?() A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组 3.下列关于alpha 测试的描述中正确的是:() A.alpha 测试需要用户代表参加 B.alpha 测试不需要用户代表参加 C.alpha 测试是系统测试的一种 D.alpha 测试是验收测试的一种 4.测试设计员的职责有:() A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动 5.软件实施活动的进入准则是:() A.需求工件已经被基线化

最全软件测试基础教程(2011版)

软件测试基础教程 测试的基本概念 测试是软件生存周期中十分重要的一个过程,是产品发布、提交给最终用户前的稳定化阶段。 1、测试的分类: 从测试方法的角度可以分为手工测试和自动化测试。 手工测试:不使用任何测试工具,根据事先设计好的测试用例来运行系统,测试各功能模块。 自动化测试:利用测试工具,通过编写测试脚本和输入测试数据,自动运行测试程序。目前最常用的自动化测试工具是基于GUI的自动化测试工具,基本原理都是录制、回放技术。 从整体的角度可以分为单元测试、集成测试、系统测试、确认测试。 单元测试:是针对软件设计的最小单位—程序模块,进行正确性检验的测试工作。一般包括逻辑检查、结构检查、接口检查、出错处理、代码注释、输入校验、边界值检查。 单元测试的依据是系统的详细设计;一般由项目组开发人员自己完成。 集成测试:在单元测试的基础上,将所有模块按照设计要求组装进行测试。一般包括逻辑关系检查、数据关系检查、业务关系检查、模块间接口检查、外部接口检查。 系统测试:系统测试是在所有单元、集成测试后,对系统的功能及性能的总体测试。 确认测试:模拟用户运行的业务环境,运用黑盒测试方法,验证软件系统是否满足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。 从测试原理上分为:白盒测试、黑盒测试和灰盒测试。 白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子, 在完全不考虑程序内部结构和内部

软件测试技术类面试题集锦(6)十个经典软件测试面试题

软件测试技术类面试题集锦(6)十个经典 软件测试面试题 问题:软件测试技术类面试题集锦(6)十个经典软件测试面试题回答: 1.什么是软件测试,软件测试的目的 参考答案: 什么是软件测试: ·软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。 ·软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是“探测”,在“探测”中发现软件的毛病。 ·软件测试贯穿于软件定义与开发的整个周期,软件的需求规格说明书,结构设计及程序编码,都属于软件测试的对象。 ·软件测试包含白盒测试与黑盒测试,白盒测试是针对程序代码进行正确性检验的测试工作,黑盒测试独立于程序代码,从用户的角度,通过一定的测试步骤与测试案例,验证软件功能、性能等指标能否满足实际应用需求的测试工作。 软件测试的目的: 软件测试的目的是为了保证软件产品的最终质量,在软件开发的

过程中,对软件产品进行质量控制。一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。测试是为了证明程序有错,而不能保证程序没有错误。 2.软件测试的风险主要体现在哪里 参考答案: 我们没有对软件进行完全测试,实际就是选择了风险,因为缺陷极有可能存在没有进行测试的部分。举个例子,程序员为了方便,在调试程序时会弹出一些提示信息框,而这些提示只在某种条件下会弹出,碰巧程序发布前这些代码中的一些没有被注释掉。在测试时测试工程师又没有对其进行测试。如果客户碰到它,这将是代价昂贵的缺陷,因为交付后才被客户发现。 因此,我们要尽可能的选择最合适的测试量,把风险降低到最小。 3.测试工具在测试工作中是什么地位 参考答案: 国内的很多测试工程师对测试工具相当迷恋,尤其是一些新手,甚至期望测试工具可以取代手工测试。测试工具在测试工作中起的是辅助作用,一般用来提高测试效率。自动化测试弥补了手工测试的不足,减轻一定的工作量。实际上测试工具是无法替代大多数手工测试的,而一些诸如性能测试等自动化测试也是手工所不能完成的。 对于自动测试技术,应当依据软件的不同情况来分别对待,一般自动技术会应用在引起大量重复性工作的地方、系统的压力点、以及

软件测试复习题带答案

软件测试复习题带答案文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]

软件测试复习题 一、判断 (01)测试是为了验证软件已正确地实现了用户的要求。错(02)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对 (03)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 (04)黑盒测试的测试用例是根据程序内部逻辑设计的。错(05)黑盒测试的测试用例是根据应用程序的功能需求设计的。对(06)为了快速完成集成测试,采用一次性集成方式是适宜的。错(07)在软件开发过程中,若能推迟暴露其中的错误,则为修复和改进错误所花费的代价就会降低。错(05)在软件开发过程中,若能尽早暴露其中的错误,则为修复和改进错误所花费的代价就会降低。对 (09)单元测试通常由开发人员进行。对 (10)压力测试通常需要辅助工具的支持。对 (11)压力测试不需要辅助工具的支持。错 (12)测试人员说:“没有可运行的程序,我无法进行测试工作”。 错 (13)员可以对产品说明书进行。错 (14)员无法对产品说明书进行。对 (15)在设计测试用例时,应包括合理的输入条件和不合理的输入条件。对 二、选择 1、用黑盒技术设计测试用例的方法之一为( a ) A)因果图 B)逻辑覆盖 C)循环覆盖 D)基本路径测试 2、软件测试的目的是( b) A)避免软件开发中出现的错误 B)发现软件开发中出现的错误 C)尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D)修改软件中出现的错误 3、下列软件属性中,软件产品首要满足的应该是( a )

A)功能需求B)性能需求C)可扩展性和灵活性D)容错纠错能力 4、坚持在软件的各个阶段实施下列哪种质量保障措施,才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期( a)。 A)技术评审B)程序测试C)改正程序错误D)管理评审 5、以程序的内部结构为基础的测试用例技术属于( d )。 A)灰盒测试B)数据测试C)黑盒测试D)白盒测试 6、为了提高测试的效率,正确的做法是( a )。 A)选择发现错误可能性大的数据作为测试用例 B)在完成程序的编码之后再制定软件的测试计划 C)随机选取测试用例 D)使用测试用例测试是为了检查程序是否做了应该做的事 7、对程序的测试最好由谁来做,对程序的调试最好由谁来做( b )。A)程序员第三方测试机构 B)第三方测试机构程序员 C)程序开发组程序员 D)程序开发组程序开发组 8、在进行单元测试时,常用的方法是(c ) A)采用白盒测试,辅之以黑盒测试B)采用黑盒测试,辅之以白盒测试 C)只使用白盒测试D)只使用黑盒测试9、以下那一种选项不属于软件缺陷( d )。 A)软件没有实现产品规格说明所要求的功能 B)软件中出现了产品规格说明不应该出现的功能 C)软件实现了产品规格没有提到的功能 D)软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题 10、软件生存周期过程中,修改错误最大的阶段是( d )。 A)需求阶段B)设计阶段C)编程阶段D)发布运行阶段 11、在边界值分析中,下列数据通常不用来做数据测试的是(b )。

软件测试试题及答案

太原理工大学软件测试技术 适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟 一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√ ) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√ ) 4. Beta 测试是验收测试的一种。(√ ) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ ) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√ ) 8. 测试的目的是发现软件中的错误。(√ ) 9. 代码评审是检查源代码是否达到模块设计的要求。(√ ) 10. 自底向上集成需要测试员编写驱动程序。(√ ) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√ ) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√ )验收测试是由最终用户来实施的。(√ ) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ )黑盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(×) 29. 测试程序仅仅按预期方式运行就行了。( ×) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( ×)

软件测试技术复习题(含答案)

软件测试技术复习题(含答 案) -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

注释:黄色表示重复或相似一、选择题 1.软件测试的目的是( B ) A.避免软件开发中出现的错误 B.发现软件中出现的错误 C.容忍软件中出现的错误 D.修改软件中出现的错误 2.对于逻辑表达式((a&b)| |c),需要( C )个测试用例才能完 成条件组合覆盖。 A.2 B.3 C.4 D.5 3.逻辑覆盖法不包括( C )。 A.分支覆盖 B.语句覆盖 C.需求覆盖 D.修正条件判定覆盖 4.如果某测试用例集实现了某软件的路径覆盖,那么它一定同 事实现了该软件的( A )。 A.判定覆盖 B.条件覆盖 C.判定/条件覆盖 D.组合覆盖 2

5.使用白盒测试方法时,确定测试数据的依据是指定覆盖标准 和( B )。 A.程序的注释 B.程序的内部逻辑 C.用户使用说明书 D.程序的需求说明 6.划分软件测试属于白盒测试还是黑盒测试的依据是( C )。 A.是否执行程序代码 B.是否能看到软件设计文档 C.是否能看到被测源程序 D.运行结果是否确定 7.单元测试中用来模拟被测模块调用者的模块是( C ) A.父模块 B.子模块 C.驱动模块 D.桩模块 8.不属于单元测试内容的是( A ) A.模块接口测试 B.局部数据结构测试 C.路经测试 D.用户界面测试 9.客户端交易处理性能指标是一类重要的负载压力测试指标, 以下不属于客户端交易处理性能指标的是( C ) 3

A.负载测试 B.压力测试 C.疲劳强度测试 D.大数据量测试 10.以下不属于易用性而的是( D ) A.功能易用性测试 B.用户界面测试 C.辅助功能测试 D.可靠性测试 11.软件测试的目的是( F ) 4

九个常见软件测试面试题

九个常见软件测试面试题 千锋老师非常关注同学们的软件测试面试题就业问题,到现在为止,所有千锋软测毕业同学都能高薪高起点就业,以下是千锋老师搜集的软件测试面试题,一起来看看吧! 1.项目介绍(项目经验直接决定一个人能否胜任一份工作,企业更应该看重一个人解决问题的思路和具体能力),项目介绍部分重要的思路是应该先整体后局部,介绍整体的时候要有量化的数据(从项目度量的五大维度:规模,包括项目代码规模,需求规模、用例规模,工作量,进度,质量和成本),然后是整体的测试流程,再然后是角色与职责,接下来是项目中自己的特色,比如做得好的是什么、遇到的困难是什么、败笔是什么,末了是心得体会。 2.数据库方面知识,基本的要求是数据库记录的增删改查(insert、delete、update、select),表结构的增删改查(create、drop、alter、describe)、存储过程、触发器等。

3.linux操作系统相关,基本的目标是熟悉常见的50个命令,比如find命令(-name、-type、-perm、-user、-group、-ctime、-atime)等,熟悉vi、熟悉linux搭建测试环境。比如LAMP环境搭建。 4.缺陷相关知识,基本的是缺陷跟踪的流程(流程的基本要素),整体的流程,能在纸上给面试官画出来更好(尤其是男面试官,从男人好色的角度来看,写得清楚很重要),缺陷单的属性,至少能列出20个属性,每个属性的意义,如何描述好缺陷单,缺陷单描述的5C原则,比如缺陷重现步骤应该complete.如何描述一个你认为的经典的bug单。 5.设计用例相关,基本的包括用例的格式要素,用例设计工程方法论,每个方法要求(方法的背景,操作步骤,优缺点、适应范围,与其他用例方法如何配合),在项目中如何利用测试用例设计工程方法。 还有如何评价、评审测试用例,评审从哪些维度?要设计好测试用例需要哪些方面的知识结构,比如技术、业务、方法。 6.软件测试流程,系统测试相关规范和标准的流程:熟悉产品/项目,需求评审,测试需求,测试计划,测试方案,测试用例,预测试,一轮正式测试、第二轮回归测试、第三轮测试,测试报告,测试总结,测试指南。 7.网络相关,基本的网络基础知识,比如TCP/IP协议。 8.测试工具,包括三个大的类型,性能测试工具、自动化测试工具、测试管理类工具。起码的要求是熟悉工具的使用。

软件测试复习题汇总

软件测试总复习题 一、单选 1.对程序中已发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关 的文档,称为(B) A)测试B)调试 C)错误分析D)验证 2.数据流覆盖关注的是程序中某个变量从其声明、赋值到引用的变化情况,它是下列哪一 种覆盖的变种(A) A)语句覆盖B)控制覆盖C)分支覆盖D)路径覆盖 3.程序的流程图如下图所示,采用路径覆盖法进行测试,则至少需要几个测试用例可以覆 盖所有可能的路径(C) A)5 B)6 C)7 D)8 4.如果一个判定中的复合条件表达式为(A > 1)or(B <= 3),则为了达到100%的条件 覆盖率,至少需要设计多少个测试用例(B) A)1 B)2 C)3 D)4 5.自底向上单元测试的策略是首先对模块调用图上的哪一层模块进行测试(A) A)最底层B)下一层 C)最高层 D)上一层 6.基本路径测试满足( B) A)语句覆盖B)路径覆盖 C)分支覆盖 D)条件覆盖 7.集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性(B) A)正确性B)可靠性 C)可使用性 D)可维护性 8.在软件性能测试中,下列指标中哪个不是软件性能的指标( D ) A)响应时间B)吞吐量 C)资源利用率 D)并发进程数 9.下列关于软件性能测试的说法中,正确的是(B) A)性能测试的目的不是为了发现软件缺陷

B)压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力 C)性能测试通常要对测试结果进行分析才能获得测试结论 D)在性能下降曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处 10.下列关于软件可靠性测试的说法中,错误的是( A) A)发现软件缺陷是软件可靠性测试的主要目的 B)软件可靠性测试通常用于有可靠性要求的软件 C)在一次软件可靠性测试中,执行的测试用例必须完全符合所定义的软件运行剖面D)可靠性测试通常要对测试结果进行分析才能获得测试结论 11.下列关于面向对象软件测试的说法中,正确的是(A) A)在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试 B)在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试 C)假设类B是类A的子类,如果类A已进行了充分的测试,在测试类B时不必测试任何类B继承类A的成员方法 D)对于一棵继承树上的多个类,只有处于叶节点的类需要测试 12.下列哪种测试不属于面向对象单元测试考虑的范畴(D) A)成员方法的测试B)类的测试 C)类树的测试D)多个相互协作的类树的测试 13.下列关于面向对象集成测试的说法中,正确的是(B) A)大突击集成是面向对象集成测试最常用且最有效的方法 B)自底向上集成和自顶向下集成都需要为集成测试开发大量代码 C)协作集成在任何情况下都优于自底向上集成和自顶向下集成 D)高频集成是以自底向上集成为基础,利用冒烟测试进行的集成测试 14.下列有关测试过程V模型的说法中,正确的是(C) A)验收测试应确定程序的执行是否满足软件设计的要求 B)系统测试应确定系统功能和性能的质量特性是否达到系统要求的指标 C)单元测试和集成测试应确定软件的实现是否满足用户需要或合同的要求

软件测试技术基础教程

软件测试技术基础教程 软件测试技术基础教程。近来,软件测试行业发展迅速,企业越来越重视测试了。越来越多的人加入了测试大军中,很多人也想通过自学来学习软件测试技术加入这个行业,更多的人开始关注软件测试案例教程,那么软件测试案例教程哪里好呢?软件测试案例教程内容有什么?软件测试案例教程学什么?下面我为大家简要介绍一下软件测试案例教程——黑盒测试和白盒测试 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。 软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误: 1、是否有不正确或遗漏的功能? 2、在接口上,输入是否能正确的接受?能否输出正确的结果? 3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

4、性能上是否能够满足要求? 5、是否有初始化或终止性错误? 软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查: 1、对程序模块的所有独立的执行路径至少测试一遍。 2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。 3、在循环的边界和运行的界限内执行循环体。 4、测试内部数据结构的有效性,等等。

(完整版)软件测试基础习题及答案

1、软件测试的定义? 软件测试是一个过程或者一系列过程,用来确认计算和代码完成了其应该完成的功能,并且不执行其不应该有的操作。 2、软件测试的目标是什么? 是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,降低软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险。 3、简单描述一下软件测试的原则? 所有的软件测试都应追溯到用户需求 应当把“尽早地和不断地进行软件测试”作为测试者的座右铭 Good Enough原则 质量第一 充分注意测试中的群集现象 程序员应避免检查自己的程序 有据可依 尽量避免软件测试的随意性,要有预期结果 重视回归测试 妥善保存一切测试过程文档 4、软件测试中验证和确认的区别? Verfication 验证: 是保证软件正确实现特定功能的一系列活动和过程。 目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段设定的目标。 Validation 确认: 是保证软件满足用户需求的一系列的活动和过程。 目的是在软件开发后保证与用户需求符合 5、软件测试按照测试的基本策略可分为哪两种并加以详细说明? 白盒测试: 白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。

黑盒测试: 黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 6、整个软件生命周期中,需要进行哪几项测试? 单元测试、集成测试、系统测试、验收测试 单元测试 单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。 一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。 集成测试 集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。 系统测试 系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。 验收测试 验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。

相关主题
文本预览
相关文档 最新文档