软件测试练习题

软件测试练习题
软件测试练习题

一.测试基础:

1.瀑布模型软件生命周期分为哪些阶段

计划阶段

需求分析阶段

设计阶段

编码阶段

测试阶段

运行维护阶段

2.软件测试的预防目的,是预防什么

尽早返现、尽早解决,避免问题延后导致的问题扩大化

发现问题找出问题原因,并实施改进,从而避免同类问题的再次发生

3.软件测试的对象包括哪些

可执行的程序

开发这个程序的一切中间过程产品,包括需求文档、设计文档、源代码

该程序所在的运行环境

4.设计阶段要设计哪2个文档,中英文名分别叫什么?

概要设计,HLD

详细设计,LLD

5.软件研发团队中包括哪些角色?

项目经理

需求分析人员

设计人员

编码人员

测试人员

QA

配置管理人员

二.测试方法:

6.说一下白盒测试、黑盒测试、灰盒测试的区别

黑盒测试:把测试对象看做一个黑盒子,不考虑内部逻辑,只依据外部规格要求,检查产品的实际规格是否符合要求的测试方法。

白盒测试:把测试对象看做一个打开的盒子,利用设计的内部逻辑结构,对产品运行逻辑进行测试的方法。

灰盒测试:是介于白盒测试与黑盒测试之间的,灰盒测试关注输出对于输入的正确性,同时也关注内部表现。

7.说一下白盒测试、黑盒测试各自的优缺点

黑盒测试优点:

1.符合使用者的视角,测试人员容易理解、容易执行

2.对测试人员技能要求不高,工作量相对较小

3.发现的问题都是和规格不一致的异常

黑盒测试缺点:

1.难于考虑到因设计引入的新的测试项,导致测试有遗漏

2.难于对复杂业务进行充分覆盖的测试

3.发现问题相对较难定位

白盒测试优点:

1.深入到最底层逻辑进行测试,能发现深层次问题

2.逻辑覆盖充分,可达到足够高的覆盖率

3.发现问题后定位解决问题成本低

白盒测试缺点:

1.测试技能要求高,测试工作量绝大

2.发现的不一定是规格上的缺陷

8.功能测试自动化适用的场合

回归次数多

质量要求高

版本迭代变化不大

9.静态测试和动态测试的区别

静态测试,无需运行被测试对象,而是直接观察,通常静态测试的对象是文档和源代码动态测试,运行被测试产品,观察产品运行时的表现现象。通常测试对象是可执行的程序。

10.对自动化能否取代手工测试这个问题,你是怎么理解的?

自动化测试无法取代手工测试。因为:

1.自动化测试适用的场合比较少,而手工测试适合于大部分场合

2.自动化测试解决的不是测试的质量问题,而是测试的效率问题,单纯靠自动化测试

无法发现产品突发性的问题

3.正常的测试过程中,手工测试居主,对没有修改的模块进行回归测试,才是自动化

测试的主要适用场合

通过对大部分没有修改模块的自动化测试,可以大大节约人力,来投入到更需要手工测试的复杂或修改过的模块,通过更细致的手工测试来提高产品质量

三.测试过程:

11.软件测试过程一般划分为几个阶段?每个阶段的测试重点是什么?

单元、集成、系统、验收

单元测试主要测试单元内部的数据结构、逻辑控制、异常处理等

集成测试主要测试模块之间的接口和接口数据传递关系,以及模块组合后的整体功能

系统测试主要测试整个系统相对于需求的符合度

验收测试主要测试产品是否达到用户可使用的状态

12.瀑布模型与双v模型的优缺点

瀑布模型有以下优点:

1)为项目提供了按阶段划分的检查点。

2)当前一阶段完成后,您只需要去关注后续阶段。

3)可在迭代模型中应用瀑布模型。

瀑布模型有以下缺点:

1)在项目各个阶段之间极少有反馈。

2)只有在项目生命周期的后期才能看到结果。

3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。

双V模型的优点:

1)将测试贯穿到整个软件的生命周期中,且除了代码要测试,需求、设计等都要测试。2)测试更早的介入到软件开发中,能尽早的发现缺陷进行修复。

3)测试与开发独立起来,并与开发并行。

双V模型的缺点:

1)对有些项目,开发过程中根本没有文档产生,故W模型无法使用。

2)对于需求和设计的测试技术要求很高,实践起来很困难。

13.什么是回归测试?你们公司是如何做回归测试的?

回归测试,即就是在软件生命周期中,只要软件发生了改变,就可能给该软件产产生问题;所以,每当软件发生变化时,我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否破坏原有的正常功能。

回归测试可以发生在任何一个阶段,包括单元测试、集成测试和系统测试。

回归测试实施过程:

1、在测试策略制定阶段,制定回归测试策略

2、确定需要回归测试的版本

3、回归测试版本发布,按照回归测试策略执行回归测试

4、回归测试通过,关闭缺陷跟踪单(问题单)

5、回归测试不通过,缺陷跟踪单返回开发人员,开发人员重新修改问题,再次提交测试人员回归测试

14.回归测试的策略有哪些?

完全重复的回归测试策略

选择性重复的回归测试策略,包括了错误修改法、周边影响法、指标达成法

15.你们公司的测试流程是什么?

1)需求评审-需求定稿,测试人员理解需求

2)测试组长发布测试计划

3)测试人员进行测试方案的编写及评审

4)测试人员根据测试方案定稿进行测试类型选择、测试用例的编写和评审

5)测试人员根据测试用例进执行功能、性能、易用性、安装性、健壮性、恢复性等各类型的测试

6)发现问题提交缺陷,并审核缺陷

7)修复后,进行回归测试确认bug修复,关闭bug

8)编写测试报告及总结

9)提交过程文档到知识库。

四.测试覆盖率:

1、白盒测试的覆盖率有哪些?如何计算的?

1)语句覆盖率:所有的用例运行被测试程序后,执行到的语句所占总语句的比率覆盖率=所有用例执行到的语句/总语句

2)判定覆盖率:所有的用例运行被测试程序后,执行到的取真/取假分支总数所占总分支数的比率

覆盖率=(所有用例执行到的取真分支数+取假分支数)/总分支数

