软件测试笔试题

笔试是一种与面试对应的测试,是用以考核应聘者特定的知识、专业技术水平和文字运用能力的一种书面考试形式。这种方法可以有效的测量应聘人的基本知识、专业知识、管理知识、综合分析能力和文字表达能力等素质及能力的差异。笔试在员工招聘中有相当大的作用,尤其是在大规模的员工招聘中,它可以一下子把员工的基本活动了解清楚,然后可以划分出一个基本符合需要的界限。

软件测试笔试题1

  一、测试总体

  1. 什么是软件测试?

  答:为了发现程序中的错误而执行程序的过程

  2. 软件测试的目的?

  答:首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。

  其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。详细而严谨的可靠性增长模型可以证明这一点。

  测试的目的是按照用户所需软件的质量,检查开发软件过程出现的bug, 使得开发人员及时修改,可以避免在开发结束的时候发现软件存在质量问题,避免公司不必要的损失。赢得用户对公司产品的认可。

  测试的目的是以最少人力、物力和时间找出软件中潜在各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。

  测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。实施测试收集到的测试结果数据为可靠性分析提供了依据。测试不能表明软件中不存在错误,它只能说明软件中存在错误。

  3. 软件测试的目标

  答:发现尽可能多的错误。测试是一个为了寻找错误而运行程序的过程。一个好的测试案例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。

  4. 软件测试的原则

  1) 应当把"尽早地和不断地进行软件测试"作为软件开发者的座右铭。

  2) 测试用例应由测试输入数据和对应的预期输出结果这两部分组成。

  3) 程序员应避免检查自己的程序。

  4) 在设计测试用例时,应包括合理的输入条件和不合理的输入条件。

  5) 软件测试的原则

  6) 充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。

  7) 严格执行测试计划,排除测试的随意性软件测试面试笔试题完全版软件测试面试笔试题完全版。

  8) 应当对每一个测试结果做全面检查。

  9) 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。

  5. 测试的职责

  测试经理:

  1、制定测试计划。

  2、确保测试过程正常进行。

  测试工程师

  1、编写测试用例

  2、搭建测试环境

  3、执行测试

  6. 软件都有多少种分类?

  答:根据功能的不同,电脑软件可以粗略地分成四个层次:

  最贴近电脑硬件的是一些小巧的软件。它们实现一些最基本的功能,通常"固化"在只读存储器芯片中,因此称为固件。

  系统软件包括操作系统和编译器软件等。系统软件和硬件一起提供一个"平台"。它们管理和优化电脑硬件资源的使用。

  支持软件。包括图形用户界面、软件开发工具、软件评测工具、数据库管理系统、中间件等。

  应用软件种类最多,包括办公软件、电子商务软件、通信软件、行业软件,游戏软件等等。

  7. 测试的主要方面

  答:A、功能测试:a、链接测试b、表单测试c、Cookies 测试d、设计语言测试e、数据库测试

  B、性能测试:a、连接速度测试b、负载测试c、压力测试

  C、接口测试:a、服务器接口b、外部接口c、错误处理

  D、可用性测试: a、导航测试b、图形测试c、内容测试d、整体界面测试

  E、兼容性测试:a、平台测试b、浏览器测试c、视频测试d、Modem/连接速率测试f、打印机测试g、组合测试

  F、安全测试:a、目录设置b、登录c、Session d、日志文件e、加密f、安全漏洞

  G、代码合法性测试:a、程序代码合法性检查b、显示代码合法性检查

  H、文档测试:

  8. 软件测试的对象

  答:软件测试并不等于程序测试。软件测试应贯穿于软件定义与开发的整个期间。需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象

  9. 什么是"测试案例"?

  答:测试案例是一份文档,它描述了一个输入、反应、或者是与其相应的预期的响应,以便来判断应用软件的工作是否正常。测试案例应当包括测试标识、测试案例的名称、目标、测试条件/设置、输入数据要求、步骤、以及预期的结果。

  注:开发一个应用软件的测试案例的过程,需要全面、深入地考虑该软件的操作,所以有助于发现在其需求或设计里面的问题。因此,如果有可能,在开发周期中应当尽早准备测试案例。

  10. 怎么编写案例?

  答:案例的编写与测试阶段的定义有很大的关系。系统测试和unit 测试的案例可能不同。总体而言测试案例根据系统的需求而定。

  11. 软件测试的两种方法

  答:黑盒测试和白盒测试

  黑盒:这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。黑盒测试又叫做功能测试或数据驱动测试。

  白盒:此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。

  12. 测试结束的标准是什么?

  答:1.用例全部执行。2.覆盖率达到标准。3.缺陷率达到标准。4.其他指标达到质量标准

  13. 软件的生命周期

  答:软件生命周期是指一个计算机软件从功能确定、设计,到开发成功投入使用,并在使用中不断地修改、增补和完善,直到停止该软件的使用的全过程(从酝酿到废弃的过程)

  14. 什么是软件的生命周期?

  生命周期从收到应用软件开始算起,到该软件不再使用为止。它有如下各方面的内容:

  初始构思、需求分析、功能设计、内部设计、文档计划、测试计划、文档准备、集成、测试、维护、升级、再测试、逐步淘汰(phase-out)、等等。

  15. 软件测试按过程分为三个步骤

  答:单元测试:单元测试又称模块测试,是针对软件设计的最小单位─ 程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错软件测试面试笔试题完全版默认。

  单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。

  集成测试:在运行(可能是不完整)的应用中保证软件单元被结合后能正常操作的测试执行的阶段

  系统测试:当应用作为整体运行时的测试执行阶段

  16. 面向对象的设计如何影响测试?

  答:好的面向对象的工程设计使得从代码追溯内部设计、再到功能测试,最后追溯到需求,成为一件容易的事。因为它对黑盒测试的影响很少(不需要了解应用软件的内部设计) ,而白盒测试只需针对该应用软件的对象。如果该应用软件设计得好,就可简化测试设计

  17. 软件带来错误的原因很多。主要的原因有哪些?

  1) 交流不够、交流上有误解或者根本不进行交流

  2) 软件复杂性

  3) 程序设计错误

  4) 需求变化

  5) 时间压力

  6) 代码文档贫乏

  7) 软件开发工具

  18. 软件测试的步骤是什么?

  1) 测试过程按4 个步骤进行,即单元测试(Unit Testing)、集成测试(Integrated Testing)、确认测试(Validation Testing)和系统测试(System Testing)及发版测试。

  2) 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。

  3) 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。

  4) 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。

