文档库 最新最全的文档下载
当前位置:文档库 › 软件测试的基本概念

软件测试的基本概念

软件测试的基本概念
软件测试的基本概念

软件测试的基本概念一:什么是软件测试 (2)

二:什么是软件质量 (2)

三:软件测试与软件质量的区别 (2)

四:软件测试的内容 (2)

五:软件测试的目的 (3)

六:软件测试的分类(面试问题) (3)

七:黑盒,白盒,灰盒测试概念 (3)

八:软件测试模型(面试常问到的问题) (4)

V模型 (4)

W模型 (4)

H模型 (5)

X模型 (6)

九:软件测试生命周期: (6)

白盒测试方法 (6)

白盒测试具体实施办法 (7)

1:代码检查 (7)

2:代码走查: (8)

3:同行评分: (9)

4:覆盖测试: (9)

黑盒测试具体实施办法 (9)

等价类划分法: (9)

边界值分析法: (11)

因果图法: (11)

错误推测法: (13)

场景分析法: (14)

黑盒测试的优缺点 (14)

一:什么是软件测试

软件测试,目前定义混杂,没有统一的标准,但是最经典的定义是:在规定的条件下对程序进行操作,以发现错误,对软件质量进行评估的一个过程。

二:什么是软件质量

软件质量包括:内部质量,外部质量,使用质量。软件质量:软件满足规定或潜在用户需求的能力。

三:软件测试与软件质量的区别

质量保证(QA):主要工作是通过预防,检查与改进来保证软件质量。它所关注的是软件质量的检查与测量。着眼软件开发活动中的过程,步骤及产物,而不是对软件进行剖析进而找出问题。

软件测试:测试关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。测试人员要“执行”软件,对过程中的产物—开发文档和源代码进行走查,运行,以找出问题,报告质量。测试人员也必须假设软件存在问题,所以所做的操作都是为了找出更多的问题,而不仅仅验证每一件事是正确的。

四:软件测试的内容

根据测试定义,测试贯穿于整个软件生命周期中。在开发的不同阶段,需要测试不同的内容。包括文档,源代码,数据等。

五:软件测试的目的

测试的目的,是想以最少的人力,物力和时间找出软件中潜在的各种错误与缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患以及带来的商业风险。(注意这个问题的答案,经常会与软件测试的定义混淆)

六:软件测试的分类(面试问题)

按开发阶段来分:单元测试,集成测试,系统测试,验收测试。

按测试的实施单位来分:开发方测试,用户测试,第三方测试。

按测试技术:白盒测试,黑盒测试,灰盒测试。

七:黑盒,白盒,灰盒测试概念

白盒测试:知道产品内部工作过程,可通过测试来检测产品内部是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都能够按照预定要求正确工作,而不管产品的性能。它包括两种测试方法:静态测试和动态测试。静态测试时不通过执行程序而进行测试的技术,其关键功能是检查软件的表示和描述是否一致,没有冲突或者产生歧义。而动态测试需要软件的执行,当软件系统在模拟的或真实的环境中执行之前,之中,之后,对软件系统行为的分析是动态测试的主要特点。

黑盒测试:是一种非常重要的测试策略,又称为功能测试。使用这种测试方法,将程序视为一个黑盒子。测试目标与程序内部机制和结构完全无关,而是将重点集中放在发现程序不按其规范正常运行的环境条件。

灰盒测试:结合了白盒与黑盒的要素。关注输出对于输入的正确性,同时也关注内部表现,但不像白盒那样详细,完整,只是表征性的。

八:软件测试模型(面试常问到的问题)

V模型

从这个图,可以直观的观察到测试过程的局限性,它把测试过程放在了需求分析,概要设计,详细设计与编码之后了,容易使人理解测试是软件开发的最后一个阶段,主要针对程序进行测试寻找错误了。而需求分析阶段隐藏的问题只能在最后才能发现。所以,这个图形,不能很好的反应软件测试贯穿整个开发的过程。(笔者个人认为这种图形,比较适合黑盒测试)

W模型

在V模型的基础上,演化出W模型。

仅仅是程序,同时也测试需求与设计。

H 模型

测试准备 测试就绪点 测试执行 测试流程

H 模型:测试条件只要成熟,测试准备活动完成了,那么就可以执行测试活动。在H 模型中,测试模型是一个独立的过程,贯穿于整个产品周期,与其他流程并发的进行。当某个测试时间点就绪时,软件测试即从测试准备阶段进入测试执行阶段。

X

软件测试生命周期一般包括7个阶段:1)计划2)分析,3)设计,4)构建,5)测试周期,6)最后测试和实施,7)实施后。

白盒测试方法

白盒测试方法包括动态和静态。

