软件测试技术期末复习(new)

软件测试技术期末复习(new)
软件测试技术期末复习(new)

软件测试技术期末复习第一章概述

1、软件测试是软件工程的一个重要部分,是确保软件工程质量的重要手段。

2、软件的早期阶段,计算机程序的质量完全依赖于程序员个人的技巧;

软件的第二阶段,多用户系统引入了人机交互的新概念,设计人员开始采用"软件工程"

的方法来解决"软件危机"问题

软件的第三阶段,软件开发技术的度量问题受到重视,著名的有软件能力成熟度模型等软件的第四阶段:是强大的桌面系统和计算机网络迅速发展的时期

3、计算机软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相

关文档的完整集合

4、软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题,软件生产与市

场需求出现极不适应的严重现象

5、软件工程:应用计算机科学、数学及管理科学等原理开发软件的工程

6、软件缺陷:计算机系统或者程序中存在的任何一种破坏正常运行能力的问题、错误,或

者隐藏的功能缺陷、瑕疵。

7、软件的特点:软件是逻辑的,而不是物理的产品;软件没有明显的制造过程;软件在运

行和使用期间,存在退化问题;大多数软件是自定的,而不是通过已有构件组装而成的;

软件成本相当昂贵;软件比任何其他人类制造的结构更复杂,这使得软件产品难以理解和维护。

8、软件工程可以分解成4P,人、过程、项目和产品

9、一个软件产品从形成概念开始,经过开发、测试、使用和维护,直到最后退出使用的全

过程称为软件生存周期

10、整个测试过程分单元测试、集成测试、系统测试以及验收测试四个阶段进行;测试

的方法主要有白盒测试和黑盒测试;从测试原理上分为黑盒测试、白盒测试和灰盒测试。

11、测试只能找到程序中的错误,而不能证明程序是无错的,是正确的

12、软件测试人员包含:测试经理、测试文档审核师、测试设计师、测试工程师

13、软件中残存着错误,这是软件的一种属性,是无法改变的

14、一个成功的测试用例在于发现了至今尚未发现的缺陷

15、软件测试的V模型是最具有代表意义的测试模型,反映出了测试活动与分析设计活动

的关系

16、软件测试的W模型由两个V字型模型组成,分别代表测试与开发过程

17、软件缺陷:计算机系统或者程序中存在的任何一种破坏正常运行能力的问题、错误,

或者隐藏的功能缺陷、瑕疵。

18、软件测试:软件测试是为了发现程序中的错误而执行程序的过程。

19、在早期的软件开发过程中,测试的含义比较窄,将测试等同于“调试”。

直到1957年,软件测试才开始与调试区别开来,成为一种发现软件缺陷的活动。

直到20世纪80年代早期,软件测试不再单纯是一个发现错误的过程,而且包含软件质量评价的内容。软件开发人员和测试人员开始坐在一起探讨软件工程和测试问题

第二章测试计划

1、

第三、四章白盒测试

1、白盒测试也称结构测试、逻辑驱动或基于程序的测试,是一种测试用例设计方法

2、在白盒测试中,通常会用覆盖率来度量测试的完整性。测试覆盖率是程序被一组测试用

例执行到的百分比。

3、逻辑覆盖测试包括语句覆盖;判断覆盖;条件覆盖;路径覆盖;判断/条件覆盖;条件

组合覆盖。(及其定义)P31

4、逻辑测试覆盖中,测试覆盖最强的是条件组合覆盖

5、逻辑测试覆盖中,测试覆盖最弱的是语句覆盖

6、静态测试:不需要执行所测试的程序,而只是通过扫描程序正文,对程序的数据流和控

制流等信息进行分析,找出系统的缺陷,得出测试报告。

7、动态测试:通过运行软件来检验软件的动态行为和运行结果的正确性。

8、黑盒测试:又称为功能测试、数据驱动测试和基于规格说明的测试,是一种从用户观点

出发的测试。两种基本方法,即通过测试和失败测试。

9、白盒测试:也称作结构测试或逻辑驱动测试,它知道产品内部工作过程,可通过测试来

检测产品内部动作是否按照规格说明书的规定正常进行。主要方法有逻辑覆盖、基本路径测试等,主要用于软件验证。白盒测试需要全面了解程序内部逻辑结构,对所有逻辑路径进行测试。白盒测试是穷举路径测试。

第五章黑盒测试

1、黑盒测试的结果有两种:通过测试和测试失败

2、属于黑盒测试的方法基于用户需求测试

3、黑盒测试不需要了解程序内部结构,所以许多高层的测试,如确认测试、系统测试、验

收测试都采用黑盒测试。

4、等价类划分法概念:将不能穷举的测试过程进行合理分类,然后从每一个分类(子集)

中选取少数具有代表性的数据作为测试用例

5、等价类:指输入域的某个互不相交的子集,所有等价类的集便是整个输入域

6、有效等价类:有效等价类是指符合程序规格说明书,有意义的、合理的输入数据所构成

的集合

7、无效等价类:无效等价类是指不符合程序规格说明书,不合理或无意义的输入数据所构

成的集合

8、条件桩:列出了问题的所有条件。通常认为列出的条件的次序无关紧要。

动作桩:列出了问题规定可能采取的操作,这些操作的排列顺序没有约束。

条件项:列出针对它在列条件的取值。

动作项:列出在条件项的各种取值情况下应该采取的动作。

9、因果图方法根据输出对输入的依赖关系设计测试用例

10、因果图的关系符号和约束符号的画法

11、因果图法:因果图法就是一种利用图解法分析输入的各种组合情况,从而设计测

试用例的方法,它适合于检查程序输入条件的各种情况的组合

第六、八章单元测试

1、驱动模块(driver):是一种用于模拟被测试模块的上一级模块,相当于被测模块的主程

序,它接收数据,将相关数据传送给被测试模块,并调用被测试模块,打印执行结果。