软件测试笔试题2

  1、计算表达式x6+4x4+2x3+x+1最少需要做次乘法

  A、3 B、4 C、5 D、6

  2、给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项

  int a1=x+y-z; int b1=x*y/z;

  int a2=x-z+y; int b2=x/z*y;

  int c1=x《》z; int d1=x&y|z;

  int c2=x》》z《

  A、a1一定等于a2

  B、b1一定定于b2

  C、c1一定等于c2

  D、d1一定等于d2

  3、程序的完整编译过程分为是:预处理,编译,汇编等,如下关于编译阶段的编译优化的说法中不正确的是

  A、死代码删除指的是编译过程直接抛弃掉被注释的代码;

  B、函数内联可以避免函数调用中压栈和退栈的开销

  C、For循环的循环控制变量通常很适合调度到寄存器访问

  D、强度削弱是指执行时间较短的指令等价的替代执行时间较长的指令

  4、如下关于进程的描述不正确的是

  A、进程在退出时会自动关闭自己打开的所有文件

  B、进程在退出时会自动关闭自己打开的网络链接

  C、进程在退出时会自动销毁自己创建的所有线程

  D、进程在退出时会自动销毁自己打开的共享内存

软件测试笔试题3

  一、判断题

  1.软件测试的目的是尽可能多的找出软件的缺陷。(Y)

  2.Beta测试是验收测试的一种。(Y)

  3.验收测试是由最终用户来实施的。(N)

  4.项目立项前测试人员不需要提交任何工件。(Y)

  5.单元测试能发现约80%的软件缺陷。(Y)

  6.代码评审是检查源代码是否达到模块设计的要求。(N)

  7.自底向上集成需要测试员编写驱动程序。(Y)

  8.负载测试是验证要检验的系统的能力最高能达到什么程度。(N)

  9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(N)

  10.代码评审员一般由测试员担任。(N)

  11.我们可以人为的使得软件不存在配置问题。(N)

  12.集成测试计划在需求分析阶段末提交。(N)

  二、选择

  1.软件验收测试的合格通过准则是:(ABCD)

  A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。

  B.所有测试项没有残余一级、二级和三级错误。

  C.立项审批表、需求分析文档、设计文档和编码实现一致。

  D.验收测试工件齐全。

  2.软件测试计划评审会需要哪些人员参加?(ABCD)

  A.项目经理

  B.SQA负责人

  C.配置负责人

  D.测试组

  3.下列关于alpha测试的描述中正确的是:(AD)

  A.alpha测试需要用户代表参加

  B.alpha测试不需要用户代表参加

  C.alpha测试是系统测试的一种

  D.alpha测试是验收测试的一种

  4.测试设计员的职责有:(BC)

  A.制定测试计划

  B.设计测试用例

  C.设计测试过程、脚本

  D.评估测试活动

  5.软件实施活动的进入准则是:(ABC)

  A.需求工件已经被基线化

  B.详细设计工件已经被基线化

  C.构架工件已经被基线化

  D.项目阶段成果已经被基线化

  三、填空

  1.软件验收测试包括:正式验收测试,alpha测试,beta测试。

  2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15就满分哦)

  3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。

  4.对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。

  5.(这题出的有问题哦,详细的5步骤为~~)通过画因果图来写测试用例的步骤为:

  (1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。

  (2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?根据这些关系,画出因果图。

  (3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。

  (4)把因果图转换成判定表。

  (5)把判定表的每一列拿出来作为依据,设计测试用例。

  四、简答(资料是搜集整理的,感谢前辈的解题)无

  1.区别阶段评审的与同行评审

  同行评审目的:发现小规模工作产品的错误,只要是找错误;

  阶段评审目的:评审模块阶段作品的正确性可行性及完整性

  同行评审人数:3-7人人员必须经过同行评审会议的培训,由SQA指导

  阶段评审人数:5人左右评审人必须是专家具有系统评审资格

  同行评审内容:内容小一般文档

  阶段评审内容:内容多,主要看重点

  同行评审时间:一小部分工作产品完成

  阶段评审时间:通常是设置在关键路径的时间点上!

  2.什么是软件测试

  为了发现程序中的错误而执行程序的过程

  3简述集成测试的过程

  系统集成测试主要包括以下过程:

  1.构建的确认过程。

  2.补丁的确认过程。

  3.系统集成测试测试组提交过程。

  4.测试用例设计过程。

  5.测试代码编写过程。

  6. Bug的报告过程。

  7.每周/每两周的构建过程。

  8.点对点的测试过程。

  9.组内培训过程。

  4怎么做好文档测试

  仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。P142

  检查文档的编写是否满足文档编写的目的

  内容是否齐全,正确

  内容是否完善

  标记是否正确

  5白盒测试有几种方法

  总体上分为静态方法和动态方法两大类。

  静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义

  动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

  6系统测试计划是否需要同行审批,为什么

  需要,系统测试计划属于项目阶段性关键文档,因此需要评审。

  7Alpha测试与beta的区别

  Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。

  Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。

  8比较负载测试,容量测试和强度测试的区别

  负载测试:在一定的工作负荷下,系统的负荷及响应时间。

  强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。

  容量测试:容量测试目的是通过测试预先分析出反映软件 系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试 还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。容量测试是面向数据 的,并且它的目的是显示系统可以处理目标内确定的数据容量。

  9测试结束的标准是什么?

  用例全部测试。

  覆盖率达到标准。

  缺陷率达到标准。

  其他指标达到质量标准

  10描述软件测试活动的生命周期?

  测试周期分为计划、设计、实现、执行、总结。其中:

  计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;

  设计:完成测试方案,从技术层面上对测试进行规划;

  实现:进行测试用例和测试规程设计;

  执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例。

  总结:记录测试结果,进行测试分析,完成测试报告。

  11软件的缺陷等级应如何划分?

  A类—严重错误,包括以下各种错误: 1. 由于程序所引起的死机,非法退出 2. 死循环 3. 数据库发生死锁 4. 因错误操作导致的程序中断 5. 功能错误 6. 与数据库连接错误 7. 数据通讯错误

  B类—较严重错误,包括以下各种错误: 1. 程序错误 2. 程序接口错误 3. 数据库的表、业务规则、缺省值未加完整性等约束条件

  C类—一般性错误,包括以下各种错误: 1. 操作界面错误(包括数据窗口内列名定义、含义是否一致) 2. 打印内容、格式错误 3. 简单的输入限制未放在前台进行控制 4. 删除操作未给出提示 5. 数据库表中有过多的空字段

  D类—较小错误,包括以下各种错误: 1. 界面不规范 2. 辅助说明描述不清楚 3. 输入输出不规范 4. 长操作未给用户提示 5. 提示窗口文字未采用行业术语 6. 可输入区域和只读区域没有明显的区分标志