静态包括:代码检查,静态结构分析,代码质量度量等。代码检查又包括:代码走查,桌面检查,代码审查。

代码走查与检查都要求一个小组的人员来阅读或直观检查特定的程序。经常采用头脑风暴. 注意一点:头脑风暴,是测试,非调试。

头脑风暴的程序:

1:准备阶段

确立问题,提前一周通知给参加人员,一遍又独立思考的时间。

2:头脑风暴

主持人简明介绍讨论问题的内容,扼要介绍各种系统的设想和方案,然后激发参加者踊

跃发言,一些有价值的设想,往往可以经过“思维共振”的“头脑风暴”,通过对两个,对个设想的综合迅速发展起来。

3:解决问题

综合大家的意见后,进而提出最终解决问题的可行性方案。

代码走查总,3~4人一组,参加者其中之一是程序编写者,测试的工作主要是其他人。

代码走查与代码检查是对过去桌面检查过程的改进。(桌面检查就是程序员阅读自己程序的过程)。代码走查与检查也更高效,其优点在于一旦发现错误,就能够迅速的对其进行定位降低了调试的成本。在于可以找到30—70%的逻辑设计与编码错误。

注意:30~70%的错误发现率,是指已知错误的70%,而不是整体错误的70%,因为对于错误总数来说,我们永远都不知道是多少。

白盒测试的动态方法:程序插桩测试

所谓插桩,就是借助往被测程序中插入操作,来实现测试目的的方法。(如常常加入打印语句,看执行后的效果是否为我们希望的结果)。

白盒测试具体实施办法

1:代码检查:以组为单位阅读代码,一系列规程和错误检查技术的集合。一般这个小组成员为4个人。其中一个人发挥着协调作用。协调人应该是个称职的程序员,不是该程序的编码人员,不需要对程序的细节了解的很清楚。协调人的职责包括:

?为代码检查分发材料,安排进程

?在代码检查中起主导作用

?记录发现的所有错误

?确保所有记录都得到纠正

其他成员为:该程序的编码人员,其他的程序设计人员,一名软件测试专家(呵呵,我们的目标)

在代码检查的前几天,协调人员应该将资料下发。所有成员应在检查前熟悉资料。代码检查过程中进行两项活动:

有程序编码人员逐条语句讲述程序的逻辑结构(非一条条讲,主要讲逻辑

结构和程序实现的方法)

对着历来的编码错误列表分析程序

代码检查的地点应该避免外部干扰,会议的时间为90~~120分钟之间。

下面给出一份代码检查中常见的错误列表:

?数据引用错误

?数据声明错误

?运算错误

?比较错误

?控制流程错误

?接口错误

?输入/输出错误

?其他检查

?其他检查

2:代码走查:与代码检查很相似,大师规程略有不同,采用的错误检查技术也不同。代码走查也是采用持续的不间断的会议形式。小组成员由3-5人组成。一个扮演协调人,一个人担当秘书(记录检查出来的错误),一名测试人员,建议其他的参加者是:

一位极富经验的程序员

一位程序设计语言专家

一位程序言新手

最终维护程序的人员

一位来自其他不同项目的成员

一位来自该软件编程小组的成员

走查的规程不用于检查。代码的参与者“使用了计算机”,测试人员带来了测试用例来参加会议,把测试数据沿程序的逻辑结构走一遍。人脑执行速度当然比较慢,因此,这些测试本身起不到关键的作用,作用只是提供了启动代码走查和质疑程序员逻辑思路极其设想的手段。

与代码检查相同,代码走查的参与者态度至关重要。提出的建议应针对程序本身,而不是针对程序员。

3:同行评分:一种依据程序的整体质量,可维护性,可扩展性,易用性和清晰性对匿名程序进行评价的技术。该项技术的目的是为了程序员提供自我评价的手段。

4:覆盖测试:包括语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖,路径覆盖。

黑盒测试具体实施办法

黑盒测试用例设计方法

?等价类划分方法

?边界值分析方法

?错误推测方法

?因果图方法

?判定表驱动分析法

?正交试验设计方法

?功能图分析方法

等价类划分法:

等价类划分法是把所有可能的输入数据,即程序的输入域划分为若干部分,然后从每一部

分的子集选取少量具有代表性的数据作为测试用例。可以划分为:有效等价类,无效等价类。

划分的原则:

?在输入条件规定的取值范围,确立一个有效等价和两个无效等价

?在输入条件规定“必须如何”的条件下,确立一个有效等价和一个无效等价

?输入布尔量的条件下,确立一个有效类和一个无效类

?在输入条件规定输入数据的一组值,并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

?在规定了输入数据必须遵守的规则情况下,可确立一个有效等价类和若干个无效等价类。

?在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应在将该等价类进一步的划分为更小的等价类。

#include