2、桩模块(Stub):是模拟被测试模块所调用的模块,它不是软件产品的组成部分。在集

成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块。

3、单元测试包括:接口测试、局部数据结构测试、独立路径测试、边界条件测试、错误处

理测试、功能测试、性能测试、内存使用测试。

4、将若干个模块连接成一个可运行的系统通常有两种方法:非渐增式和渐增式。

5、单元测试:是对软件基本组成单元进行的测试。单元测试的对象是软件设计的最小单位

——模块。某种意义上单元的概念已经扩展为组件。

6、驱动模块:相当于被测模块的主程序。它接收测试数据,把这些数据传送给被测模块,

最后输出实测结果。

7、桩模块:用以代替被测模块调用的子模块。

8、Junit有7个包,主要的核心包是junit.framework和junit.runner。Framework包负责整个

测试对象的框架,Runner包负责测试驱动

9、assertEquals()的函数意思是断言

10、在Assert类中断言对象为NULL是assertNull

第七章系统测试和集成测试

1、常用的集成测试策略有:大爆炸基础、自顶向下集成、自底向上集成、三明治集成等等

2、集成测试的测试内容:功能性测试、可靠性测试、易用性测试、性能测试、维护性测试、

可移植性测试等等

3、集成测试:是介于单元测试和系统测试之间的过渡阶段,与软件开发计划中的软件概要

设计阶段相对应,是单元测试的扩展和延伸。

4、系统测试的测试内容:功能测试、性能测试、负载测试、压力测试、疲劳测试、易用性

测试、安装测试、配置测试、文档测试、安全测试、恢复测试、回归测试、健全测试、交付测试、演练测试、背靠背测试、度量测试、比较测试等等

5、集成测试:也叫组装测试、联合测试、子系统测试或部件测试,它是在单元测试的基础

上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试

第九章软件自动化测试

1、自动化测试(Testing Automation)就是希望通过自动化测试工具或其他手段,按照测试工

程师的预定计划进行自动地测试

2、测试自动化能:

a)显著降低重复手工测试的时间

b)建立可靠、重复的测试,减少人为错误

c)增强测试质量和覆盖率

3、测试自动化不能:

a)完全替代手工测试和手工测试工程师

b)保证100%的测试覆盖率

c)弥补测试实践的不足

4、代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法

5、CodeSamplesPlus——一些实例代码

6、Sample ——示例程序

7、QTP录制的快捷键、播放的快捷键、停止的快捷键、

名词解释

计算机软件、软件危机、软件工程、软件生存周期、白盒测试、等价类划分法概念、等价类、有效等价类、无效等价类、集成测试、自动化测试(Testing Automation)、软件缺陷软件测试、静态测试、动态测试、黑盒测试、白盒测试、单元测试、驱动模块、桩模块、集成测试、语句覆盖、判断覆盖、条件覆盖、判断条件覆盖、条件组合覆盖、路径覆盖、因果图法

问答题:

1、软件缺陷准确地说,需符合以下5条规则中的一条:

①软件未实现产品说明书要求的功能;

②软件出现了产品说明书指明不会出现的错误;

③软件实现了产品说明书未提到的功能;

④软件未实现产品说明书虽未明确指出但应该实现的目标

⑤软件难以理解,不易使用,运行缓慢或者终端用户认为不好。

2、什么是软件测试:

答:软件测试被定义为:“使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。”后来进一步定义为“测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期过程”简单地说,软件测试就是为了发现错误而执行程序的过程。

软件测试是一个找错误的过程,测试只能找到程序中的错误,而不能证明程序是无错的,是正确的。

3、简叙软件测试的“杀虫剂”现象和解决方法?

答:所谓“杀虫剂”一词,用于描述对软件进行越多的测试,那么该软件对软件测试人员的测试就越具有免疫力。这与农药杀虫是一样的。老用一种农药,害虫最后就有抵抗力,农药也就发挥不了效力。在用螺旋模式开发软件过程中,每一圈都要重复测试过程。

软件测试员每一个轮回就会接到软件进行测试。最后,经过几个回合之后,该发现的软件缺陷都被发现了,再测试下去也不会有新的发现了。为了克服杀虫剂怪事,软件测试员必须不断编写不同的新测试程序,对程序的不同部分进行测试,以找出更多的软件缺陷。

4、简述软件测试的国内外形状和你的看法?(开放性试题)

答:国内:目前我国使用的主流测试工具大部分是国外产品。国内软件测试起步与“六五”期间,市随着软件工程研究而逐步发展起来的。由于起步较晚,与国际先进水平相比差距较大。1990年陈立国家级软件评测中心,测试服务才逐步开展。我国无论在软件测试理论还是测试实践上,同国外发达国家比都落后很大差距。主要体现:对如今产品化测试技术比较贫乏,从业人员较少,测试服务没有形成规模。随着我国软件产业的蓬勃发展以及对软件质量的重视,软件测试也越来越被人们所看重,软件测试正在逐步成为一个新兴产业。我国正迈入测试时代。与国际软件业巨头相比,中国软件企业专业测试人才一直紧缺。据悉,国内120万软件从业人员中,真正能担当软件测试职位的不超过5万人,其中深圳本地从事软件测试岗位的专业工程师还不到万人。部分公司的测试人才与开发人才的比例为1:6,有的公司甚至只有1:9。但是国际成熟软件企业的软件测试人员与开发人的比例为1:1

国外:在软件比较发达国家,尤其在美国,软件测试已经发展成为一个独立的产业。

软件测试在公司中占有重要地位。在微软公司,一个典型开发项目中,测试工程师要比编码工程师多,在测试上花费时间远远高于编码时间。世界每年举办各种测试技术年会,发表大量论著。测试市场繁荣,有专业开发测试工具和标准的公司,著名的软件测试工具提供商,出品的测试工具已经占据国际市场国外软件测试已经形成较大产业。

自己的看法:看法意见,解决方式。百度

