软件测试题库

一、判断题(每题1分,12 分,正确的√,错误的╳)
1.软件测试的目的是尽可能多的找出软件的缺陷。()
2.Beta 测试是验收测试的一种。() 搜索
3.验收测试是由最终用户来实施的。()
4.项目立项前测试人员不需要提交任何工件。()
5.单元测试能发现约80%的软件缺陷。()
6.代码评审是检查源代码是否达到模块设计的要求。()
7.自底向上集成需要测试员编写驱动程序。()
8.负载测试是验证要检验的系统的能力最高能达到什么程度。()
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。()
10.代码评审员一般由测试员担任。()
1 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.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化
三、填空题(每空1分,24 分)
1.软件验收测试包括(正式验收测试)、(非正式验收测试和Alpha测试)、(Beta测试)三种类型。
2.系统测试的策略有功能测试、(性能测试)、(负载测试)、(压力测试)、易用性测试、(容量测试)、(强度测试)、 (兼容性测试又称)、(本地化测试)、(BVT测试)、(裸机测试)、(安全性测试)、()、(容错性测试)、(恢复测试)、()等15 种方法。
3.设计系统测试计划需要参考的项目文档有(需求规格说明书)、()和迭代计划。
4.对面向过程的系统采用的集成策略有()、()两种。
5.通过画因果图来写测试用例的步骤为、、、及把因果图转 换为状态图共五个步骤。
四、简答题(共37分)
1. 阶段评审与同行评审的区别。(4 分)
2 . 什么是软件测试。(3 分)

答:通过人工或自动化手段对系统进行测试,目的是为了验证系统是否满足预定功能或者是为了弄清楚实际结果与预期结果之间的差别。
3 . 简述集成测试的过程。(5 分)
答:将通过单元测试的单元模块按照设计要求组合起来再进行测试。重点检查程序接口处是否有问题。 过程:首先进行集成测试的测试计划?测试设计?测试开发?测试用例执行?测试评估,并且进行全程的缺陷跟踪。
4 . 怎样做好文档测试?(4 分)
答:文档测试要注意一下几点:文档的读者群、文档的术语、文档的正确性、文档的完整性、文档的一致性、文档的易用性、样例与示例、文档的语言
5. 白盒测试有那几种方法?(6 分)
答:白盒测试方法分为:静态测试和动态测试 静态测试方法:①编码标准与准则 ②走查 ③审查 ④评审 动态测试方法:①语句覆盖 ②判定覆盖 ③条件覆盖 ④判定-条件覆盖 ⑤条件组合覆盖 ⑥路径覆盖 ⑦条件组合+路径覆盖
6. 系统测试计划是否需要同行评审,为什么?(4 分)
答:系统测试计划需要进行同行评审,因为如果对一个系统长时间进行测试可能会出现测试疲劳甚至出现 对系统的免疫现象,因此可以进行同行评审,减少对相同系统的疲劳测试。
7. Alpha 测试与beta 测试的区别。(4 分)
8 . 比较负载测试、容量测试和强度测试的区别。(6 分)
9 . 测试结束的标准是什么?(3 分)







为什么要在一个团队中开展软件测试工作?

答:软件测试在整个一个团队中占有非常重要的地位,具体来说就是测试是一个发现软件错误的过程,执行软件测试会以最少的人力和时间,系统的找到软件存在的缺陷和错误,建立起开发人员和使用者对软件的信心。



2


您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?

答:软件测试部门配合系统分析人员软件需求分析讨论,并根据需求说明书制定《项目测试计划》,编写测试用例,建立测试环境。

软件测试人员负责软件开发部门的新产品测试及原有产品的升级测试,负责软件问题解决过程跟踪,负责软件开发文档开发工作的规范化及管理开发部门的产品文档,制作用户手册及操作手册,负责产品的上线测试,监督软件开发过程的执行,提高产品质量。



3


您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)

答:需求人员连

同系统分析人员&测试人员开会讨论需求。系统分析人员写出需求分析说明,并连同系统分析人员&测试人员&需求人员开会讨论可行性。系统分析人员写出详细设计说明书,程式人员编码,给出系统流程图。交与测试人员,测试人员给出Bug统计表。



4


您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?

答:从事过write test plan,creation of test case,进行功能测试,性能测试,编写测试工具,文档的管理等,比较擅长与写测试用例和进行功能测试。



5


您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)

答:有功能测试,性能测试,可靠性测试,安全性测试,负载测试,压力测试,安装/卸载测试,启动/停止测试,兼容性测试,互连测试,文档测试,恢复测试,回归测试,可使用性测试,容量测试。

功能测试只对软件的功能是否满足用户需求来做测试。性能测试需要和压力和负载测试联合起来。



6


请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。

黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。

白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。

单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。

集成测试:在单元测试的基础上,对单元模块之间的连接和组装进行测试。

系统测试:在所有都考虑的情况下,对系统进行测试。

验收测试:第三方进行的确认软件满足需求的测试。



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

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

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

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

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

(2) 软件质量的定义

A 软件的功能性、可靠性、易用性、效率、可维护性、可移植性

B 满足规定用户需求的能力

C 最大限度达到用户满意

D 软件特性的总和,以及满足规定和潜在用户需求的能力

(3) 软件测试的对象包括( )

A 目标程序和相关文档

B 源程序、目标程序、数据及相关文档

C 目标程序、操作系统和平台软件

D 源程序和目标程序

(4) 软件测试类型按开发阶段划分是( )

A 需求测试、单元测试、集成测试、验证测试

B 单元测试

、集成测试、确认测试、系统测试、验收测试

C 单元测试、集成测试、验证测试确认测试、验收测试

D 调试、单元测试、集成测试、用户测试