#include

void main()

{

int n;

char str[10];

scanf("%s",str);

n=atoi(str);

printf("string=%s,integer=%d\n",str,n);

}

测试用例设计如下:

边界值分析法:

是一种补充等价类划分的测试用例设计技术。边界值是一种很实用的黑盒测试方法。具有很强的发现错误的能力。它的测试用例来源于等价类的边界值。实践证明,大量的故障往往发生在输入定义域或输出值域的边界上,而非内部。

遵循的原则:

1)如果输入条件对取值范围进行了界定,则应以边界内部以及刚超出范围边界外的值

作为测试用例。若范围的下界为x, 上界为y, 则测试用例应当包含x, y,以及稍小于x和稍大于y的值。

2)如果对取值的个数进行了界定,则应当分别以最大、最小个数及稍小于最小,稍大

于最大个数作为测试用例。

3)对于输出条件,前两条规则同样适应。

4)如果程序规格说明书中指明输入或者输出域是一个有序的集合,就应当选择集合中

的第一个和最后一个元素作为测试用例。

如:

规定输入值范围为-1~+1, 则测试用例设计为:+1, -1, +1.01, -1.01

规定输入的记录可容纳1~255条,则测试用例设计为:0, 1, 255, 256。

因果图法:

前面的输入法只考虑输入条件,没有考虑输入条件的联系。因此,必须考虑一种适合于描

述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。

因果图法最终生成的就是判定表,适合于检查程序输入条件的各种组合情况。

因果图是一种形式语言,用自然语言描述的规格说明可以转换为因果图。因果图实际上是一种数字逻辑电路。

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

1.分析软件规格说明描述中,哪些是原因,哪些是结果,并给每个原因和结果赋予一个标

示符。

2.分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的关系,

根据这些关系,画出因果图。

3.由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现,

为表明这些特殊的情况,在因果图上用一些记号表明约束或限制条件。

4.把因果图转换为判定表

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

在因果图中,才Ci表示原因,Ej表示结果。基本符号如下图(其中,各结点如下图,可取值“0”或“1”,“0”表示某状态不出现,“1”表示某状态出现):

恒等。若原因出现,则结果出现,若原因不出现,则结果也不出现。

非(~):若原因出现,则结果不出现,若原因不出现,则结果出现。

或(V):若几个原因中的一个出现,则结果出现;若原因都没出现,则结果不出现。

与(∧):若几个原因出现,结果才出现。

用因果图表示如下:

原因与原因之间的约束条件,有:

E (互斥):a ,b 两个原因不能同时成立,两个中最多只能一个成立

I (包含):表示a,b,c 三个原因中至少有一个必须成立

O (唯一):表示a 和b 当中必须有且只有一个成立

R (要求):表示当a 出现的时候,b 也必须出现

M (屏蔽):表示当a 是I 时,b 必须是O 。而当a 为O 时,b 的值不定。

因果图的约束符号如下:

错误推测法:

基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。

错误推测方法的基本思想,列举出程序中所有可能的错误和容易发生错误的特殊情况,根据他们选择测试用例。例如:在单元测试时曾列出的许多在模块中常见的错误。以前产品与 或 C1

E1 E1 C1

E1 C1 E1 C1 C2

C2 恒等

非 V

∧ a

b a b

c b a b a c a b E

I O R M

中曾经发现的错误等。这些都是错误的总结。还有,输入数据和输出数据为零的情况,输入表格为空格或输入表格只有一行。这些都是容易产生错误的情况。

场景分析法:

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成场景,而同一事件不同的触发顺序和处理结果就形成了事件流。这种软件设计方面的思想也可以引入到测试中来。

黑盒测试的优缺点

优点

不需要了解程序内部的代码及实现,即测试重点在输入与输入结果

从用户的角度出发,能尽早发现常见的错误

易于实施

缺点

不能完全覆盖所有的代码,覆盖率较低

自动化测试的复用性较低,重复工作量较大

完全取决于测试用例的设计,设计的好坏直接影响测试结果

如果软件规格说明书有误,则无法发现。

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

一,判断 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章软件测试概述 (1) 第2章软件测试方法与过程 (4) 第3章黑盒测试 (7) 第4章白盒测试方法 (13) 第5章软件测试管理及自动化测试基础 (18) 第6章WINRUNNER测试工具 (20) 第7章LOADRUNNER测试工具 (22) 第8章JUNIT (24)