3)条件覆盖率:所有的用例运行被测试程序后,执行到的条件取真值假值总数所占总条件取值的比率

覆盖率:(所有用例执行到条件的取真值+取假值)/总条件取值数4)判定-条件覆盖率:所有的用例运行被测试程序后,执行到的条件取真假值总数与判定真假分支的总数所占总条件取值以及总的判定分支总数的比率

覆盖率:(所有用例执行到条件的取值数+执行到分支数)/(总条件取值+总分支的取值)

5)条件组合覆盖率:所有的用例运行被测试程序后,执行到的条件组合总数所占总条件组合的比率

所有用例执行到条件组合数/总条件组合数

6)路径覆盖率:所有的用例运行被测试程序后,执行到的路径数所占总路径的比率执行到路径数/总路径数

2、黑盒测试的覆盖率如何计算?

所有测试用例的测试点所占所有需求的测试点的比例,因此,必须将需求的大概的所有测试点分析出来

3、覆盖率越全面越好吗?

不是,覆盖率越高,测试设计及执行的成本会越高;因此只要重要的测试点覆盖到就满足覆盖率的要求了

4、常用的白盒测试设计技术

逻辑覆盖测试、基本路径测试、程序插装、循环覆盖测试

5、什么是基本路径测试?

一种常用的白盒测试用例设计方法,设计用例的步骤如下:

1)分析程序的控制流图

2)分析控制构造的环路复杂性

3)导出基本可执行路径集合

4)设计测试用例

5)保证程序的每一个可执行语句至少执行一次

五.用例写作:

测试用例应包含的主要项目?

答:测试用例编号、测试项目测试标题、重要级别、预置条件、输入数据、操作步骤、预期输出

用例预置条件的作用?

答:执行当前测试用例需要的前提条件,如果这些前提条件不满足,则后面的测试步骤无法进行或者无法得到预期结果。前提条件必须是最近接近操作步骤的条件,不要离得太远了。

预期结果可能包含哪些内容?

答:当前测试用例的预期输出结果,包括返回值的内容、界面的响应结果、输出结果的规则符合度等等

六.缺陷管理:

提交的缺陷开发不认可怎么办

首先和开发沟通,看是否能说服对方,或者被对方说服

如果双方达成不了共识,那么就可以上交给测试组长或者经理,由他去协调,如果项目组中有ccb组织,可以上ccb进行裁决

缺陷提单后的处理流程

简化版提单过程:

测试人员提单后直接交给开发人员确认是否是问题,如果是则进行修改,改好后交给测试人员在新版本上做回归测试。回归测试通过则问题单关闭,不通过则返回开发人员重新修改(具体可以参照ppt上的流程图来讲解,如果觉得自己表达能力有限,怕说不清楚,可以用纸笔给面试官一边画一边讲)

缺陷单的主要内容

编号,测试环境,测试版本,缺陷描述,操作步骤,预期结果,实际结果,严重程度等

七.系统测试

请描述常见的系统测试类型有哪些?

功能测试、性能测试(负载测试、压力测试、并发测试、基准测试……)、异常测试、界面测试、易用性测试、安装测试、兼容性测试……

什么是异常测试?

异常测试,是检测系统对异常情况的处理。异常测试覆盖硬件或软件异常时的处理。测试方应通过人为制造错误情况测试系统对错误操作、错误报文的反应,检查程序中的屏幕或页面是否给出了清晰且充分的提示或约束;一旦出现错误情况,系统是否能正常报告,并检查系统的错误提示是否清晰且充分;测试系统是否处理了用户的异常操作,还是造成死机或处理错误。只有通过异常测试的软件产品,才可以保证软件在正式上线后长时间的保持良好的运营状态,给最终用户以信心。异常测试的结果也有助于为我们进一步的系统优化设计积累经验,设计和测试是一个相互反馈的过程。

八.单元测试

1)junit中有哪些注解,分别表示什么意思?

注解(Annotation)

@Test: 测试方法

@Ignore: 被忽略的测试方法

@Before: 每一个测试方法之前运行

@After: 每一个测试方法之后运行

@BeforeClass: 所有测试开始之前运行

@AfterClass: 所有测试结束之后运行

2)例举常用的断言5个

Assert.assertEquals

Assert.assertNotEquals

Assert.assertTrue

Assert.assertArrayEquals

Assert.assertNull

3)单元测试,集成测试,系统测试的区别

a)测试方法不同

单元测试属于白盒测试范畴

集成测试属于灰盒测试范畴

系统测试属于黑盒测试范畴

b)考察范围不同

单元测试主要测试单元内部的数据结构,逻辑控制,异常处理等

集成测试主要测试模块之间的接口和接口数据传递关系,以及模块组合后的整体功

c)系统测试主要测试整个系统相对于需求的符合度

评估基准不同

单元测试的评估基准主要是逻辑覆盖率

集成测试的评估基准主要是接口覆盖率

系统测试的评估主要是测试用例对需求规格的覆盖率

4)什么是驱动单元和桩单元

驱动单元:用来模拟被测试单元的上层单元,相当于被测函数的主程序

桩单元:用来代替被测单元工作过程中调用的子单元

5)单元测试的策略有哪些,方法是什么?分别有什么优缺点

a)孤立的测试策略

方法:不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和驱动模块,每个模块进行独立的单元测试

优点:最简单,最容易操作,可以达到高的结构覆盖率

缺点:桩函数和驱动函数工作量很大,效率低

b)自顶向上的测试策略

方法:不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和驱动模块,每个模块进行独立的单元测试

优点:最简单,最容易操作,可以达到高的结构覆盖率

缺点:桩函数和驱动函数工作量很大,效率低

c)自顶向下的测试策略

方法:不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和驱动模块,每个模块进行独立的单元测试

优点:最简单,最容易操作,可以达到高的结构覆盖率

缺点:桩函数和驱动函数工作量很大,效率低

6)桩模块、驱动模块的概念。

驱动模块:在大多数场合称为“主程序”,它接收测试数据并将这些数据传送到被测试模块,单元测试一个函数单元时,被测单元本身是不能独立运行的,需要为其传送数据,为此写驱动

