天天看点

软件测试综合笔试题目及参考答案

一、 测试的种类很多,比如:

1、 代码、函数级测试

2、 模块、组件级测试

3、 系统测试

请说出这些测试最好由那些人员完成,测试的是什么?

二、 设计测试用例时应该考虑哪些方面,即不同的测试用例针对那些方面进行测试?

三、 如果测试程序向打印机输送打印内容,应该选用那些破坏性测试用例。

四、 在windows下保存一个文本文件时会弹出保存对话框,如果为文件名建立测试用例,等价类应该怎样划分?

五、 假设有一个文本框要求输入10个字符的邮政编码,对于该文本框应该怎样划分等价类?

六、 有一个软件产品,功能是输入3个数字代表三角形的三个边,看是否能判断出是什么三角形,请设计测试用例并标识出该用例的测试目的。

七、 在SQLSERVER查询分析器中选择想要使用的数据库,有哪两种方法?

八、 请指出下列子句在SELECT语句中所起的作用。

语句 作用

SELECT

INTO

FROM

WHERE

GROUP BY

HAVING

ORDER BY

参考答案:

一、 答:

代码、函数级测试一般由白盒测试人员完成,他们针对每段代码或函数进行正确性检验,检查其是否正确的实现了规定的功能。

模块、组件级测试主要依据是程序结构设计测试模块间的集成和调用关系,一般由测试人员完成。

系统测试在于模块测试与单元测试的基础上进行测试。了解系统功能与性能,根据测试用例进行全面的测试。

二、答:

设计测试用例时需要注意的是,除了对整体流程及功能注意外,还要注意强度测试、性能测试、压力测试、边界值测试、稳定性测试、安全性测试等多方面。(测试用例需要考虑的四个基本要素是输入、输出、操作和测试环境;另外,测试用例需要考虑的是测试类型(功能、性能、安全……),这部分可以参照TP做答。此外,还需要考虑用例的重要性和优先级)

三、 答:

1. 打印超过允许一次打印的上限的数量;

2. 在打印过程中断电、重启等破坏性操作。

3. 打印过程中墨盒为空。如果是彩色打印机,要分别测试单色墨盒为空和组合的情况。

4. 打印过程中没有进纸。

四、 答

1. 单字节,如A;

2. 双字节, AA、我我;

3. 特殊字符 /’。’;、=-等;

4. 保留字,如com;

5. 文件格式为8.3格式的;

6. 文件名格式为非8.3格式的;

7. /,\,*等九个特殊字符。

五、答:

1. 特殊字符,如10个*或¥;

2. 英文字母,如ABCDefghik;

3. 小于十个字符,如123;

4. 大于十个字符,如11111111111;

5. 数字和其他混合,如123AAAAAAA;

6. 空字符;

7. 保留字符

六、本题目主要考察设置边界值:(供参考)

序号 第一边 第二边 第三边 预测结果 实际结果 测试目的
6 7 8 普通 三边不等
1 1 1 等边 三边等
8 9 9 等腰 两边等
15 7 8 不能构成 两边和=三
11 22 不能构成 空值
66 99 不能构成
88 100 -1 不能构成 负数
* 1 1 不能构成 特殊符号

七、 答:

1. 用命令行: use 数据库名称

2. 在工具栏直接选择要连接数据库

八、 答:

SELECT 选择

INTO 插入

FROM 从某个表

WHERE 条件 在什么时候 WHERE子句设置查询条件,过滤掉不需要的数据行。

GROUP BY 分类分组

HAVING 在分类的基础上定位查询条件

ORDER BY 查询结果排序

一、判断题(第1、3题每题2分,其他题每题1分,12 分,正确的√,错误的╳)

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

这个观点指出测试是以查找错误为中心,而不是为了演示软件的正确功能。但是只从字面意思理解可能会产生误导,认为发现错误是唯一目的。软件是否符合用户需求是判断软件质量的重要标准,检验软件的可靠性也是软件测试目的之一。

    X

2.Beta 测试是项目验收测试的一种,主要发现项目中存在的重要缺陷。()

Beat测试和验收测试是两种不同的测试。验收测试的目的是为了以发现“未实现的需求“为目的,以评估“适合使用“为目标,该类测试的不是以发现缺陷为主要目的。beta测试是一模拟真实的使用环境从而发现缺陷的一种测试。所以两者之间的是非包容关系。验收针对的项目;Alpha, Beta针对的是产品。最好不要出这样的题。

X

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

上面说到了验收测试的目的和目标,所以验收测试也可是是软件生产的企业内部人员来实施。例如产品经理。当软件以项目的形式出现,那么验收测试由最终用户来实施的情况是比较长见的。但是对于产品形式的软件,生产企业内部的验收测试会更多。