第1章软件测试概述 1.简述软件测试的意义。 解:随着计算机技术的迅速发展和广泛深入的应用,软件质量问题已成为开发和使用软件人员关注的焦点。而由于软件本身的特性,软件中的错误是不开避免的。不断改进的开发技术和工具只能减少错误的发生,但是却不可能完全避免错误。因此为了保证软件质量,必须对软件进行测试。软件测试是软件开发中必不可少的环节,是最有效的排除和防治软件缺陷的手段,是保证软件质量、提高软件可靠性的最重要手段。 2.什么是软件缺陷?它的表现形式有哪些? 解:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需实现的某种功能的失效或违背。 它的表现形式主要有以下几种:(1)软件未达到产品说明书中已经标明的功能;(2)软件出现了产品说明书中指明不会出现的错误;(3)软件未达到产品说明书中虽未指出但应当达到的目标;(4)软件功能超出了产品说明书中指出的范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。 3.简单分析软件缺陷产生的原因,其中那个阶段引入的缺陷最多,修复成本又 最低? 解:软件缺陷产生的主要原因有:需求规格说明错误;设计错误;程序代码有误;其他。其中在需求分析阶段引入的缺陷最多,修复的成本又最低。 4.当用户登录某网站购物完毕并退出后,忽然想查查购物时付账的总金额,于 是按了浏览器左上角的“退回”按钮,就又回到了退出前的网页,你认为该购物软件有缺陷吗?如果有,属于哪一类? 解:有缺陷。其所属类别与软件产品说明书的要求有关。 5.什么是软件测试?简述其目的与原则。 解:软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期,对软件产品(包括阶段性产品)进行验证和确认的活动过程。 测试目的:(1)证明:获取系统在可接受风险范围内可用的信心;尝试在非正常情况和条件下的功能和特性;保证一个工作产品是完整的并且可用或可被集成。(2)检测:发现缺陷、错误和系统不足;定义系统的能力和局限性;提供组件、工作产品和系统的质量信息。(3)预防:澄清系统的规格和性能;提供预防或减少可能制造错误的信息;在过程中尽早检测错误;确认问题和风险,并

软件测试工程师笔试题及答案

测试工程师笔试题 一、计算机知识(30分) 1、在Linux系统中,一个文件的访问权限是755,其含义是什么? 参考答案: 755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。 2、Linux中,如何从root用户切换到普通用户? 参考答案:su su user1 切换到user1,但切换后的当前目录还是root访问的目录 su – user1 切换到user1,并且当前目录切换到user1的根目录下(/home/user1/) 3、简述一下C/S模式和B/S模式的区别? 参考答案: c/s 是客户端/服务器架构 b/s 是浏览器/服务器架构 C/S模式有以下特点: 1.C/S模式将应用与服务分离,系统具有稳定性和灵活性 2.C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性 3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快 4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂 B/S模式有以下特点: 1.系统开发、维护、升级方便 每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便 2.B/S模式具有很强的开放性 在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好 3.B/S模式的结构易于扩展 由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统 4.用户使用方便 B/S模式的应用软件都是基于Web浏览器的,而Web浏览器的界面是类似的。对于无用户交换功能的页面。用户接触的界面都是一致的,用户使用方便 4、Windows操作系统中PATH环境变量的作用是什么? 参考答案: PATH是Windows操作系统环境变量,PATH作用是用户在命令行窗口执行一个命令,则在PATH变量设置的目录下依次寻找该命令或对应的执行文件,若找到,则执行,若没有找到,则命令行窗口返回无效命令。 5、TCP和UDP有什么区别? 参考答案: TCP-有连接,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换

软件测试名词解释、简答题以及综合题(含答案)