驱动模块要完成以下事情:

1.接受测试输入

2.对输入进行判断

3.将输入传给被测单元,驱动被测单元执行

4.接受被测单元执行结果,并对结果进行判断

5.将判断结果作为用例执行结果输出测试报告

桩模块:比如对函数A做单元测试时,被测的函数单元下还包括了一个函数B,为了更好的测试错误,定位错误,就要为函数B写桩,来模拟函数B的功能,保证其正确。

7)单元测试中关注的重点有哪些?

单元接口、出错处理、局部数据结构、独立路径、边界条件

8)junit在单元测试中的作用?

一个作用就是方便如果要测试一个方法的话除了junit 就是main 但是如果有很多个测试方法要测试的话你就需要频繁的更改main方法。但是junit 只要添加一个标记就可以了标记了你只需要在Outline窗口中右键你标记的方法选Run As 然后选择JUnit Test就可以测试了。Junit中还可以使用@Test,@Before,@After,断言等,使测试更灵活。

九.JAVA

Java里的方法重载、方法重写有什么区别?

java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这是静态多态。

java的方法重写:父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。

但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。

继承的含义是什么?子类和父类之间有什么关系?

1、继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

2、有继承关系的类才能分出哪个是父类,哪个是子类,继承用extends关键字,extends后面的类则表示父类,extends前面的类则是子类。在java中所有的类都默认继承Object类,Object类是所有类的父类。

x++和++x计算结果的区别

单独使用自增1或自减1运算符,前缀运算和后缀运算没有区别,其结果都是完成变量x 的自加1或自减1

前缀运算和后缀运算的区别在于:前缀运算,先运算,再使用变量;后缀运算,先使用变量,再运算

十.Linux

1、查看隐藏文件的信息用什么命令、什么选项?

ls -a

2、chmod 665一个文件,表示修改该文件的什么?改成什么?

修改文件的访问权限,表示对该文件的访问权限是,作者可读可写、组用户可读可写、其他用户可读可执行。

3、查询user.log文件中包含root这个单词的行(不区分大小写),并同时输出行号,用什么命令、什么选项?

grep -niw root user.log

4、创建多层目录,如a/b/c,用什么命令、什么选项?

mkdir -p a/b/c

5、查找/etc目录下,名称以rpt打头、小于10K、作者usera具有读写执行权限的普通文件,针对文件名查找用什么表达式?针对文件大小用什么?针对文件类型用什么?针对作者用什么?针对权限用什么?

find /etc -type f -name "rpt*" –size -10k –perm +700 -userusera

6、复制目录用什么命令、什么选项?

cp –R /root/123.txt /home/124.txt

7、剪切目录用什么命令、什么选项?

mv /root/abc /home

十一.软件质量

1.什么是质量?关于质量的特性能不能举出例子?

答案:

质量就是实体基于实体特性满足需求的程度。

质量特性例子:榨汁机:

功能:能够榨豆浆、水果汁(苹果、梨、西瓜。。。。。。)

性能:榨一公斤黄豆需要多长时间?

耗能:榨一公斤黄豆耗电量多少?

安全性:榨汁过程中有无人体安全防护措施?有无漏电保护?

可靠性:榨汁机能持续稳定运转多长时间?

易用性:榨汁机的操作是否简单方便?

2. 软件质量有哪些层次?软件的质量可以通过哪些方面去保障和提升?答案:

软件质量有三个层次:

符合需求规格:符合开发者明确定义的目标

符合用户显式需求:符合用户所明确说明的目标。

符合用户实际需求:实际的需求包括用户明确说明的和隐含的需求。

应该从组织、流程和技术等角度共同去提升软件质量。

组织指项目团队人员和角色。

流程指开发,测试等工作流程。

技术指开发技术,测试技术,结构工艺技术,专利积累等。

3.软件质量模型中的特性和子特性有哪些?

答案:

功能性:

适合性准确性互操作性保密安全性功能性的依从性

可靠性:

成熟性容错性易恢复性可靠性的依从性

易用性:

易理解性易学性易操作性吸引性易用性的依从性

效率:

时间特性资源利用性效率依从性

维护性:

易分析性易改变性稳定性易测试性维护性的依从性

可移植性:

适应性易安装性共存性易替换性可移植性的依从性

4.什么是CMM?列举出CMM的5个能力等级,并简述各等级特点

答案:

CMM是软件能力成熟度模型。

五个等级:

第一级初始级

特点:不可预测,缺乏控制的

第二级可重复级

特点:可以重复以往的主要经验

第三级已定义级

特点:过程被描述,并得到良好的理解

第四级已管理级

特点:过程被测量并且受控

第五级优化级

特点:持续过程改进

5.什么是度量?软件的基本度量有哪些?

答案:

度量就是对于事物的属性量化的表示。

软件基本度量有:

规模(size):

软件工作产品的大小,可以从文档页数,代码行数,测试用例数量等进行度量

工作量(effort):

完成各软件工作产品和活动所用人时(或人天等)

人天(人日)1个人1天的工作量

人时1个人1小时的工作量

进度(schedule):

各软件工作产品和活动开始和结束的时间

质量(quality)-缺陷(defect):

在各软件工作产品和活动中产生的缺陷数

十二.软件需求

1、需求评审的主要目的有哪些?

答:找出需求中描述不正确、不清晰、没有描述的需求业务,并进行沟通讨论确定正确的需求业务

找出需求中描述有错别字、上下文矛盾、有歧义的地方,让相关人员改正

2、需求评审的流程是什么样子的?

答:1)先进行需求的评审,找出需求的问题或者疑惑

2)召开需求讨论会确认问题,讨论问题的解决方案

3)对修改的需求问题进行跟踪评审,确认需求的修改正确性

4)如果修改的有问题,与相关的人沟通确认是否继续召开需求讨论会

3、每个阶段的产品如何确保是正确的?

答:需求分析阶段需要评审需求是否符合并实现了用户需求,并对存在的问题进行修改跟踪

概要设计阶段需要评审概要设计是否符合SRS的需求,实现是否合理,并对存在的问题进行修改跟踪