X

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

代码审查是一种静态技术,从这个意义上说代码复查是需要和其他的一些动态测试技术配合才能检查代码是否符合设计的要求

X

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

这道题目大家看下top-down 和 down-top的集成测试示意图就能得出明确的答案。这里需要了解的是什么是驱动测试程序,什么是桩程序。如果集成组件数量众多,多关系层次,那么不论是什么类型的集成测试。驱动程序和桩程序都是需要开发的。

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

关于负载测试和压力测试在论坛中的帖子中有详细的解释,大家可以去看一下就能得出正确的答案

X

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

测试是否通过,不是以缺陷是否修复完毕为标准,而是以测试需求和既定的完成标准为标准。。

X

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

如果测试员有这个水平,那么当然是可以参加的。不过大多数的企业不会让普通的测试人员参与代码的评审。

X

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

首先大家先搞清楚什么是配置管理什么是软件配置,从这道题目中看不出出题人想问的是关键工程中的配置管理还是单纯的软件配置。但是可以肯定的是不论是何种情况,答案均是否定的。  

X

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

集成测试计划在开发人员完成软件集成计划之后就可以开始进行了。所以在需求分析阶段之后提交是不现实的事情,应该在软件的设计阶段后,编码前。

X

二、不定项选择题(每题2 分,10分)

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

A.

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

B.

所有测试项没有残余一级、二级BUG

C.

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

D.

验收测试工件齐全。

回答这道题,你必须是这家企业的员工。前面说到了验收测试的目的和目标,一个是需求必须实现,二是证明软件是适合使用的。这样能满足这两个通用标准就可以了。当然有些软件企业会对验收测试标准做一些调整。C是不对的因为立项时的需求和最终的需求很大可能是不完全一致的。 A

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

A.项目经理

B.SQA 负责人

C.配置负责人

D.测试组

上面的4种角色都需要参与   ABCD

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

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

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

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

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

首先大家需要知道alpha测试是系统级别的测试,该测试是在一个受控的环境中进行的。用户需要直接参与进来。所以答案应该是AD 

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

A.制定测试计划

B.设计测试用例

C.设计测试过程、脚本

D.评估测试活动

合理的答案的是BC,同时要看软件企业对该类人员的职责是如何定义。

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

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

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

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

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

先要了解一下什么是基线。这个是软件配置管理中一个重要的概念。工作产品必须纳入到一定的基线里面。所以选择ABC是必定的,至于是否选择D要看这家企业自身的标准了

三、填空题(每空1分,24 分)

1.软件验收测试包括___、___、____三种类型。

软件验收测试包括正式验收测试、alpha测试、beta测试三种测试。

2.系统测试的策略有____________________________等15 种方法。(该题

15个空) 

系统测试的策略有很多种的,有性能测试、负载测试、强度测试、易用性测试、安全测试、配置测试、安装测试、文档测试、故障恢复测试、用户界面测试、恢复测试、分布测试、可用性测试。

3.设计系统测试计划需要参考的项目文档有___、___和____。

设计系统测试计划需要参考的项目文档有软件测试计划、软件需求工件、和迭代计划。

4.通过画因果图来写测试用例的步骤为___、___、___、___及把因果图转换为状态图共五个步骤。

利用因果图生成测试用例的基本步骤是:

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

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

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

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

1.一个测试工程师应具备那些素质和技能?

我认为应该具备如下素质和技能:

掌握基本的测试基础理论

本着找出软件存在的问题的态度进行测试,即客观吧,不要以挑刺形象出现

可熟练阅读需求规格说明书等文档

以用户的观点看待问题

有着强烈的质量意识

细心和责任心

良好的有效的沟通方式(与开发人员及客户) 

具有以往的测试经验

能够及时准确地判断出高危险区在何处.

2.集成测试通常都有那些策略?

基于分解的集成:大爆炸集成\自顶向下集成\自底向上集成\ 三明治集成\基于调用图的集成\基于路径的集成\分层集成\基于功能的集成\高频集成\基于进度的集成\基于风险集成\基于事件集成\基于使用的集成\C/S集成

3.你用过的自动测试工具?

我用过功能测试工具:QTP;性能测试工具:LoadRunner;测试管理工具:TD

4.一个缺陷测试报告的组成?

一个缺陷测试报告的组成为:缺陷报告的唯一ID,总结简明扼要的事实陈述总结软件缺陷.事件的描述(日期和时间\测试员的姓名\使用的硬件和软件配置\输入\过程步骤\预期结果\实际结果\试图再现及尝试的描述\定位信息)