一、名词解释题 1、测试用例 测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。测试用例是执行的最小实体。 2、驱动模块 驱动模块是在进行单元测试时所设置的一种辅助测试模块,它用来模拟被测试模块的上一级模块,相当于被测模块的主程序。驱动模块在单元测试中接收数据,把相关的数据传送给被测试的模块,启动被测模块,并打印出相应的结果。 3、回归测试 在集成测试策略的环境中,回归测试是对某些已经进行过的测试的某些子集再重新测试一遍,以保证上述改变不会传播无法预料的副作用或引发新的问题。在更广的环境里,回归测试就是用来保证(由于测试或者其他原因的)改动不会带来不可预料的行为或者另外的错误。 4、静态测试 静态测试是指不利用计算机运行被测程序,也就是说,计算机并不真正运行被测试的程序,而是通过其他手段达到检测的目的。静态测试是对被测程序进行特性分析的一些方法的总称。 5、桩模块 桩模块是在进行单元测试时所设置的一种辅助测试模块,它用来模拟被测试模块工作过程中所调用的模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,以便检验被测模块与其下级模块的接口。 6、强度测试 强度测试的目的是要检测非正常的情形,测试是想要破坏程序。强度测试需要在反常规数据量、频率或资源的方式下运行系统,以检验系统能力的最高实际限度。 7、软件测试 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复查。它是软件质量保证的关键步骤。通常对软件测试的定义有两种描述: 定义1:软件测试是为了发现错误而执行程序的过程。 定义2:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例运行程序,以及发现错误的过程。 8、自动化测试 自动化测试得一般定义为:各种测试活动的管理与实施,包括测试脚本的开发与执行,均使用一种自动化测试工具来验证测试的需求。 9、动态测试 动态测试的主要特征是计算机必须真正运行被测试的程序,通过输入测试用例对其运行情况(即输入与输出的对应关系)进行分析,达到检测的目的。 10、独立路径 某一程序的独立路径是指从程序入口到程序出口的多次执行中,每次至少有一个语句集(包括运算、赋值、输入/输出或判断)是新的和未被重复的。 二、问答题 1、软件测试涉及哪些关键问题? 软件测试涉及的关键问题包括以下四个方面: (1)测试由谁来执行。通常的做法是开发者(机构或组织)负责完成自己代码的单元测试,而系统测试则由一些独立的测试人员或专门的测试机构进行。 (2)测试什么。软件需求规格说明、概要设计规格说明、详细设计规格说明和源程序都是测试的对象。 (3)什么时候进行测试。测试可以是一个与开发并行的过程,还可以是在开发完成某个阶段任务之后进行,或者是在开发结束后再进行测试。 (4)怎样进行测试。根据软件的功能规范说明和程序实现,利用各种测试方法,生成有效的测试用例,对软件进行测试。 2、简述软件测试过程的流程。 软件测试过程按测试的先后次序可分为:单元测试、集成测试、确认(有效性)测试、系统测试和验收(用户)测试共5 项步骤。 (1)单元测试:针对每个单元的测试,以确保每个模块能正常工作为目标。

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

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)

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

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

软件测试的名词解释

目录 1. 什么是软件测试? (2) 2. 软件测试的目的是什么? (2) 3. 软件测试的目标? (2) 5. 什么黑盒测试? (3) 6. 黑盒测试方法都包括哪些? (3) 7. 什么是等价类划分? (3) 8. 什么是边界值分析法? (3) 9. 什么情况下使用决策分析法? (3) 10.你是如何利用决策分析法设计用例? (3) 11. 什么是因果图分析法? (4) 12. 你是如何利用因果图分析法来设计用例的? (4) 13. 因果图分析法中用到的五种约束分别是什么? (4) 14. 什么是测试用例? (4) 15 你觉得有必要写测试用例么,写测试用例的作用有哪些? (4) 16. 你知道软件生命的周期么?包括哪些阶段? (4) 17. 软件测试的对象是什么? (4) 18. 软件测试是否等于程序测试? (4) 19. 软件测试涉及的关键问题包括哪些方面? (5) 20. 软件测试的原则包括哪些? (5) 21. 软件测试按照开发阶段划分为哪几类? (5) 22. 完成的软件开发过程?V模型? (5) 23. 按照测试技术来分测试分哪几类? (5) 24. 什么是白盒测试和灰盒测试? (5) 25. 谈谈黑盒测试的特点?优点? (6) 26. 黑盒测试主要能够发现哪些方面的问题? (6) 27. 测试停止的依据? (6) 28. 什么是健壮等价类测试? (6) 29. 什么是错误推测法?你经常用的错误推测法来测试系统的经验有哪些? (6) 30. 你选择测试方法的原则是什么? (7) 31. 设计测试用例的原则有哪些? (7) 32. 测试用例模板的主要要素有哪些? (7) 33. 软件测试的过程有哪些? (7) 34. 写测试计划的主要任务是什么? (7) 35. 测试计划中的5W1H什么意思? (7) 44. 什么是回归测试? (8) 45. 什么是确认测试? (9) 46. 请您谈一谈为什么要进行系统测试? (9) 48. 安全性测试你一般从哪几方面做测试? (9) 49. 什么是兼容性测试? (9) 51. 什么是验收测试? (9) 52. 验收测试一般有哪些方法? (9)

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

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

软件测试概论(TS)考试试题