详细设计阶段需要评审详细设计是否符合SRS的需求及HLD的设计,实现是否合理,并对存在的问题进行修改跟踪

编码阶段需要评审代码是否符合SRS的需求及HLD、LLD的设计,实现是否合理,并对存在的问题进行修改跟踪

测试的各个文档需要评审是否符合SRS的需求及HLD、LLD的设计,实现是否合理,并对存在的问题进行修改跟踪

4、需求开发的整个过程中有关的需求活动有哪些?

答:分配需求、需求评审(需求讨论及确定)、需求验证、需求变更、需求跟踪

5、需求评审会议上可能会出现哪些常见问题?

答:1)需求评审人不够专业,评审达不到效果

2)需求评审时间少,评审不充分,达不到效果

3)需求评审偏离主题、争执不下,不能按时完成评审任务

4)评审的问题后续没有有效或者及时跟踪

十三. ORACEL

1)怎样创建一个索引,索引使用的原则,有什么优缺点

create index 索引名on 表名(列名)

原则:

建议索引列建立not null约束

经常与其他表进行连接的表,在连接列上建立索引

优缺点:

创建索引能大大加快检索速度,加强表与表的连接,但是创建索引很占用空间

2)创建标准索引:

CREATE INDEX 索引名ON 表名(列名) ;

创建唯一索引:

CREATE unique INDEX 索引名ON 表名(列名);

创建组合索引:

CREATE INDEX 索引名ON 表名(列名1,列名2) ;

3)truncate和delete区别

1、truncate 与delete语法不同

2、truncate是ddl语句,delete是dml语句里

3、Truncate只能删除整张表数据,delete既可以删除整个表数据,也可以删除部份数据

4、truncate属于隐式递交,所以不能恢复,delete属于显式递交,可以撤消和恢复的

5、truncate不记录日志,delete记录日志,所以删除速度比delete快

4)SQL语句分类

DQL(数据查询语言)select

DML(数据操作语言)insert、delete、update

DDL(数据定义语言)create、drop、alter truncate rename

DCL(数据控制语言)grant:把权限授予用户、revoke:把权限从用户收回

TPL(TCL,事务控制语言):commit、rollback savepoint

5)insert,update,delete语法?

insert语句(插入单条记录)

--格式第一种方式:insert into 表名(列名列表) values(值列表)

--格式第二种方式:insert into 表名values(值列表)

insert语句(插入多条记录)

insert into 表名(列名列表) select 列名列表from 表名【where ...】

insert into 表名select 列名列表from 表名【where ...】

update 表名set 更新的列名1=值1【,更新的列名2=值2。。。】【where 条件】delete from 表名【where 条件】

6)常用分组函数有哪些?分别表示什么意思,分组查询的语法要求?

--分组函数(聚合函数)

--1)count 统计行数

--2)sum求和

--3)avg求平均值

--4)max最大值

--5)min最小值

--分组查询语法原则:select后面列除了分组函数之外,只能写group by 后面的列

7)多表关联的分类及语法,内联接与左外连接的区别

分类:

1)内联接inner join

select 列名from 表1 inner join 表2 on 表1.关联字段=表2.关联字段

2)外联接(左外联接left join ,右外联接right join )

select 列名from 表1 left join 表2 on 表1.关联字段=表2.关联字段

select 列名from 表1 right join 表2 on 表1.关联字段=表2.关联字段

3)全联接full join

select 列名from 表1 full join 表2 on 表1.关联字段=表2.关联字段

内联接与左外连接的区别

内联接(特点:关联字段匹配到数据才会显示出来,关联字段为空值的数据是不会显示出来)

左外联接(特点:左边表全部显示)

配置管理与SVN

1.配置管理的目的?

答:软件配置管理的目的是建立和维护整个生存期中软件项目产品的完整性、一致性和可追朔性。

2.软件配置管理发生在软件研发哪些阶段?

答:整个软件生命周期内

3.测试工程师可能用到的配置管理的功能有哪些?

答:获取需求最新版本、获取被测的程序、对测试文档进行配置管理

4.SVN中工作副本文件上各种标记有什么含义?

答:绿色的对勾标记代表工作副本状态正常,红色的感叹号标记代表工作副本已修改,蓝色的加号代表文件将被添加到服务器,黄色感叹号表示提交过程中出现冲突。

5.配置管理员的职责有哪些?

答:保证产品的一致性、完整性、可追溯性,维护配置库,变更控制,发布管理https://www.360docs.net/doc/595312546.html,B是什么?CCB的作用是?

答:变更控制委员会。职责:评估和拟准对配置项的变更,确保拟准后的更改的实施

7.svn常用的操作?

答:SVN Checkout、update、export、import、add、delete

最新软件测试期末考试试题及答案

一,判断 1 √ 2.× 3.√ 4.× 5. × 6. ×7. ×8. ×9.√10. ×二,选择 1. D 2. D 3. B 4. B 5. B 6. A 7. D 8. B 9. C 10. A 三填空 1. 测试计划、测试用例 2. 稳定性测试、负载测试、压力测试 3. 非增量是集成测试自顶向下增量式测试、自底向上增量式测试 4. 回归 5. 软件需求 四简答题(30分) 1.试描述软件测试的定义?(3分) 答:利用手工或者自动化的方式,按照测试方案对系统执行测试用例的过程叫做软件测试。 2.什么是软件缺陷?(4分) 答:满足以下条件的问题都叫缺陷: 软件未达到产品说明书中已标明的功能 软件出现了产品说明书中指明不会出现的错误 软件功能超出了产品说明书指明的范围 软件未达到产品说明书虽未指出但应达到的目标 软件测试员认为软件难以理解,不易使用,运行速度缓慢,或者最终用户认为该软件使用效果不好。 3.常见的黑盒测试用例的设计方法?并分别简单介绍一下各自的思想。(8分)答:等价类划分:等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 边界值分析:对输入输出的边界值进行测试的一种黑盒测试方法。 决策表法:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具 因果图分析法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对