5、软件测试人员应具备下列基本素质有哪些?

答1.具有良好的计算机编程基础

2.具有创新精神和超前意识

3.不懈努力,追求完美

4.具有很强的沟通和交流能力

5.具有整体观念,对细节敏感

6.团队合作精神

****************************************************************************** 6、什么是坚持“5W”规则

答:“5W”规则中的W分别是指“What(做什么)”,“Why(为什么做)”,“When(何时做)”,“Where(在哪里)”,“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)

7、一份好的测试计划书应具备哪些特点呢?

答:1、保证软件质量,按时将产品推出;2、在较短的时间内找出尽可能多的软件缺陷;

3、明确的测试目标、测试的策略、具体步骤及测试标准

4、;既强调测试重点,也重视

测试的基本覆盖率;5、充分利用了公司现有的、可以提供给测试部门的人力/物力资源,而且是可行的;6、所列举的所有数据都必须是准确的;7、测试工作的安排有一定的灵活性。

******************************************************************************* 8、计算环形复杂度

(1)观察法

V(G)=A,其中A是控制流图G中区域的数目,由边和节点围成的区域叫做区域,当在控制流图中计算区域的数目时,控制流图外的区域也应记为一个区域。

(2)公式法

计算公式:V(G)=E-N+2。其中,e表示图中边的数目,n表示节点总数。

(3)判定节点法

V(G)=P+1利用代码中独立判定节点的数目来计算环路复杂度。其中,P表示判定结点的数目。

9、黑盒测试的特性

1、从用户的角度进行的测试;

2、基于程序或者系统的功能进行的测试。

3、不需要了解程序内部结构

4、多用于高层的测试,如确认测试、系统测试、验收测试等等

10、黑盒测试和白盒测试的已知产品的因素

黑盒测试:已知产品的功能设计规格,可以通过测试证明每种实现的功能是否符合要求。

白盒测试:已知产品的内部工作结构,可以通过测试证明每种内部操作是否符合设计规格要求,以及所有内部成分是否经过检查。

11、自动化测试的局限性?

答:1、并非所有的测试都可以用自动化测试来实现;

2、新的软件缺陷越多,自动化测试失败的几率就越大;

3、技术问题、组织问题、脚本维护问题;

4、测试工具与其他软件的互操作性

1、简述路径覆盖中的简化循环。

答:所谓简化循环就是减少循环的次数,不考虑循环体的形式和复杂度如何,也不考虑循环体实际上需要执行多少次,只考虑通过循环体执行零次和一次这两种情况,这里的零次循环是指跳过循环体,从循环体的入口直接到循环体的出口,通常一次循环体是指检查循环初始值根据简化循环的思路,循环要么执行,要么跳过,这和规定分支的效果是一样的,可见,简化循环就是将循环结构转变成选择结构

2、简述软件缺陷的扎堆现象有常见的哪几种?

对话框的某个控件功能不起作用,可能其他控件的功能也不起作用。

某个文本框不能正确显示双字节字符,其他文本框也可能不支持双字节字符。

联机帮助某段文字的翻译包含了很多错误,与其相邻的上下段的文字可能也包含很多的语言质量问题。

安装文件的某个对话框“上一步”或“下一步”按钮被截断,则这两个按钮在其他对话框中也可能被截断。

3、什么叫路径分析测试

着眼于路径分析的测试称为路径分析测试,完成路径测试的理想情况是做到路径覆盖。

路径覆盖也是白盒测试最为典型的问题。独立路径选择和Z路径覆盖是两种常见的路径

覆盖方法。

4、划分等价类的几个原则?

如果规定了输入条件的取值范围或者个数,则可以确定一个有效等价类和两个无效等价类

如果规定了输入值的集合,则可以确定一个有效等价类和一个无效等价类

如果规定了输入数据的一组值,并且程序要对每一个输入值分别进行处理,则可以为每一个值确定一个有效等价类,此外根据这组值确定一个无效等价类

如果规定了输入数据必须遵循的规则,则可以确定一个有效等价类和若干个无效等价如果已知的等价类中各个元素在程序中的处理方式不同免责应将该等价类进一步划分成更小的等价类

5、划分边界类值应遵循的原则

如果输入条件规定了值的范围,则应该选取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据

如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少1,比最大个数多1的数最为测试数据

根据规格说明的每一个输出条件,分别使用以上原则

如果程序的规格说明给出的输入域或者输出域是有序集合(如有序,顺序文件等),则应选择集合的第一个元素和最后一个元素作为测试用例

如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界值作为测试用例

6、决策表适用的情况

规格说明以决策表形式给出,或很不容易转换成决策表

条件的排列顺序不会也不应该影响执行哪些操作

规则的排列顺序不会也不影响执行哪些操作

每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则

如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要

7、

===============================================================================

软件测试工程师高级视频教程

软件测试工程师高级视频教程 什么是软件测试?为什么有这么多人选择学习软件测试?软件测试有超强的预判能力,拯救用户,拯救软件,避免未来软件被用户无情卸载的命运。2018年软件测试将延续近两年火爆的发展势头,千锋出品的软件测试工程师高级视频教程,将为广大软件测试爱好者的高效自学提供可能。 下面就来说说千锋教育软件测试教学团队全新录制的5章视频教程都涵盖哪些内容。 软件测试工程师高级视频教程:https://www.360docs.net/doc/a110366146.html,/s/1dFm5wbR 软件测试工程师高级视频教程第一章:在本章中,老王详细向学生们介绍了软件测试的历史,软件测试的目的,软件测试的对象、软件测试概念等具体知识。