软件测试概论(TS)考试试题 选择题 1) 以下关于测试和调试的说法中,正确的是(a )。(选择一项) a) 测试工作包括发现错误,以及确定错误的原因和确切位置,排除软件中的 错误 b) 测试就是调试,两者没有什么区别 c) 测试是在开发完成后的测试阶段才开始 d) 调试的目的是定位和纠正错误 2) 以下关于测试的定义中,错误的是(b)。(选择一项) a) 为找出错误而运行程序或系统的过程 b) 一切以评价程序或系统的属性、能力为目的的活动 c) 评价程序或系统的过程 d) 测试是在用户需求和开发技术之间找区别 3) 以下关于测试的目的描述,错误的是(a)。(选择一项) a) 为了说明程序中没有缺陷 b) 在于发现了迄今尚未发现的缺陷 c) 揭示潜伏在软件里的缺陷 d) 为软件产品的质量测量和评价提供依据 4) 通常情况下,软件测试至少要达到下列目标,其中错误的是(d)。(选择一项) a) 确保产品完成了它所承诺或公布的功能 b) 确保产品满足性能和效率的要求 c) 确保产品是健壮的、适应用户环境的 d) 确保产品的质量达到用户的需求 5) 下列软件测试的“行业规则”或者“工作常识”中,描述错误的是(c )。(选 择一项) a) 所有的测试都应追溯到用户需求 b) 应该在测试工作真正开始前的较长时间内就进行测试计划 c) 测试应从“大规模”开始,逐步转向“小规模” d) 为了达到最佳效果,应该由独立的第三方来构造测试 6) 软件工程是开发、运行、维护和修复软件的系统方法。软件工程具有如下的性质, 其中错误的是(a)。(选择一项)

a) 软件工程是一门综合性的交叉学科,它涉及计算机科学、工程科学、管理 科学、数学等领域 b) 软件工程要用工程科学中的观点来进行费用估算、制定进度、制定计划和 方案 c) 软件工程要用数学科学中的方法和原理进行软件生产的管理 d) 软件工程要用数学的方法建立软件开发中的各种模型和各种算法,如可靠 性模型、说明用户需求的形式化模型等 7) 在任何生命周期模型中,一个好的测试都应该具有一些特点,以下描述错误的特 点是(c)。(选择一项) a) 每个开发活动都有相对应的测试活动 b) 每个测试级别都有其特有的测试目标 c) 对于每个测试级别,不需要在相应的开发活动过程中进行相应的测试分析 和设计 d) 在开发生命周期中,测试员在文档初稿阶段就应该参与文档的评审 8) 在开发软件过程中有各种不同的方法。对特定项目而言,没有哪个模式一定是最 好的。以下不属于最常用的模式是(a)。(选择一项) a) 大爆炸模式 b) 边写边做模式 c) 瀑布模式 d) 螺旋模式 9) 下面描述敏捷软件开发的目中错误的是(c)。(选择一项) a) 通过过程和工具理解个人和交流的作用 b) 通过开发的文档理解运行的软件 c) 通过合同和谈判得到客户的协作 d) 在计划的执行中做出对变更的响应 10) 概括地说,软件测试过程模型中H模型不能揭示的是(d)。(选择一项) a) 软件测试不仅仅指测试的执行,还包括很多其他的活动 b) 软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地 进行 c) 软件测试要尽早准备,尽早执行 d) 软件测试是根据被测物的不同而同时进行的 11) 在Bugzilla中,如果一个缺陷的处理状态被开发人员置为Wontfix,则表明()。 (选择一项) a) 这个bug中描述的不是问题

软件测试工程师笔试题目和答案

一、判断题 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负责人

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.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。

软件测试试题及答案分析

单选 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、对计算机软件和硬件资源进行管理和控制的软件是(D) A.文件管理程序 B.输入输出管理程序 C.命令出来程序 D.操作系统 2、在没有需求文档和产品说明书的情况下只有哪一种测试方法可以进行的(A) A.错误推测法测试 B.路劲分析测试 C.语句覆盖测试 D.条件覆盖测试 3、某测试人员通过执行测试软件测试的方法对当前功能进行了测试,该测试人员使用的测试方法为(C) A.静态测试

B.单元测试 C.黑盒测试 4、编写测试计划的目的是(ABC)多选题 A.使测试工作顺利进行 B.使项目参与人员沟通更舒畅 C.使测试工作更加系统化 D.软件工程以及软件过程的需要 E.软件过程规范化的要求 F.控制软件质量 5、关于软件测试与软件开发的认识,不正确的是(B) A.软件生命周期各个阶段都可能产生测试 B.软件测试是独立于软件开发的一个工作 C.软件开发的需求分析和设计阶段就应开始测试工作 D.测试越早进行,越有助于提高被测软件的质量 6、当一个应用程序窗口被最小化后该应用的程序将会出现一下哪种情况(D) A.被终止执行

B.继续在前台执行 C.被暂停执行 D.被转入后台执行 7、下列方法中,不属于黑盒测试的是?(A) A.基本路劲测试法 B.等价类测试法 C.边界值分析法 D.基于场景的测试方法 8、对于维护软件的人员来说,使用质量是【】的结果(C) A.功能性 B.可靠性 C.可维护性 D.效率 9、下列软件属性中,软件产品首要满足的应该是(A) A.功能需求 B.性能需求