性的设计测试用例的方法。 4. 列举常见的系统测试方法。答出来5个即可。(5分) 答:恢复测试 安全测试 强度测试 性能测试 正确性测试 可靠性测试 兼容性测试 Web测试 5.文档测试主要测试哪些内容?答出来5点即可(5分) 答:(1)检查产品说明书属性 (2)检查是否完整 (3)检查是否准确 (4)检查是否精确 (5)检查是否一致 (6)检查是否贴切 (7)检查是否合理 (8)检查代码无关 (9)检查可测试性 6. 单元测试主要测试那几方面的问题?(5分) 答:模块接口、局部数据结构、边界条件、独立的路径和错误处理。五,设计题

一套精细软件测试面试题(问题加答案)

周五面试题: 1.软件测试的定义,评价测试工作是枯燥反复的,你是如何理解的?软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。 软件测试工作并非枯燥乏味。简而言之软件测试工作是一种破坏程序的有价值的行为,工作性质鼓励我们这种破坏行为。另一方面他是一种正向思维与逆向思维斗争的工作,与开发相辅相成,相互依存、制约。是一种让我们乐于学习和探索的趣味工作。 2.画出你所知道的软件生命周期模型,及软件测试模型? <软件生命周期> 略:软件测试模型V模型、W模型详见第三本书----《国际软件测试概论》 3.什么是兼容性测试?兼容性测试侧重哪些方面? 什么是兼容性测试: 一般来说,兼容性指能同时容纳多个方面,在计算机术语上兼容是指几个硬件之间、几个软件之间或是软硬件之间的相互配合程度。 具体的讲,兼容性测试是指测试在特定的硬件平台上、不同的应用程序之间、不同的操作系统平台上、不同的网络等环境中是否能很好的运行的测试。 兼容性测试侧重哪些方面: 兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。 4.写出你以前的项目或工作中,最让你茫然的事情,你是怎么处

理的? 回答:在我以前的项目和工作中,让我最茫然的事情是软件测试需求老在变化着,导致测试工作不能在预期的时间内完成。 面对这样的情况我的处理方式如下: (1)尽早与承担该项目风险的负责人接触,以便了解需求会怎样改变,从而可以尽早地改变测试计划和策略。 (2)如果在对应用程序进行初始设计时多考虑一些适应性,那么以后在发生需求的改变时就不需要再为改变做很多事情了。 (3)只要有可能,就应使用快速原型(rapid prototyping),以帮助用户确认他们的需求,从而减少变更。 (4)在项目的时间表中应当留出余量,以应付可能出现的变更。 (5)尽量把新的需求纳入应用软件的“下一版”,而把原始需求作为“第一版”。 (6)通过谈判,把易于实现的新的变更列入项目,而把难于实现的新需求列入该应用软件的以后的版本。 (7)要确保让客户和管理人员了解变更对进度表的影响、所带来的风险、以及因变更所引起的大量资金消耗。 (8)对变更进行适当的风险分析,以减少回归测试的要求。 5.你的朋友怎样评价你? 回答: 跟朋友们在一起的时候,朋友都常常说我为人诚实、稳重、团结他人、善于帮助他人、关心家人、爱好学习。但是朋友们都说我也有一些缺点就是做事儿比较心急,凡是想着第一时间将自己手里的事情尽快完成,就怕担心后面还有一些需要解决的问题;另外就是凡事都想着拿第一,好胜之心比较强烈。 6.据说有人给酒肆的老板娘出了一个难题:此人明明知道店里只有两个舀酒的勺子,分别能舀7两和11两酒,却硬要老板娘卖给他2两酒。聪明的老板娘毫不含糊,用这两个勺子在酒缸里舀酒,并倒来倒去,居然量出了2两酒,聪明的你能做到吗? 11-7=4(11两勺舀满,倒入7两勺直到满,则11两勺内剩4两,7两勺清空,把11两勺内剩的4两倒入7两勺内,则7两勺内少3两) 11-3=8(11两勺内装满,倒入装有4两的7两勺内,则11两勺内剩8两,清空7两勺) 8-7=1(把11两勺内剩的8两倒入7两勺内直到满,则11两勺内剩1两,清空7两勺,把11两勺内剩的1两倒入7两勺内)

软件测试复习题_带答案

软件测试复习题 一、判断 (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 )。

软件测试基础期末试卷及参考答案

1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。 2、黑盒测试的具体技术方法 ____________、 __________、 __________、____________。 等价类划分法,边界值分析法,决策表法,因果图法 3、黑盒测试又称之为___________测试。 功能 4、等价类划分有两种不同的情况:____________和____________。 有效等价类,无效等价类 5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。 语句覆盖,判定覆盖,条件覆盖,路径覆盖 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类____________,____________和 ____________。 白盒测试工具、黑盒测试工具、测试管理工具 7、软件测试是为发现程序中的______________而执行程序的______________。 错误,过程 8、测试用例是由______________和预期的______________两部分组成。 测试输入数据,输出数据 9、白盒测试又称为______________,可以分为______________和______________两大类。 结构测试,静态测试,动态测试 10、软件是包括____________﹑____________﹑____________的完整集合。 程序,数据,相关文档 11、边界值分析法属于____________。 黑盒测试 12、单元测试是以____________说明书为指导,测试源程序代码。 详细设计 13、集成测试以____________说明书指导,测试软件结构。 概要设计 14、确认测试以____________说明书为指导。 需求分析 15、软件开发的基本过程____________,_____________,_______________,_____________, _____________,______________。 需求分析、概要设计、详细设计,编码,测试、维护 16、代码复审属于____________,不实际运行程序。 静态测试 17、集成测试把模块组成成系统的测试方式:_____________和______________。 一次性集成测试,增量式集成测试 18、黑盒测试有两种基本方法,即:_____________和______________。 通过测试,失败测试 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 3.在Assert类中断言对象为NULL是_____。(C) 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A)

软件测试工程师经典面试题目