(5) 根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。

“一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。”

(6) 设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:

“有一个处理单价为1 元5 角钱的盒装饮料的自动售货机软件。若投入1 元5 角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是2 元硬币,在送出饮料的同时退还5角硬币。”

1)试利用因果图法,建立该软件的因果图;

2)设计测试该软件的全部测试用例。

(7) 对一个长度为100,000条指令的程序进行测试,记录下来的数据如下:

测试开始,ú 发现错误个数为0;经过160小时的测试, 累计改正100个错误, 此时, MTTF = 0.4小时;ú又经过160小时的测试,ú 累计改正300个错误, 此时, MTTF = 2小时;

1)估计程序中固有的错误总数;

2)为使MTTF达到10小时, 必须测试和调试这个程序多长时间?

3)给出MTTF与测试时间t之间的函数关系。

(8)请根据以下程序片段,设计最少的测试用例实现条件覆盖

If((A>1)AND(B=0))Then X=X/A

If((A=2)OR(X>1))Then X=X+1

Printf("X=%d",x)

(9) 请画出你认为最合理的缺陷处理流程图?

(10) c/s和b/s软件,你认为应从哪些方面去测试?




白箱测试和黑箱测试是什么?什么是回归测试?答题建议:简述下概念即可。


单元测试、集成测试、系统测试的侧重点是什么?答题建议:围绕重点简单概括即可。如下:单元测试的重点是系统的模块,包括子程序的正确性验证等。集成测试的重点是模块间的衔接以及参数的传递等。系统测试的重点是整个系统的运行以及与其他软件的兼容性。


设计用例的方法、依据有那些?答题建议:测试分为白盒测试和黑盒测试,回答时,要注意分开说。白盒测试用例设计有如下方法:基本路径测试、等价类划分、边界值分析、覆盖测试、循环测试、数据流测试、程序插桩测试、变异测试。依据就是详细设计说明书及其代码结构。黑盒测试用例设计方法:基于用户需求的测试、功能图分析方法、等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、正交实验设计方法。依据是用户需求规格说明书,详细设计说明书。


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

建议:一个好的测试工程师,不仅要基础扎实,对自身的性格、责任心都有非常高的要求。具体如下:(1)掌握基本的测试基础理论(2)本着找出软件存在的问题的态度进行测试,即客观吧,不要以挑刺形象出现(3)可熟练阅读需求规格说明书等文档(4)以用户的观点看待问题(5)有着强烈的质量意识(6)细心和责任心(7)良好的有效的沟通方式(与开发人员及客户)(8)具有以往的测试经验(9)能够及时准确地判断出高危险区在何处.


集成测试通常都有那些策略?答题建议:大致说四点即可,当然说全更好。集成测试有十种策略:(1)大爆炸集成(2)自顶向下集成(3)自底向上集成(4)三明治集成(5)分层集成(6)基干集成(7)基于功能的集成(8)基于消息的集成(9)基于风险的集成(10)基于进度的集成.





1. 什么是软件测试,目的是什么
2. 软件测试的活动周期是什么
3. 黑盒测试和白盒测试的方法
4. sql语句
5. bug内容什么内容
6. 测试结束的标准是什么
7. 验收、集成、系统、功能、性能测试之间有什么联系
9. 怎么维持测试跟开发之间的关系
10. 一个软件测试工程师应具备的素质
11. 一个网站的界面找测试点

1、软件测试就是在软件开发的过程中,对软件各阶段产品检验的过程,其目的是保证软件产品的质量
2、需求分析--编写测试计划--编写测试方案--编写测试用例--执行测试用例--提交缺钱报告--缺陷跟踪--回归测试--测试通过
3、黑盒主要是功能测试、性能测试、兼容性测试这些是主要的,还包括一些安全性,GUI测试,压力测试,易用性,容量测试,异常测试,安装性测试等 白盒主要的就是静态和动态两种测试
4、select* from a where ...;查找
insert ito a ()values();添加
delete from a;删除表中信息
update a set ...from..;更改表中信息
create table a ();建表
drop table();删除表
5、不清楚你问的内容是什么。给你两方面的回答 (1)缺陷的状态 :新建 打开 修复 关闭 拒绝 重复 丢弃 推迟 重新打开 (2)缺陷报告的内容:标题、详细描述(描述、前提条件、步骤重现、预期结果、实际结果)、状态、发现人、负责人、项目、版本、严重度、优先级
6、回归测试通过
7、先做集成测试,结束之后系统测试包括功能测试和性能测试,系统测试结束之后,缺陷也修改完成,拿给用户做验收测试!
9、发现缺陷不要直接就提交,和开发沟通后再做结论,如果沟通时发生歧义,查看需求决定是否是缺陷,如果不能决定咨询项目经理。对于一些字段上的缺陷,比如说套用的框架,有的按钮没有更改标识,最好是和开发说一声当场改掉。就不要提交缺陷。开发和测试的矛

盾是一致存在的我们没有办法杜绝,只能尽量的降到最低。
10、细心、耐心、自我调节能力强、学习能力强。有很好的全局意识,和观察力!
11、界面--功能(自己要有一个网站功能的概括!先按照单个功能去测,之后按照系统的流程去测。最后是按照各个总能之间的联系去测试!)


测试流程:::测试准备-测试计划-测试需求-测试用例-测试执行-测试缺陷管理-测试报告总结

缺陷流程管理:new- open-fix-(reopen)-close


软件生命周期::软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。

软件生命周期(SDLC)的六个阶段

1、问题的定义及规划
此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。

2、需求分析
在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。

3、软件设计
此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。

4、程序编码
此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。

5、软件测试
在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。

6、运行维护
软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两

个方面。

相关文档
最新文档