让学生一方面逐步熟悉软件测试的一些经典理论和思想,另一方面结合知识概念从根本的角度理解软件测试是什么,以及软件测试的重要性。 软件测试工程师高级视频教程第二章:本章课程主要是向学生讲解软件测试过程模型。但为了让学生们更好的理解这个知识点,我们需要先去了解什么是软件的生命周期,软件生命周期都包含哪些具体活动?什么是软件开发的过程,软件开发团队的工作过程模型都有哪些。只有充分了解了这些内容,我们在学习软件测试过程模型的时候,才会更好的掌握相关的知识与概念。 软件测试工程师高级视频教程第三章:本集视频主要介绍了从开发角度划分的5类测试方法 软件测试工程师高级视频教程第四章:本章主要讲解软件测试计划的内容。测试计划是一切软件测试活动开始前的准备工作,通过对测试计划的分析与编写,实际是让相关参与者提前了解未来软件测试过程中应该重点关注的各项内容。所以所有软件测试工程师必备的一项技能。 软件测试工程师高级视频教程第五章:本章的内容主要带领各位同学去一起关注了解关于需求的各项知识。需求是测试工程师工作过程中的行动纲领,需要测什么,为什么需要测都是与需求中的具体要求相关。同时,需求过程中引入缺陷的几率很大,而发现后修复其的成本却很低,所以了解需求,掌握需求分析方法,熟练编写测试需求也是软件测试工程师的重要技能之一。 目前软件测试人才的缺口在30万人以上,IT行业国内外巨头正在加紧争夺软件测试人才,华为一次抛出50名软件测试人员的招聘大单,而联想、用友、

《软件测试技术》期末复习题+参考答案

单项选择题:共20小题,每小题1 分,满分20分;请将答案填入题后括号中。 1.在软件生命周期的哪一个阶段,软件缺陷修复费用最低( A ) (A)需求分析(编制产品说明书)(B)设计 (C) 编码(D)产品发布 2.单元测试中用来模拟被测模块调用者的模块是( C ) (A) 父模块(B)子模块 (C)驱动模块(D)桩模块 3.为了提高测试的效率,应该( D ) (A)随机地选取测试数据; (B)取一切可能的输入数据作为测试数据; (C)在完成编码以后制定软件的测试计划; (D)选择发现错误可能性大的数据作为测试数据。 4.侧重于观察资源耗尽情况下的软件表现的系统测试被称为( B ) (A)强度测试(B)压力测试 (C) 容量测试(D)性能测试 5.必须要求用户参与的测试阶段是( D ) (A)单元测试(B)集成测试 (C) 确认测试(D)验收测试 6.软件测试员究竟做些什么。( C ) (A)软件测试员的目的是发现软件缺陷 (B)软件测试员的目的是发现软件缺陷,尽可能早一些 (C)软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复 (D)软件测试员的目的是发现软件缺陷,尽可能早一些,并将其得以修复 7.下面四种说法中正确的是( C ) (A)因果图法是建立在决策表法基础上的一种白盒测试方法; (B)等价类划分法是边界值分析法的基础; (C)健壮性等价类测试的测试用例要求在有效等价类中取值; (D)在任何情况下做黑盒测试皆应首先考虑使用错误推断法。 8.不属于单元测试内容的是( A ) (A)模块接口测试(B)局部数据结构测试 (C) 路径测试(D)用户界面测试 9.划分软件测试属于白盒测试还是黑盒测试的依据是( C ) (A)是否执行程序代码 (B)是否能看到软件设计文档 (C)是否能看到被测源程序 (D)运行结果是否确定 10.下列项目中不属于测试文档的是( C ) (A)测试计划(B)测试用例 (C) 程序流程图(D)测试报告 11.几乎没有产品计划、进度安排和正规的开发过程的软件开发模式是( B ) (A)大棒模式(B)边写边改模式 (C) 瀑布模式(D)快速原型开发模式 12.如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的( A ) (A)判定覆盖(B)条件覆盖 (C) 判定/条件覆盖(D)组合覆盖 13.下列说法不正确的是( D ) (A)测试不能证明软件的正确性; (B)测试员需要良好的沟通技巧; (C)QA与testing属于一个层次的概念; (D)成功的测试是发现了错误的测试。 14.对Web网站进行的测试中,属于功能测试的是( B ) (A)连接速度测试(B)链接测试 (C)平台测试(D)安全性测试 15.在进行单元测试时,常用的方法是( B ) (A)采用黑盒测试,辅之以白盒测试; (B)采用白盒测试,辅之以黑盒测试; (C)只使用黑盒测试; (D)只使用白盒测试。

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

期末试卷先锋学院2011-2012学年第二学期 《软件测试技术》试题库答案 一、填空题(每空2分,共15空,分数为30分) 1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支至少被执行一次。 2、黑盒测试的具体技术方法等价类划分法、边界值分析法、决策表法、因果图法。 3、黑盒测试又称之为功能测试。 4、等价类划分有两种不同的情况:有效等价类和无效等价类。 5、根据覆盖目标的不同,逻辑覆盖又可分为:语句覆盖,判定覆盖,条件覆盖,路径覆盖条件组合覆盖,判断/条件覆盖。 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类白盒 测试工具、黑盒测试工具和测试管理工具。 7、软件测试是为发现程序中的错误而执行程序的过程。 8、测试用例是由测试输入数据和预期的输出数据两部分组成。 9、白盒测试又称为结构测试,可以分为静态测试和动态测试两大类。 10、软件是包括程序、数据、相关文档的完整集合。 11、边界值分析法属于黑盒测试。 12、单元测试是以详细设计说明书为指导,测试源程序代码。 13、集成测试以概要设计说明书指导,测试软件结构。 14、确认测试以需求分析说明书为指导。 15、软件开发的基本过程需求分析、概要设计、详细设计、编码、测试、 维护。