软件测试工程师面试题汇总 测试技术面试题 (5) 1、什么是兼容性测试?兼容性测试侧重哪些方面? (5) 2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题? (5) 3、测试的策略有哪些? (5) 4、正交表测试用例设计方法的特点是什么? (5) 5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程? (5) 6、你觉得bugzilla在使用的过程中,有什么问题? (5) 7、描述测试用例设计的完整过程? (6) 8、单元测试的策略有哪些? (6) 9、LoadRunner分哪三部分? (6) 10、LoadRunner进行测试的流程? (6) 什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样? (6) 12、使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作? (6) 13、QTP中的Action有什么作用?有几种? (6) 14、TestDirector有些什么功能,如何对软件测试过程进行管理? (7) 15、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性 能测试......)? .. (7) 16、条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? (8) 17、Beta测试与Alpha测试有什么区别? (8) 18、软件的评审一般由哪些人参加?其目的是什么? (8) 19、测试活动中,如果发现需求文档不完善或者不准确,怎么处理? (8) 20、阶段评审与项目评审有什么区别? (8) 21、阐述工作版本的定义? (8) 22、什么是桩模块?什么是驱动模块? (8) 23、什么是扇入?什么是扇出? (8) 24、你认为做好测试计划工作的关键是什么? (8) 25、你认为做好测试用例工作的关键是什么? (9) 26、简述一下缺陷的生命周期? (9) 27、软件的安全性应从哪几个方面去测试? (9) 28、软件配置管理工作开展的情况和认识? (9) 29、你觉得软件测试通过的标准应该是什么样的? (10) 30、引入测试管理的含义? (10) 31、一套完整的测试应该由哪些阶段组成? (10) 32、单元测试的主要内容? (10) 33、集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容? (10) 34、简述集成测试与系统测试关系? (10) 35、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。那么软件系统 的用户文档包括哪些? (10) 36、软件系统中除用户文档之外,文档测试还应该关注哪些文档? (10) 37、简述软件系统中用户文档的测试要点? (11) 38、单元测试主要内容是什么? (11) 39、如何理解强度测试? (13) 40、如何理解压力、负载、性能测试测试? (13) 41、什么是系统瓶颈? (13) 42、文档测试主要包含什么内容? (13)

软件测试复习题

2011(下)软件测试考试复习题 一、单项选择 1?用等价类划分法设计8位长数字类型输入项的测试用例,应该分成( )个等价区间。 A?2 B?3 C?4 D?6 2?下列关于测试案例制定的说法中,正确的是()。 A?对测试用例进行某种程度的变更,可做为版本更新后的软件测试用例,以降低工作强度、缩短项目周期B?测试组中的任何人员都可以制定测试案例,经过另一人员的确认即可采用 C?功能测试案例主要描述业务操作流程,且必须站在用户的角度 D?用户需求是制定测试案例的依据 3、下列关于提升磁盘I/0性能的描述中正确的是()。 A?数据库对象在物理设备上的合理分布能改善系统读写性能 B?磁盘镜像可以提高磁盘读写的速度 C?建议把数据库、回滚段、日志放在同一块设备上,以提高数据读写的性能 D?将磁盘升级到更大容量 4?下列关于软件测试基本原则的描述中不正确的是()。 A?软件测试可以显示软件潜在的缺陷 B?所有的软件测试都应追溯到用户需求 C?应该从工程的角度去理解软件测试,测试实施前应制定严格的测试计划 D?程序员应避免检查自己的程序 5、下列说法中正确的是()。 A?黑盒测试是通过软件的外部表现来发现其缺陷和错误 B?黑盒测试是了解程序结构和处理过程,检查是否所有的结构、路径是正确的,检查软件内部动作是否按照设计说明的规定正常进行 C?白盒测试又称性能测试 D?白盒测试是在程序界面处进行测试,它只是检查程序是否按照需求规格说明书的规定正常实现 6、GB/T18905-2002《软件工程产品评价》中提供了软件产品评价的过程,其中第五部分评价者用的过程供()。 A?计划获取或复用某个己有的软件产品的组织予以使用 B?对软件产品执行独立评估的评价者使用 C?计划开发新产品或增强现有的产品,以及打算利用他们自己的技术人员进行产品评价的组织使用 D?编制评价模块的文档提供者用 7、下列关于H模型的说法中正确的是()。 ①软件测试不仅仅指测试的执行,还包括很多其他的活动 ②软件测试是一个独立的流程。贯穿产品整个生命周期,与其他流程并发地进行 ③应用H模型有利于资源调配,有助于跟踪测试投入的流向

软件测试方法和技术重点和试题与答案

太原理工大学软件测试技术 适用专业:软件工程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. 测试错误提示信息不属于文档测试范围。( ×)

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