5.软件测试项目从什么时候开始?为什么?

软件测试应该在需求分析阶段就介入,因为测试的对象不仅仅是程序编码,应该对软件开发过程中产生的所有产品都测试,并且软件缺陷存在放大趋势.缺陷发现的越晚,修复它所花费的成本就越大.

6.

有两个表

表一 AA

种类T     库存总量S

A         997     

B         1234

表二 BB

种类T     出库数量S

A         105

A         213

B         116

B         211

B         303

用一条SQL语句求出A,B各剩下多少?

参考答案:

select distinct AA.T kind ,AA.S-(select sum(BB.S) sumnum from BB group by T having AA.T=BB.T) stock from AA,BB where AA.T=BB.T 

结果:

kind stock 

A 679 

B 604

1. 什么是白盒测试?什么是黑盒测试?什么是回归测试?

答:白盒测试是测试人员要了解程序结构和处理过程,按照程序内部逻辑测试程序,检查程序中的每条通路是否按照预定要求正确工作.它主要的针对被测程序的源代码,测试着可以完全不考虑程序的功能.

白盒测试流程:详细设计–>源程序–>分析程序内部逻辑结构–>流程图–>制定测试用例–>被测程序–>执行路径–>覆盖情况分析 .

黑盒测试:(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。

回归测试: (regression   testing): 回归测试有两类:用例回归和错误回归;用例回归是过一段时间以后再回头对以前使用过的用例在重新进行测试,看看会重新发现问题。错误回归,就是在新版本中,对以前版本中出现并修复的缺陷进行再次验证,并以缺陷为核心,对相关修改的部分进行测试的方法。

2.单元测试、集成测试、系统测试的侧重点是什么?

单元测试针对的是软件设计的最小单元–程序模块(面向过程中是函数、过程;面向对象中是类。),进行正确性检验的测试工作,在于发现每个程序模块内部可能存在的差错.一般有两个步骤:人工静态检查\动态执行跟踪

集成测试针对的是通过了单元测试的各个模块所集成起来的组件进行检验,其主要内容是各个单元模块之间的接口,以及各个模块集成后所实现的功能.

系统测试针对的是集成好的软件系统,作为整个计算机系统的一个元素,与计算机硬件\外设\某些支持软件\数据和人员等其他系统元素结合在一起,要在实际的运行环境中,对计算机系统进行一系列的集成测试和确认测试.

3.设计用例的方法:

在测试的不同阶段运用不用的测试方法设计用例的方法依据不同:

白盒测试用例设计有如下方法:逻辑覆盖、循环覆盖和基本路径覆盖

黑盒测试用例设计方法:等价类划分、边界值分析、错误猜测、因果图、状态图、测试大纲、场景法、正交策略表。

4.一个测试工程师应具备那些素质?

1、责任心

2、沟通能力

3、团队合作精神

4、耐心、细心、信心

5、时时保持怀疑态度,并且有缺陷预防的意识

6、具备一定的编程经验

5.集成测试通常都有那些策略?

基于分解的集成:大爆炸集成\自顶向下集成\自底向上集成\ 三明治集成\基于调用图的集成\基于路径的集成\分层集成\基于功能的集成\高频集成\基于进度的集成\基于风险集成\基于事件集成\基于使用的集成\C/S集成 。

6.答:我用过功能测试工具:QTP;性能测试工具:LoadRunner;测试管理工具:TD;静态分析工具:Logiscope;单元测试工具:C++Test等。

7.答:一个缺陷测试报告的组成为:缺陷报告的唯一ID,总结简明扼要的事实陈述总结软件缺陷.缺陷的描述(日期和时间\测试员的姓名\产品名称\所属模块\工作版本\使用的硬件和软件配置\输入数据\重现步骤\预期结果\实际结果\附件\责任人\备注) 、缺陷状态、修改记录等。

8.软件测试项目从什么时候开始,?为什么?

软件测试应该在需求分析阶段就介入。

1. 在软件生命周期的各个阶段都会引入缺陷。通常来说,在需求分析和产品设计阶段,容易引入80%的缺陷,而剩下的20%的缺陷才是在编码过程中引入的。

2. 缺陷的修改成本随着所处的开发阶段的上升而上升。因此,及早引入测试,可以及早的修复缺陷,从而降低成本。

3. 软件产品由程序和文档两个部分组成。测试的内容不仅包括软件产品,还包括生产过程使用的各类文档。需要对文档进行测试和评审。

4. 制定测试计划,规划测试资源,设定进度,也需要配合软件的生命周期,从一开始就进行界定。

转载于:https://www.cnblogs.com/justdoitba/articles/8353337.html