16、代码复审属于静态测试,不实际运行程序。 17、集成测试把模块组成成系统的测试方式:一次性集成测试和。 18、黑盒测试有两种基本方法,即:通过测试和失败测试。增量式集成测试 20、Junit是一个开放源代码的 java 测试框架,用于编写和运行可重复的测试。 21、在Junit中3.8中testXXX()测试方法必须满足几个条件:public , void 和无方法参数。 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试?(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法?(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖3.在Assert类中断言对象为NULL是_____。(C) A.assertEquals B.assertTrue C.assertNull D.fail 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A) A.系统测试B.集成测试 C.单元测试D.功能测试 5.在Assert类中断言两个对象相等是_____。(A) A.assertEquals B.assertTrue C.assertSame D.fail 6.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B)

软件测试技术经典教程笔记(修).docx

第一章基础知识 1.1、软件 1)、软件=程序+文档 2)、分类 功能:系统+应用 架构:单机+C/S+B/S 用户:产品+项目 规模:小型+中型+大型 1.2、Bug 1)、类型一(广义上,软件生命周期,与用户需求不符的问题): 完全没有实现的功能 基本实现功能,但有功能上或性能上的问题 实现了用户不需要的功能 2)、类型二(测试执行阶段的问题) Defect---------Requirements&Design Error-----------Development Bug------------Testing Failure---------Post production 1.3、测试 1)、概念: 测试是为了检验实际的软件是否符合用户需求,所以不能为了发现错误而发现错误。使用人工或自动手段,来运行或测试某个系统的过程。 2)、测试环境:硬件+软件+网络 要求:真实(项目、产品)+干净+无毒+独立(测试与开发) 1.4、测试用例 测试用例=输入+输出+测试环境 便于团队交流,便于重复测试,便于跟踪统计,比纳与用户自测 开发生命周期 需求分析→概要设计→详细设计→编码→维护 测试生命周期 测试计划→测试设计→测试执行→测试评估 需求分析和测试计划完成后,根据《系统需求规格说明书》和软件原型(DEMO)写测试用例 1.5 其他 1)、测试人员素质要求:细心、耐心、信心、服务意识、团队合作意识、沟通能力 2)、如何成为优秀的测试工程师:1、不断学习充电2、阅读原版书籍3、阅读缺陷管理系 统中的缺陷报告4、阅读高手写的测试用例5、学习产品相关 的业务知识

1.6 软件测试的基本规则 1) Zero Bug 与Good Enough Good Enough原则:不充分测试是不负责任,过分的测试是一种资源浪费。 参考:*遗留bug不超过10个,严重的不超过5个 *测试用例执行率为100%,通过率为95% *单元测试,关键模块语句覆盖率达到100%,分支覆盖率达到85% 2) 不要视图穷举法 3) 开发人员不能既是运动员又是裁判员 4) 软件测试要尽早执行 一般情况下,软件80%的缺陷集中在20%的模块中。 7) 缺陷具有免疫性 缺陷具有免疫性,需要根据新版本修改维护测试用例,另外,有一个值得注意的经验:没修复3-4个bug,可能会产生一个新bug。 第二章测试分类 2.1、是否运行程序 Static Testing------------代码规范、界面、文档 Dynamic Testing--------运行程序 2.2、根据阶段分类 Unit Testing(单元测试)----------10% 最小模块,依据源程序和《详细设计》 白盒测试人员||开发人员 编译代码→静态测试→动态测试 桩模块(Stub)、驱动模块(Driver) Integration Testing(集成测试)----------20% 模块间的接口,依据单元测试的模块和《概要设计》 白盒测试人员||开发人员 一般单元和集成同步进行 System Testing(系统测试)----------40% 整个系统(功能、性能、软硬件环境),依据《需求规格说明书》 黑盒测试工程师 Acceptance Testing(验收测试)----------20% 整个系统(功能、性能、软硬件环境),依据《需求规格说明书》和验收标准

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

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、软件测试的目的是发现软件错误 2、按照测试组织,可将测试划分为开发测试、用户测试、第三方测试。下面关于开发测试措施描述正确的是1、开发方测试通常也叫“验证测试”或“Alpha测试”。2、用户测试又称为“Beta测试”。 3、开发方测试可以从软件产品编码结束后开始,或在模板(子系统)测试完成后开始,也可以再确认测试过程中产品达到一定的稳定和可靠程度之后再开始。 4、用户测试主要是把软件产品有计划地免费分发在目标市场,让用户大量使用,并评价,检查软件。 3、V模型描述了软件基本额的开发过程和测试行为,描述了不同的测试阶段与开发过程各阶段的对应关系,其中,集成测试阶段对应的开发阶段是概要设计阶段,系统测试阶段对应的开发阶段是软件概要设计阶段,功能测试阶段对应的开发阶段是详细设计阶段,单元测试阶段对应的开发阶段是编码阶段。 4、广义的软件测试由“确认”、“验证”、“测试”三个方面组成。其中“确认”是想证实在一个给定的外部环境中软件的逻辑正确性,检查软件在最终的运行环境上是否达到预期的目标。而验证是试图证明软件在软件生命周期各个阶段以及阶段间的逻辑性、完备性和正确性。 5、白盒测试也称结构测试或逻辑驱动测试,典型的白盒测试方法包括静态测试和动态测试。其中,静态测试除了静态结构分析法、静态质量度量法外,还有代码检查法。 6、软件质量保证的主要目标包括1、通过预防、检查与改进来保证软件质量。2、保证开发出来的软件和软件开发过程符合相应标准与规则。3、确保项目组制定的计划、标准和规程适合项目需要,同时满足评审和审计需要。 7、关于软件测试与质量保证,正确的是软件测试是软件质量保证的重要手段。软件测试是关注具体结果是否符合标准,软件质量保证是关注过程是否符合规定。 8、设计功能测试用例的根本依据是用户需求规格说明书。 9、软件测试原则中指出“完全测试是不可能的”,主要原因是输入量太大,输出结果太多以及路径组合太多。 10、以下关于设计功能测试用例的叙述,功能测试用例中不包括功能的依从性测试用例是不正确的。 11、以下关于不同类型的软件测试的叙述,正确的是确认测试是通过检验和、或检查所提供的客观证据,证实软件是否满足特定预期用途的需求。 12、对需求说明书评测的内容包括1、系统定义的目标是否与用户的需求一致。2、被开发项目的数据流与数据结构是否足够、确定。3、与所有其他系统交互的重要接口是否都已经描述。4、主要功能是否已包括在规定的软件范围之内,是否都已经充分说明。 13、有关评估系统效率质量特效,正确的是响应时间和交易执行吞吐量都是用来衡量系统执行快慢的。 14、关于软件系统安全防护策略的叙述中,1、网闸的主要目的是实现内网和外网的物理隔离。2、防火墙的主要目的是实现内网和外网的逻辑隔离。3、安全日志属于被动防护策略。 4、入侵检测系统通常部署在防火墙之内。 15、目前信息系统所使用的主要用户认证机制,身份识别标识包括指纹、智能卡、数字证书。