笔试和面试是每个人都会遇到的问题,如何让你在笔试和面试之前做好充分准备,对笔试和面试的问题有充分的了解,做到知己知彼很重要,如果你想在面试中脱颖而出,请认真学习本篇文章 软件测试工程师经典笔试题及面试题 一、软件测试工程师经典笔试试题 一、判断题(每题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.需求工件已经被基线化

经典软件测试练习题

练习题 选择题 软件调试的目的是?(A) A. 找出错误所在并改正之 B. 排除存在错误的可能性 C. 对错误性质进行分类 D. 统计出错的次数下列叙述中,哪一项是正确的 ...?(D) A.用黑盒法测试时,测试用例是根据程序内部逻辑设计的; B.测试是为了验证该软件已正确地实现了用户的要求; C.对面向对象程序来说,单元测试的最小单元是每条程序语句,即以分号结尾的程序; D.发现错误多的程序模块,残留在模块中的错误也多。 创建一个基于JUNIT的单元测试类,该类必须扩展? (C) A.TestSuite B. Assert C. TestCase D. JFCTestCase 以下对单元测试,不正确 ...的说法是? (C) A.单元测试的主要目的是针对编码过程中可能存在的各种错误; B.单元测试一般是由程序开发人员完成的C.单元测试是一种不需要关注程序结构的测试;D.单元测试属于白盒测试的一种。 测试驱动开发的含义是? (B) A.先写程序后写测试的开发方法 B. 先写测试后写程序,即“测试先行” C. 用单元测试的方法写测试 D. 不需要测试的开发 用JUNIT断言一个方法输出的是指定字符串,应当用的断言方法是? (C) A.assertNotNull( ) B. assertSame() C. assertEquals() D. assertNotEquals() TestCase是junit.framework中的一个? (C) A.方法 B. 接口 C. 类 D. 抽象类 TestSuite是JUNIT中用来? (A) A.集成多个测试用例 B. 做系统测试用的 C. 做自动化测试用的 D. 方法断言 对于测试程序的一些命名规则,以下说法正确 ..的一项是? (C) A.测试类的命名只要符合Java类的命名规则就可以了; B.测试类的命名一般要求以Test打头,后接类名称,如:TestPerson; C.测试类的命名一般要求以Test结尾,前接类名称,如:PersonTest; D.测试类中的方法都是以testXxx()形式出现。 通常,初始化一个被测试对象,会在测试类的? 中进行。(B) A.tearDown() B. setUp() C. 构造方法 D. 任意位置 以下不属于单元测试优点的一项是? (D) A.它是一种验证行为 B. 它是一种设计行为C.它是一种编写文档的行为 D. 它是一种评估行为 从技术角度分,不是一类的测试是? (C) A.黑盒测试 B. 白盒测试 C. 单元测试 D. 灰盒测试 数据驱动测试也称? (C) A.单元测试 B. 白盒测试 C. 黑盒测试 D. 确认测试 逻辑驱动测试也称? (C) A.单元测试 B. 灰盒测试 C. 白盒测试 D. 用户测试

软件测试试题及答案分析

单选 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、测试的分类: 从测试方法的角度可以分为手工测试和自动化测试。 手工测试:不使用任何测试工具,根据事先设计好的测试用例来运行系统,测试各功能模块。 自动化测试:利用测试工具,通过编写测试脚本和输入测试数据,自动运行测试程序。目前最常用的自动化测试工具是基于GUI的自动化测试工具,基本原理都是录制、回放技术。 从整体的角度可以分为单元测试、集成测试、系统测试、确认测试。 单元测试:是针对软件设计的最小单位—程序模块,进行正确性检验的测试工作。一般包括逻辑检查、结构检查、接口检查、出错处理、代码注释、输入校验、边界值检查。 单元测试的依据是系统的详细设计;一般由项目组开发人员自己完成。 集成测试:在单元测试的基础上,将所有模块按照设计要求组装进行测试。一般包括逻辑关系检查、数据关系检查、业务关系检查、模块间接口检查、外部接口检查。 系统测试:系统测试是在所有单元、集成测试后,对系统的功能及性能的总体测试。 确认测试:模拟用户运行的业务环境,运用黑盒测试方法,验证软件系统是否满足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。 从测试原理上分为:白盒测试、黑盒测试和灰盒测试。 白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子, 在完全不考虑程序内部结构和内部 特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求 规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。黑盒测试 方法主要有等价类划分、边界值分析、因—果图、错误推测法。 等价类划分: 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,

软件测试模拟题及答案(DOC)

一、选择题 1、下列软件属性中,软件产品首要满足的应该是【A 】 A.功能需求B.性能需求 C.可扩展性和灵活性D.容错纠错能力 2、软件缺陷产生的原因是【 D 】。 A.交流不充分及沟通不畅;软件需求的变更;软件开发工具的缺陷 B.软件的复杂性;软件项目的时间压力 C.程序开发人员的错误;软件项目文档的缺乏 D.以上都是 3、导致软件缺陷的最大原因是【 A 】 A.规格说明书 B.设计 C.编码 D.测试 4、修复软件缺陷费用最高的是【 D 】阶段 A.编制说明书 B.设计 C.编写代码 D.发布 5、下列【 A 】不属于软件缺陷。 A.测试人员主观认为不合理的地方 B.软件未达到产品说明书标明的功能 C.软件出现了产品说明书指明不会出现的错误 D.软件功能超出产品说明书指明范围 6、软件测试的目的是【 B 】 A.避免软件开发中出现的错误 B.发现软件开发中出现的错误 C.尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D.修改软件中出现的错误 7、软件测试技术可以分为静态测试和动态测试,下列说法中错误的是【 D 】。 A.静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。 B.动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。 C.动态测试包括黑盒测试和白盒测试。 D.白盒测试是静态测试,黑盒测试是动态测试。 8、白盒测试是根据程序的【 C 】来设计测试用例。 A.功能B.性能C.内部逻辑D.内部数据

9、黑盒测试是根据软件的【 B 】来设计测试用例。 A.功能B.规格说明C.内部逻辑D.内部数据 10、用黑盒技术设计测试用例的方法之一为【 A 】 A.因果图 B.逻辑覆盖 C.循环覆盖 D.基本路径测试 11、坚持在软件的各个阶段实施下列哪种质量保障措施,才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期【 A 】。 A.技术评审B.程序测试 C.改正程序错误 D.管理评审 12、为了提高测试的效率,正确的做法是【 A 】。 A.选择发现错误可能性大的数据作为测试用例 B.在完成程序的编码之后再制定软件的测试计划 C.随机选取测试用例 D.使用测试用例测试是为了检查程序是否做了应该做的事 13、对程序的测试最好由【 B 】来做。 A.程序员 B.第三方测试机构 C.程序开发组 D.用户 14、在边界值分析中,下列数据通常不用来做数据测试的是【 B 】。 A.正好等于边界的值 B.等价类中的等价值 C.刚刚大于边界的值D.刚刚小于边界的值 15、单元测试中设计测试用例的依据是【 D 】。 A.概要设计规格说明书B.用户需求规格说明书 C.项目计划说明书D.详细设计规格说明书 16、如果一个判定中的复合条件表达式为(A > 1)or(B <= 3),则为了达到100%的条件覆盖率,至少需要设计多少个测试用例【 B 】。 A.1 B.2 C.3 D.4 17、在某大学学籍管理信息系统中,假设学生年龄的输入范围为16—40,则根据黑盒测试中的等价类划分技术,下面划分正确的是【 B 】。 A.可划分为2个有效等价类,2个无效等价类 B.可划分为1个有效等价类,2个无效等价类 C.可划分为2个有效等价类,1个无效等价类 D.可划分为1个有效等价类,1个无效等价类 18、下面有关测试原则的说法正确的是【 A 】。

软件测试方法和技术练习题与答案

一、判断题 1.测试是调试的一个部分(X ) 2.软件测试的目的是尽可能多的找出软件的缺陷。(2 ) 3.程序中隐藏错误的概率与其已发现的错误数成正比(2 ) 4.Beta 测试是验收测试的一种。(2 ) 5.测试人员要坚持原则,缺陷未修复完坚决不予通过。(2 ) 6.项目立项前测试人员不需要提交任何工件。( X ) 7.单元测试能发现约80%的软件缺陷。(2) 8.测试的目的是发现软件中的错误。(2) 9.代码评审是检查源代码是否达到模块设计的要求。(2 ) 10.自底向上集成需要测试员编写驱动程序。( 2) 11.测试是证明软件正确的方法。(X ) 12.负载测试是验证要检验的系统的能力最高能达到什么程度。(2 ) 13.测试中应该对有效和无效、期望和不期望的输入都要测试。(2 )验收测试是由最终用户来实施的。(2 ) 14.测试人员要坚持原则,缺陷未修复完坚决不予通过。(2 )黑盒测试也称为结构测试。(X )集成测试计划在需求分析阶段末提交。(X ) 15.软件测试的目的是尽可能多的找出软件的缺陷。(2 ) 16.自底向上集成需要测试员编写驱动程序。 (2 ) 17.负载测试是验证要检验的系统的能力最高 能达到什么程度。(X) 18.测试程序仅仅按预期方式运行就行了。(X) 19.不存在质量很高但可靠性很差的产品。(X) 20.软件测试员可以对产品说明书进行白盒测试。(X ) 21.静态白盒测试可以找出遗漏之处和问题。 22.总是首先设计白盒测试用例。(X ) 23.可以发布具有配置缺陷的软件产品。 (2) 24.所有软件必须进行某种程度的兼容性测试。(2 ) 25.所有软件都有一个用户界面,因此必须测试易用性。(X) 26.测试组负责软件质量。(X ) 27.按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(2) 28.好的测试员不懈追求完美。(X ) 29.测试程序仅仅按预期方式运行就行了。 (X ) 30.在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。(2 ) 31.静态白盒测试可以找出遗漏之处和问题。(2 ) 32.测试错误提示信息不属于文档测试范围。(X ) 33.代码评审是检查源代码是否达到模块设计的要求。(2 ) 34.总是首先设计黑盒测试用例。(2 ) 35.软件测试是有风险的行为,并非所有的软 件缺陷都能够被修复。(V ) 36.软件质量保证和软件测试是同一层次的概念。(x ) 37.程序员兼任测试员可以提高工作效率。 (x ) 38.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(V ) 39.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。(V )40.传统测试以发现错误为目的,现在测试已 经扩展到了错误预防的范畴。V 41.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(V )42.软件生存周期是从软件开始开发到开发结束的整个时期。(x ) 43.测试用例的数目越多,测试的效果越好。(x ) 44.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。(x ) (2)

软件测试试题及答案

一、判断题 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.测试错误提示信息不属于文档测试范围。(×) 33.代码评审是检查源代码是否达到模块设计的要求。(√) 34.总是首先设计黑盒测试用例。(√) 35.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨) 36.软件质量保证和软件测试是同一层次的概念。(x)

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

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

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