C.可扩展性和灵活性 D.容错、纠错能力 10、单元测试中设计测试用例的依据是(D) A.概要设计规格说明书 B.用户需求规格说明书 C.项目计划说明书 D.详细设计规格说明书 二、判断题 1、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。(√) 2、软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作(×) 3、发现错误多的模块,残留在模块中的错误也多。( √) 4、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。(×) 5、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。

软件测试综合题(参考答案)

软件测试综合试题 一、选择题 1、关于软件质量的描述,正确的是___B___ A.软件质量是指软件满足规定用户需求的能力; B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性; C.软件质量保证过程就是软件测试过程; D.以上描述都不对 2、___B___方法根据输出对输入的依赖关系设计测试用例。 A.路径测试B.等价类 C.因果图D.边界值 3、测试设计员的职责有:__B____ ①制定测试计划②设计测试用例③设计测试过程、脚本④评估 测试活动 A.①④ B.②③ C.①③D.以上全是 4、十进制102转换为二进制是_____B_ A.1100111 B.1100110 C.1100001 D.101111 5、下列软件实施活动的进入准则描述错误的是:___D___ A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化 6、用边界值分析法,假定1

软件测试试题及答案

一、判断题 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)

软件测试的概述及方法

软件测试的概述及方法 摘要 从软件产业的发展初期到目前的大型软件开发过程,软件测试已成为其中一个不可分割的部分。随着软件规模的日益增大,软件测试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测试有着广泛的需求,基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。本文从测试的基本概念入手,深入剖析软件测试相关理论。 关键字:软件测试、白盒测试、黑盒测试、类测试

目录 1 软件测试的发展史 (3) 2 软件测试的相关背景 (4) 3 软件测试的概述 (8) 3.1 软件测试的定义 (8) 3.2 软件测试的描述 (8) 3.3 软件测试的目的 (9) 3.4 软件测试的原则 (10) 4 软件测试的内容 (11) 4.1 验证 (11) 4.2 确认 (11) 5 软件测试的分类 (12) 5.1 常用分类 (12) 5.2 黑盒测试 (12) 5.3 白盒测试 (12) 5.4 静态测试 (15) 5.5 动态测试 (15) 6 软件测试中的类测试 (16) 6.1 测试中的关键 (16) 6.2 类测试技术 (16)

1 软件测试的发展史 软件测试方法之所以没能完全标准化和统一化,主要原因是因为软件产业产品到软件测试有各式各样的软件。但是目前仍有很多各样软件测试方法都基本可用的常用概念和方法。我们这里介绍的思路和方法就是可用于多数应用软件的测试。有六个有关软件测试方法的基本概念是很重要的:白箱测试,黑箱测试,灰箱测试,有效用例和无效用例,边界条件以及等价类测试。 20世纪60年代(软件工程建立前),为表明程序正确而进行测试。. 1972 年在北卡罗来纳大学举行了首届软件测试正式会议。. 1975年John Good Enough 和Susan Gerhart 在IEEE上发表了《测试数据选择的原理》的文章,软件测试被确定为一种研究方向。1979年,Glenford Myers 的《软件测试艺术》,对测试做了定义:测试是为发现错误而执行的一个程序或者系统的过程。20世纪80年代早期,“质量”的号角开始吹响。 软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。制定了各类标准。. 1983年,Bill Hetzel 在《软件测试完全指南》中指出:测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。20 世纪90 年代,测试工具盛行起来。. 1996年提出的测试能力成熟度TCMM (Testing Capability Maturity Model )、测试支持度TSM(Testability Support Model )、测试成熟度TMM (Testing Maturity Model )。. 到了2002年,Rick和Stefan 在《系统的软件测试》一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命过程。

软件测试――笔试题(带答案)

我个人觉得我作为应届毕业生,面试测试工作还是蛮得心应手的!: -p 我愿意把自己从事测试的经历和面世的心得与大家分享! 1.准备两份高质量的简历,中英文的,最大化的把自己的能力,尤其时测试方面的技能和知识写详细 2.找准自己的定位后,找相应的公司,主要考虑自己目前的能力与对未来的期望。 3.在多个招聘网上贴简历 5.当收到面试通知时,详细了解公司的招聘要求,从这些要求和职责上去准备面试的问题 6.准备一些面试可能问的问题,我有整理和收集过一些,贴出来,供大家参考,很多真的都被面试公司问过,蛮管用的 7.好好准备英文的面试,除了自我介绍外,还有一些可能问到的问题 8.做卷子是我面试的时候最薄弱的地方,因为很多公司要不提供一些编程的程序题,要不就是那种IQ,EQ题型,我都不擅长。不过有两种题性是可以准备到的,一种是数据库方面的题,写一些sql语句,还有就是测试题目,了解你对测试的理解和想法,需要准备英文答题。 9.出去面试的时候,不要把自己再当作学生的身份,因为我们的竞争对手不光光在同学间,更多的是社会高人们。所以,从着装上,如果可以的话,尽量不要学生装,女生最好不要穿牛仔裤(花旗面试经验),成熟稳重的外在,为面试的视觉因素加分!