最全软件测试基础教程(2011版)

软件测试基础教程 测试的基本概念 测试是软件生存周期中十分重要的一个过程,是产品发布、提交给最终用户前的稳定化阶段。 1、测试的分类: 从测试方法的角度可以分为手工测试和自动化测试。 手工测试:不使用任何测试工具,根据事先设计好的测试用例来运行系统,测试各功能模块。 自动化测试:利用测试工具,通过编写测试脚本和输入测试数据,自动运行测试程序。目前最常用的自动化测试工具是基于GUI的自动化测试工具,基本原理都是录制、回放技术。 从整体的角度可以分为单元测试、集成测试、系统测试、确认测试。 单元测试:是针对软件设计的最小单位—程序模块,进行正确性检验的测试工作。一般包括逻辑检查、结构检查、接口检查、出错处理、代码注释、输入校验、边界值检查。 单元测试的依据是系统的详细设计;一般由项目组开发人员自己完成。 集成测试:在单元测试的基础上,将所有模块按照设计要求组装进行测试。一般包括逻辑关系检查、数据关系检查、业务关系检查、模块间接口检查、外部接口检查。 系统测试:系统测试是在所有单元、集成测试后,对系统的功能及性能的总体测试。 确认测试:模拟用户运行的业务环境,运用黑盒测试方法,验证软件系统是否满足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。 从测试原理上分为:白盒测试、黑盒测试和灰盒测试。 白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子, 在完全不考虑程序内部结构和内部

2015--软件测试--期末重点复习资料

第一章 1.软件测试正反两方面的观点 正面观点:Bill Hetzel博士(软件测试领域的先驱,正向思维代表)主要观点是:软件测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作。 反面观点:Glenford J. Myers(反向思维的代表): 观点:测试是为了证明程序有错,而不是证明程序无错误。 2.软件测试的定义 IEEE 的定义: ?在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价。 ?分析某个软件项以发现现存的与要求的条件之差别(即错误)并评价此软件项的特性。 正确的定义:软件测是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体。 3.软件测试在软件开发中的地位 软件开发是生产制造软件;软件测试是验证开发出来软件的质量。类比传统加工制造企业,软件开发人员就是生产加工的工人,软件测试人员就是质检人员。 关系应该是: 1、没有软件开发就没有测试,软件开发提供软件测试的对象。 2、软件开发和软件测试都是软件生命周期中的重要组成部分

3、软件开发和软件测试都是软件过程中的重要活动。 4、软件测试是保证软件开发产物质量的重要手段。(网上) 4.P11 V模型 第二章 1.软件缺陷 定义:IEEE STD 729(1983)对软件缺陷给出了一个标准的定义: 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题。 从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。主要类型:软件缺陷的主要类型/现象有: ?功能、特性没有实现或部分实现; ?设计不合理,存在缺陷; ?实际结果和预期结果不一致; ?运行出错,包括运行中断、系统崩溃、界面混乱;

软件测试技术基础课后习题答案[1]

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

软件工程(清华钱乐秋版)期末复习重点

1、什么是软件工程 在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。 2、软件生存周期分哪几个阶段分别简述各个阶段的任务。 答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。 A 计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机 系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。 B 需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面 等要求,生成软件需求规约。 C 软件设计只要解决待开发软件“怎么做”的问题。软件设计通常可分为系统设计和详细设 计。系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构。详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。 D 编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。 E测试阶段的任务是发现并纠正软件中的错误和缺陷。测试主要包括单元测试、集成测试、确认测试和系统测试。 F软件完成各种测试后就可交付使用,在软件运行期间,需对投入运行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时,对软件进行修改。 3、简述各类软件过程模型的特点。 答:典型的软件过程模型有:瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。 A瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是: 接受上一阶段活动的结果作为本阶段活动的输入; 依据上一阶段活动的结果实施本阶段应完成的活动; 对本阶段的活动进行评审; 将本阶段活动的结果作为输出。 B 增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软 件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。 C 原型方法从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。 然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建模型。被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下

软件测试期末考试(含答案)分析

1. 软件缺陷是由很多方面造成的,以下哪个方面是造成软件缺陷的最多 的地方( A ) A. 规格说明书 B. 系统设计结果 C. 编写代码 D. 其他 2. 覆盖准则最强的是( D ) A. 语句覆盖 B. 判定覆盖 C. 条件覆盖 D. 路径覆盖 3. 实际的逻辑覆盖测试中,一般以( C )为主设计测试用例。 A. 条件覆盖 B. 判定覆盖 C. 条件组合覆盖 D. 路径覆盖 4. 发现错误能力最弱的覆盖准则是( A )。 A. 语句覆盖 B. 判定覆盖 C. 条件覆盖 D. 路径覆盖 5. 单元测试所使用的主要测试方法是( B ) A. 黑盒测试 B. 白盒测试 C. 集成测试