软件测试综合题目(附答案)-上

一、选择题: 1.模块的耦合度描述了___D___。 A.模块内各种元素结合的程度B.模块内多个功能之间的接口 C.模块之间公共数据的数量D.模块之间相互关联的程度 2.内聚是一种指标,表示一个模块_B_____。 A.代码优化的程度B.代码功能的集中程度 C.完成任务时及时程度D.为了与其他模块连接所要完成的工作量3.在UNIX操作系统中,把输入/输出设备看作是__D____。 A.普通文件B.目录文件C.索引文件D.特殊文件4.“science”是一个XML 元素的定义,其 中元素标记的属性值是__C____。 A.title B.style C.italic D.science 5. ___C___描述数据的局部逻辑视图,是数据库用户的数据视图,它是与某一 应用有关的数据逻辑表示。 A.模式B.逻辑模式C.外模式D.内模式解析:三级模式结构:外模式、模式和内模式 一、模式(Schema) 定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 理解: ①一个数据库只有一个模式; ②是数据库数据在逻辑级上的视图; ③数据库模式以某一种数据模型为基础; ④定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。 二、外模式(External Schema) 定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 理解: ①一个数据库可以有多个外模式; ②外模式就是用户视图; ③外模式是保证数据安全性的一个有力措施。 三、内模式(Internal Schema) 定义:也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照

软件测试练习题及答案

、判断 01 )测试是为了验证软件已正确地实现了用户的要求。错 02 )白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对 03 )白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 04)程序员兼任测试员可以提高工作效率。错 05 )黑盒测试的测试用例是根据应用程序的功能需求设计的。对 06 )当软件代码开发结束时,软件测试过程才开始。错 07 )据有关数据统计,代码中 60%以上的缺陷可以通过代码审查发现出来。对 08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。错 09 )软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。错 10)在压力测试中通常采用的是黑盒测试方法。对 11)软件测试员无法对产品说明书进行白盒测试。对 12)功能测试工具主要适合于回归测试。对 13)测试人员说:“没有可运行的程序,我无法进行测试工作” 。错 14)自底向上集成需要测试员编写驱动程序。对 15)测试是可以穷尽的。错 16)自动化测试相比手工测试而言,能发现更多的错误。错 17)软件测试自动化可以提高测试效率,可以代替手工测试。错语句至少被执行一次。对 18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行19) Beta 测试是验收测试的一种。对 20 )软件开发全过程的测试工作都可以实现自动化。错 21 )软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。错 22)结构性测试是根据软件的规格说明来设计测试用例。错 23 )软件测试工具可以代替软件测试员。错 24 )通过软件测试,可以证明程序的正确性。错 25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。错26)软件缺陷可能会被修复,可能会被保留或者标识出来。对 27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。错28)单元测试通常由开发人员进行。对 (29 )现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。错 (30)文档的错误不是软件缺陷。错 31) Junit 只是单元测试工具,并不能进行现回归测试。 (32)判定表法是一种白盒测试方法。

相关文档
最新文档