就没有工作经验的同学而言,我个人建议就是,先不要考虑过多的待遇,找一个能提供给你锻炼的公司,去积累一定的经验后,然后再重新找心意的公司。反正再面试中表现你的最大优势,要能侃,不要人家问什么你答什么,人家问了一点点,你可以简述一大点,老练自信很有帮助哦!这是有关测试技能方面的试题,我只收集到了题目,尚无答案,希望能对面试有帮助!测试的面试中,基本上公司都要笔试,基本上给测试人员的卷子,和开发人员的是一样的。里面会有编程方面的题目,这些知识主要靠大家以前在学校或实践中的积累。如果答得不好,也不用太在意,因为这不是主要考察你得因素。但有些题目,是需要我们重视得,比如考察你得英文能力,让你翻译资料;还有就是出一些数据库方面得题目;当然,测试方面理论知识部分,也容易被考到,比如谈谈你对测试得了解,你自己对测试得认识和计划等(很可能是英文答题)以下是一份主要对测试知识的试卷,(一般不会像这样通篇考试,除非是测试考证)但可能从中抽取部分题目,仅供参考: 集成测试的计划怎么写啊? 可以思考以下内容并用集成测试计划的模板写下来: 1、确定集成测试对象 2、确定集成测试策略 3、确定集成测试验收标准 4、确定集成测试挂起和恢复条件 3、估计集成测试工作量 4、估计集成测试所需资源 5、进行集成测试任务划分(包括任务名、责任人、输入和输出、风险及应对措施、进度安排等)集成测试过程 摘书上的,, 根据IEEE标准集成测试划分为4个阶段:

软件测试基本概念

软件测试基本概念 1、测试分类 从不同的角度,可以把软件测试技术分成不同种类:(4个维度) 1.1从是否需要执行被测软件的角度分类: 1.1.1静态测试(代码评审、文档会审) 指以人工的、非形式化的方法对软件进行分析和测试。如文档评审、代码会审。 1.1.2动态测试(功能测试和性能测试) 1.2按测试方法分类 1.2.1黑盒测试 不考虑程序的内部逻辑结构与特性,只根据程序功能或程序的外部特性进行测试,注重于测试软件的功能性需求。 1.2.2白盒测试 分析程序的内部逻辑结构,选择适当的覆盖标准,对主要路径进行尽可能多的测试。 1.2.3灰盒测试 不需要懂代码,只需懂接口、集成。 1.3按测试阶段分类 1.3.1单元测试(一般是开发人员进行) 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能。 1.3.2集成测试 是在单元测试基础上,将模块和模块结合成一个完整的系统进行测试,重视的是接口测试。 1.3.3系统测试

系统测试是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在运行环境下对计算机系统进行的一系列严格有效的测试。包含的测试类型: 1) 功能测试,测试软件系统的功能是否正确。 2) 性能测试,测试系统的负载。 3) 健壮性测试,测试软件系统在异常情况下能否正常运行的能力。健壮性有两 层含义:一是容错能力,二是恢复能力。 1.3.4确认测试(依据需求规格说明书) 又称有效性测试,检查软件的功能与性能是否与需求规格说明书中确定的指标相符。主要做功能测试和性能测试。 1) Alpha 测试:在开发环境中,模拟各类用户对即将发布的产品进行测试。 2) Beta 测试:在真实运行环境下实施的测试。 1.3.5验收测试 是指系统开发生命周期方法论的一个阶段,这时相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。 一般包含五类: 1) 功能确认测试:用户手册中提及的所有功能测试 2) 安全性测试:用户权限限制测试;系统备份与恢复测试;异常情况及网络故 障对系统的影响测试。 3) 兼容性测试:软件在规定的不同操作系统、数据库、浏览器运行是否正常。 4) 性能测试:系统性能指标和资源占有率测试。 5) 用户文档测试:各类文档描述清晰,包括软件安装、卸载测试。 1.4测试种类 1.4.1数据库设计测试(开发和设计阶段) 1.4.2需求测试(需求阶段) 1.4.3功能测试 1.4.4性能测试 1.4.5其他测试类型:安全性测试、兼容性测试、用户文档测试、单元测试、接口测试、冒烟测试 2、常用名词解释 1) 软件测试:在规定的条件下对程序进行操作,以发现错误,对软件质量进行 评估的一个过程,它是保障软件质量的重要方法。 2) 边界值:边界值就是软件操作界限所在的边缘条件。 3) 因果图法: 因果图方法是一种利用图解法分析输入条件的各种组合情况,从

相关文档