6. 对于软件缺陷的修复费用,在哪个阶段的费用花费最小( A ) A. 分析阶段 B. 设计阶段 C. 编码阶段 D. 发布阶段 7. 静态测试的主要对象是( AB ) A. 代码检查 B. 代码风格与规范 C. 软件的功能 D. 设计的合理性 8. 单元测试主要测试是模块在( ABC )上的错误。 A. 语法 B. 格式 C. 逻辑 D. 功能 9. 单元测试主要由( C )完成?其中( A )起主要作用。 A .开发人员 B.测试人员 C.开发人员和测试人员 D.以上都不对 10. 集成测试所使用的主要测试方法是( A )。 A. 黑盒测试 B. 静态测试 C. 动态测试

11. 系统测试主要包括包含了多种测试活动,主要分为( A. 功能性测试 B. 非功能性测试 C. 回归测试 D. 单元测试 12. 系统集成测试常见的有哪几种不同模式( AB )。 A.非渐增式测试模式 B.渐增式测试模式 C.独立测试模式 D.非独立测试模式 13. 软件的兼容性测试包括( AD )。 A. 向前和向后兼容 B. 多语言测试 C. 多版本测试 D. 横向测试 14. 软件的缺陷通常集中在( AB )阶段。 A. 需求分析 B. 系统设计 C. 编写代码 D. 软件测试 15. 对于一些关键代码或新人写的代码,主要采取( A. 走查 B. 会议审查 C. 代码互评 16. 在集成测试中,主要的集成方法有( ABCD )。 AB )。 B )方式。

(完整版)软件测试试题及答案

太原理工大学软件测试技术 适用专业:软件工程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.1 软件质量至关重要 软件无处不在,软件越来越复杂、功能越来越强,软件的影响越来越大,软件的受众越来越多。人们对软件越来越依赖,但是软件是人编写的 1.1.1 软件错误案例研究 Disney的狮子王1994-1995,Intel 奔腾浮点运算1994,美航天局火星极地登陆1999,爱国者导弹防御系统1991,千年虫约1974,“冲击波”计算机病毒2003,放射性设备治死 1.2 何谓软件缺陷 通通称为:软件缺陷(Bug) 1.2.1 软件缺陷的定义 软件缺陷对应于需求(功能)规格书 (1)软件未达到规格书标明的功能 (2)软件出现了规格书标明不会出现的错误 (3)软件功能超出规格书指明范围 (4)软件未达到规格书虽未指出但应达到的功能 (5)软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好 1.3 软件缺陷出现的原因 (1)系统分析的原因 对产品的理解不全面、不到位; 需求不断改动 开发团队重视程度、沟通不够 (2)系统设计的原因 说不出来就做不出来 1.4 软件缺陷的修复费用 (1)费用呈几何级数增加 需求阶段:1 设计阶段:3-6 编程阶段:10 内部测试:20-40 外部测试:30-70 产品发布:40-1000 (2)费用增加的原因 软件范围扩大 关联增大 熟悉程度减少 模块间影响扩大

1.5 软件测试员的职责 观点1: 试图验证软件是“工作的”观点2: 设法证明软件是“不工作的” (1)发现软件缺陷(2)尽早地发现缺陷(3)确保发现的缺陷被修复 找出软件缺陷,尽可能早一些,并确保其得以修复 1.6 软件测试员应具备的素质 (1)专业技能: 软件工程知识,软件相关知识,熟悉编程知识,相关的业务背景知识 (2)基本素质 有条理地思维,打破砂锅问到底,细心、责任心,有幽默感 (3)专业素质: 探索精神,善于发现缺陷,不懈努力,创造性,追求完美,判断准确,老练稳重,有说服力1.7 软件测试原则————原则是指导测试实践纲领性的指导 1、完全测试是不可能的 输入量、输出量、实现途径多,提交的产品是可接受的,而不是没有缺陷的 2、测试无法显示潜伏的软件缺陷 可报告已发现的缺陷,却无法报告潜伏的缺陷;报告的内容:根据对发现的缺陷进行分析… 3、找到的缺陷越多,说明缺陷越多 一般情况下,缺陷和寄生虫一样,成群出现,程序员的疲倦,程序员常犯同样的错误 经验: 成群的出现可能是大灾难的征兆 4、杀虫剂怪事——软件测试越多,其免疫力越强 出现的原因:相同的方法重复使用,人的因素缺陷性质的因素 应对方法:变换测试方法、测试程序 5、并非所有的缺陷都能修复 没有足够的资源,不算真正的缺陷(也许可说成一项功能),修复的风险太大,不值得修复(商业风险决策)是否修复的决策,需要有项目管理、测试员、程序员共同参与 6、软件测试的其他原则 事先定义好质量标准;测试要随开发的启动而尽早开始;第三方测试更客观、更有效;重视测试计划、重视文档 7、测试是一项讲究条理的技术专业 2.2 何谓软件工程 何谓工程的方法 工程不同于科研、创造 工程:受资源限制、成熟的、可重复的、只许成功 明确地定义试图解决的问题,然后使用和开发标准的工具和技术来解决之 内容:理论、方法学、技术、工具、管理、组织 软件工程定义 系统的、规范的、定量的方法在软件的开发、操作和维护中的应用(IEEE610.12-1990定义)多人构造多版本软件(Parnas定义) 2.1 软件工程简史

软件测试期末复习

一、单项选择题:共20小题,每小题2 分,满分40分。 1.软件测试按照测试层次可以分为( C ) A.黑盒测试、白盒测试功能性测试和结构性测试 件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(T) 2.软件质量保证和软件测试是同一层次的概念。(F) 3.我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软 件可以没有缺陷。(F) 4.程序员兼任测试员可以提高工作效率。(F) 5.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(T ) 6.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。 ( T ) 7.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。T 8.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评 估。(T ) 9.调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一 个未知的条件开始,结束的过程不可预计。( F) 10.白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。 ( F) 11.在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测 试方法。(∨)

12.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避 检测。(∨) 13.测试用例的数目越多,测试的效果越好。( x ) 14.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。( x ) 15.单元测试属于动态测试。(∨) 16.验收测试是以最终用户为主的测试。(∨) 17.没有发现错误的测试是没有价值的。(∨) 18.可以把不合格的开发人员安排做测试。( x ) 19.每一个软件项目都有一个最优的测试量。(∨) 20.黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。 (∨) 三、简答题:共4小题,每题5分,满分20分。 1、简单描述一下软件测试工程师一般会承担的一些具体工作。 1:检视代码,评审开发文档(静态测试方法) 2:进行测试设计,写作测试文档(测试计划,测试方案,测试用例等) 3:执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正。 4:通过测试度量软件的质量。 2、黑盒测试与白盒测试各有哪些优缺点 黑盒测试与软件如何实现无关,测试用例开发可以实现并行进行,因此可以压缩总的项目开发时间,缺点:测试用例可以之间可能存在严重的冗余。还会有未测试的软件漏洞。白盒测试局限于已经完成的代码行为当中,离代码太近,如果黑

软件测试技术基础教程

软件测试技术基础教程 软件测试技术基础教程。近来,软件测试行业发展迅速,企业越来越重视测试了。越来越多的人加入了测试大军中,很多人也想通过自学来学习软件测试技术加入这个行业,更多的人开始关注软件测试案例教程,那么软件测试案例教程哪里好呢?软件测试案例教程内容有什么?软件测试案例教程学什么?下面我为大家简要介绍一下软件测试案例教程——黑盒测试和白盒测试 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。 软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误: 1、是否有不正确或遗漏的功能? 2、在接口上,输入是否能正确的接受?能否输出正确的结果? 3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

4、性能上是否能够满足要求? 5、是否有初始化或终止性错误? 软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查: 1、对程序模块的所有独立的执行路径至少测试一遍。 2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。 3、在循环的边界和运行的界限内执行循环体。 4、测试内部数据结构的有效性,等等。

软件测试技术基础教程(第2版)-习题答案

软件测试技术基础教程(第2版)-习题答案

第一章软件测试理论 一、选择题 1、C 2、A 3、D 4、B 5、D 6、 D 7、B 8、B 二、简答题 1. 参考答案: 软件测试是伴随着软件的产生而产生的。在软件行业发展初期,没有系统意义上的软件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。 到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系。在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了QA或者SQA部门。后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)则从QA中分离出来成为独立的组织职能。 到了20世纪80年代初期,一些软件测试的基础理论和实用技术开始形成,软件测试作为软件

质量保证(SQA)的主要职能,包含软件质量评价的内容。软件测试已有了行业标准(IEEE/ANSI )。 在我国,软件测试目前还没有形成一个真正的产业,尚处于起步阶段。 但是,在国内,现在在软件测试行业中各种软件测试的方法、技术和标准都还在探索阶段。 总之,国内软件测试行业与一些发达国家相比还存在一定的差距。 2. 参考答案: 软件缺陷造成的修复费用随着时间的推移呈指数级地增长,如下图所示。 3. 参考答案: 软件测试的复杂性体现在:

?不可能对程序实现完全测试。 ?杀虫剂现象,即为了克服被测试软件的免疫力,软件测试员必须不断编写新的测试程 序,对程序的各个部分进行不断测试,以避 免被测试软件对单一的测试程序具有免疫 力而使软件缺陷不被发现。 ?软件测试的代价不容易掌握,因为随着测试量的增加,测试成本将呈几何数级上升,而 软件缺陷数量降低到某一数值之后将没有 明显的变化,寻求最优测试点,掌握好测试 工作量是至关重要的。 ?在实际操作过程中,测试人员要进行正确的判断,合理的取舍,根据风险分析来决定哪 些故障需要修复,哪些故障可以不修复,即 并不是所有的软件缺陷都需要被修复。 4. 参考答案: 软件测试是软件生命期中费用消耗最大的环节。测试费用除了测试的直接消耗外,还包括其他的相关费用。影响测试费用的主要因素有:(1)软件的功能,软件产品需要达到的标

《软件测试技术基础教程》习题解答

第一章软件测试理论 一、选择题 1. 软件测试的目的是 C 。 A.表明软件的正确性B.评价软件质量 C.尽可能发现软件中的错误D.判定软件是否合格 2. 下面关于软件测试的说法, A 是错误的。 A.软件测试是程序测试 B.软件测试贯穿于软件定义和开发的整个期间 C.需求规格说明、设计规格说明都是软件测试的对象 D.程序是软件测试的对象 3. 某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证: ①经过自己测试的软件今后不会再出现问题; ②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结; ③承诺不需要其他人员,自己就可以独立进行测试工作; ④发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休; 你认为应聘者甲的保证 B 。 A.①、④是正确的B.②是正确的 C.都是正确的D.都不正确 4. 软件测试的对象包括 B 。 A.目标程序和相关文档B.源程序、目标程序、数据及相关文档C.目标程序、操作系统和平台软件D.源程序和目标程序 5. 导致软件缺陷的原因有很多,①-④是可能的原因,其中最主要的原因包括 D 。 ①软件需求说明书编写的不全面,不完整,不准确,而且经常更改②软件设计说明书③软件操作人员的水平④开发人员不能很好的理解需求说明书和沟通不足 A.①、②、③B.①、③C.②、③D.①、④ 二、简答题 1.简述软件测试发展的历史及软件测试的现状。 参考答案: 软件测试是伴随着软件的产生而产生的。在软件行业发展初期,没有系统意义上的软件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。 到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系。在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了QA 或者SQA部门。后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)则从QA中分离出来成为独立的组织职能。 到了20世纪80年代初期,一些软件测试的基础理论和实用技术开始形成,软件测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容。软件测试已有了行业标准(IEEE/ANSI )。 在我国,软件测试目前还没有形成一个真正的产业,尚处于起步阶段。 但是,在国内,现在在软件测试行业中各种软件测试的方法、技术和标准都还在探索阶段。

相关文档
最新文档