当前位置:文档之家› 第02章 软件测试基本概念(1)

第02章 软件测试基本概念(1)

软件测试 第二章 单体测试

第2章单元测试 本章目标 ?能够应用JUnit进行单元测试 ?掌握JUnit+EclEmma进行覆盖率测试 本章单词: unit__________________________ cover_________________________ emma__________________________ assert________________________ equals________________________ same__________________________ plugin________________________ feature_______________________

4.1 单元测试简介 单元测试就是测试程序员依据其所设想的方式开发出来的程序是否产生了预期的结果。单元测试是与软件开发生命周期中的编码阶段结合起来的,并且只有项目具备各个窗体、报表和屏幕之后才能开始进行测试。 编码阶段的基本单元式:程序、函数、过程、窗体、或者图形用户界面。在单元测试中,需要测试以下内容:代码的控制流程、给函数传递参数值、从函数获取值是否正确。另外,单元测试不只限于检查控制流程或者程序的执行,还检查代码是否遵循编码标准。 在对每个模块进行单元测试时,不能完全忽视它们和周围模块的相互关系。为模拟这一联系,在进行测试时,需设置若干辅助测试模块。辅助模块有两种,一种是驱动模块,用以模拟被测试模块的上级模块。驱动模块在单元测试中接收测试数据,把相关的数据传送给被测模块,启动被测模块,并打印出相应的结果。另一种是桩模块,用以模拟被测试模块工作过程中所调用的模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检查被测试模块与其下级模块的接口。 测试中通常使用测试驱动模块和桩模块。测试驱动程序是帮助执行软件以检查其是否工作的软件。此程序提供一个框架来设置参数、执行单元并记录结果。桩模块不是实际单元而是模型,用以取代实际单元并帮助执行测试过程。 开发人员将测试作为编程的必要过程,并采用单元测试来验证它们的代码是否执行预期的功能。开放源码的单元测试框架有JUnit和Nunit。JUnit适用于Java应用程序,它是由SmallTalk的Sunit派生而来。Nunit用于测试.NET程序。PHPUnit是一个轻量级的PHP测试框架。JavaScript有JsUnit,数据库有DBUnit…… 4.2 JUnit 4.2.1 JUnit简介 JUnit是由ErichGamma和KentBeck编写的一个回归测试框架。JUnit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。JUnit是一套框架,继承TestCase类,就可以用JUnit进行自动测试了。 JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。它是

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

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

软件测试 第二章 单体测试

第2章单元测试 本章目标 能够应用JUnit进行单元测试 掌握JUnit+EclEmma进行覆盖率测试 本章单词: unit__________________________ cover_________________________ emma__________________________ assert________________________ equals________________________ same__________________________ plugin________________________ feature_______________________

4.1 单元测试简介 单元测试就是测试程序员依据其所设想的方式开发出来的程序是否产生了预期的结果。单元测试是与软件开发生命周期中的编码阶段结合起来的,并且只有项目具备各个窗体、报表和屏幕之后才能开始进行测试。 编码阶段的基本单元式:程序、函数、过程、窗体、或者图形用户界面。在单元测试中,需要测试以下内容:代码的控制流程、给函数传递参数值、从函数获取值是否正确。另外,单元测试不只限于检查控制流程或者程序的执行,还检查代码是否遵循编码标准。 在对每个模块进行单元测试时,不能完全忽视它们和周围模块的相互关系。为模拟这一联系,在进行测试时,需设置若干辅助测试模块。辅助模块有两种,一种是驱动模块,用以模拟被测试模块的上级模块。驱动模块在单元测试中接收测试数据,把相关的数据传送给被测模块,启动被测模块,并打印出相应的结果。另一种是桩模块,用以模拟被测试模块工作过程中所调用的模块。桩模块由被测模块调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检查被测试模块与其下级模块的接口。 测试中通常使用测试驱动模块和桩模块。测试驱动程序是帮助执行软件以检查其是否工作的软件。此程序提供一个框架来设置参数、执行单元并记录结果。桩模块不是实际单元而是模型,用以取代实际单元并帮助执行测试过程。 开发人员将测试作为编程的必要过程,并采用单元测试来验证它们的代码是否执行预期的功能。开放源码的单元测试框架有JUnit和Nunit。JUnit适用于Java应用程序,它是由SmallTalk的Sunit派生而来。Nunit用于测试.NET程序。PHPUnit是一个轻量级的PHP测试框架。JavaScript有JsUnit,数据库有DBUnit…… 4.2 JUnit 4.2.1 JUnit简介 JUnit是由ErichGamma和KentBeck编写的一个回归测试框架。JUnit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。JUnit是一套框架,继承TestCase类,就可以用JUnit进行自动测试了。 JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。它是

软件测试的名词解释

目录 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)

软件测试基本概念

软件测试基本概念 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) 因果图法: 因果图方法是一种利用图解法分析输入条件的各种组合情况,从

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

软件测试综合试题 一、选择题 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、简单描述一下软件测试的原则? 所有的软件测试都应追溯到用户需求 应当把“尽早地和不断地进行软件测试”作为测试者的座右铭 Good Enough原则 质量第一 充分注意测试中的群集现象 程序员应避免检查自己的程序 有据可依 尽量避免软件测试的随意性,要有预期结果 重视回归测试 妥善保存一切测试过程文档 4、软件测试中验证和确认的区别? Verfication 验证: 是保证软件正确实现特定功能的一系列活动和过程。 目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段设定的目标。 Validation 确认: 是保证软件满足用户需求的一系列的活动和过程。 目的是在软件开发后保证与用户需求符合 5、软件测试按照测试的基本策略可分为哪两种并加以详细说明? 白盒测试: 白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。

黑盒测试: 黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 6、整个软件生命周期中,需要进行哪几项测试? 单元测试、集成测试、系统测试、验收测试 单元测试 单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。 一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。 集成测试 集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。 系统测试 系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。 验收测试 验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。

软件测试的基本概念

[模拟] 软件测试的基本概念 选择题 第1题: 在指定条件下使用时,软件产品维持规定的性能水平的能力。这是指软件外部质量的______。 A.效率 B.易用性 C.功能性 D.可靠性 参考答案:D 软件的效率是指:在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力。软件的易用性是指:在指定条件下使用,软件产品被理解、学习、使用和吸引用户的能力。软件的功能性是指:当软件在指定条件下使用,软件产品提供明确的和隐含的要求的功能的能力。软件的可靠性是指:在指定的条件下使用时,软件产品维持规定的性能水平的能力。 第2题: CMU SEI的watts Humphrey指出:软件产品必须首先提供用户所需要的 ______。 A.性能 B.人机界面 C.可靠性 D.功能 参考答案:D 软件质量是产品、组织和体系或过程的一组固有特性,反映它们满足顾客和其他相关方面要求的程度。如CMU SEI的watts Humphrey指出:“软件产品必须首先提供用户所需的功能,如果做不到这一点,什么产品都没有意义。其次,这个产品能够正常工作。如果产品中有很多缺陷,不能正常工作,那么不管这种产品性能如何,用户也不会使用它。” 第3题: 以下选项中不属于ISO软件质量模型的是______。 A.外部质量模型 B.使用质量模型 C.维护质量模型 D.内部质量模型

参考答案:C 按照ISO/IEC 9126—1:2001,软件质量模型可以分为内部质量模型、外部质量模型和使用质量模型3种,故该题不属于ISO软件质量模型的是C。 第4题: 下列关于软件质量模型的说法中正确的是______。 A.外部质量是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力 B.容错性、通用性、结构性和通信性不全属于软件的质量特性 C.内部质量是表征软件产品在规定条件下使用时,满足规定的和隐含的要求的程度 D.使用质量是软件产品在规定的使用环境中规定的用户能实现规定目标的要求 参考答案:D 外部质量是针对要求的满足程度而言的,是表征软件产品在规定条件下使用时,满足规定的和隐含的要求的程度;而内部质量则主要是根据软件产品的情况给出的,是表征软件产品在规定条件下使用时,决定其满足规定的和隐含的要求的能力的产品属性的全体,故选项A和C叙述刚好颠倒,另外软件的质量特性有很多种,选项B中所述皆属于软件的质量特性,选项D中关于使用质量的叙述是完全正确的。 第5题: 下列选项中不属于使用质量的属性的是______。 A.有效性 B.安全性 C.稳定性 D.满意度 参考答案:C 软件的使用质量属性分为4种:有效性、生产率、安全性和满意度。 第6题: 下列软件属性中,软件产品首要满足的应该是______。 A.功能需求 B.性能需求 C.可扩展性和灵活性 D.容错、纠错能力 参考答案:A

软件测试综合练习题

软件测试综合练习题 一、名词解释题 1、测试用例 2、驱动模块 3、回归测试 4、静态测试 5、桩模块 6、强度测试 7、软件测试 8、自动化测试 9、动态测试 10、独立路径 二、问答题 1、软件测试涉及哪些关键问题? 2、简述软件测试过程的流程。 3、为什么说软件测试必须有预期结果? 4、什么是测试用例? 5、简述黑盒测试和白盒测试概念,并试分析两者的优点和缺点。 6、采用白盒测试法设计测试用例时,常用的逻辑覆盖测试方法有哪几种?请简单描述各种方法的目的。 7、黑盒测试有哪几种方法?请简单描述各种方法的特点。 8、简析已学的各种黑盒测试方法的特点,并分析如何选择恰当的黑盒测试方法? 9、简介WEB应用程序在压力下的常见错误类型。 10、单元测试的主要任务是什么? 11、简述自顶向下增量式测试和自底向上增量式测试两种集成测试方法,并比较两者的优点和缺点。 12、简述在哪些测试模块中应优先考虑引入自动化测试?自动化测试可以带来哪些优点? 13、在软件工程或软件测试中,哪些软件问题被称为软件缺陷? 14、简述软件测试与软件开发各阶段的关系。 15、在测试实施之前,如何才能确定好的测试策略和测试方法? 16、简述软件测试的目的和原则。 17、为什么在单元测试之后要进行集成测试?如何组织集成测试? 18、当WinRunner识别完GUI对象后,会将GUI对象的属性储存在GUI Map File,WinRunner提供二种GUI Map File模式: GUI Map File per Test模式与Global GUI Map File模式。 (1)请比较这两种GUI Map File 模式的优点和缺点。 (2)请分别说明在这两种GUI Map File模式下,WinRunner可以通过哪些方式学习被测软件的GUI? 19、介绍在 WinRunner 中GUI映射文件(GUI Map File)的作用。 20、什么是数据驱动脚本?简介在Winrunner中如何实现数据驱动脚本

软件测试的基本概念(三)

软件测试的基本概念(三) (总分:100.00,做题时间:90分钟) 一、{{B}}选择题{{/B}}(总题数:40,分数:100.00) 1.在指定条件下使用时,软件产品维持规定的性能水平的能力。这是指软件外部质量的______。 ? A.效率 ? B.易用性 ? C.功能性 ? D.可靠性 (分数:2.50) A. B. C. D. √ 解析:[解析] 软件的效率是指:在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力。软件的易用性是指:在指定条件下使用,软件产品被理解、学习、使用和吸引用户的能力。软件的功能性是指:当软件在指定条件下使用,软件产品提供明确的和隐含的要求的功能的能力。软件的可靠性是指:在指定的条件下使用时,软件产品维持规定的性能水平的能力。 2.CMU SEI的Watts Humphrey指出:软件产品必须首先提供用户所需要的______。 ? A.性能 ? B.人机界面 ? C.可靠性 ? D.功能 (分数:2.50) A. B. C. D. √ 解析:[解析] 软件质量是产品、组织和体系或过程的一组固有特性,反映它们满足顾客和其他相关方面要求的程度。如CMU SEI的Watts Humphrey指出:“软件产品必须首先提供用户所需的功能,如果做不到这一点,什么产品都没有意义。其次,这个产品能够正常工作。如果产品中有很多缺陷,不能正常工作,那么不管这种产品性能如何,用户也不会使用它。” 3.ANSI/IEEE STD729—1983给出软件质量的定义:软件产品满足规定的和隐含的与需求能力有关的全部特征和特性。以下叙述中不属于这些质量特征和特性的是______。 ? A.产品功能 ? B.效率 ? C.可实用性 ? D.项目成本和进度

软件测试题目-附答案

1 一、选择题 1.软件测试的目的是( B )。 A )试验性运行软件 B )发现软件错误 C )证明软件正确 D )找出软件中全部错误 2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的。 A )应用范围 B )内部逻辑 C )功能 D )输入数据 3.黑盒法是根据程序的( C )来设计测试用例的。 A )应用范围 B )内部逻辑 C )功能 D )输入数据 4.为了提高软件测试的效率,应该( D )。 A )随机地选取测试数据 B )取一切可能的输入数据作为测试数据 C )在完成编码以后制定软件的测试计划 D )选择发现错误可能性最大的数据作为测试用例 5.与设计测试用例无关的文档是( A )。 A )项目开发计划 B )需求规格说明书 C )设计说明书 D )源程序 6.测试的关键问题是( B )。 A )如何组织软件评审 B )如何选择测试用例 C )如何验证程序的正确性 D )如何采用综合策略 7.软件测试用例主要由输入数据和( C )两部分组成。 A )测试计划 B )测试规则 C )预期输出结果 D )以往测试记录分析 8.成功的测试是指运行测试用例后( B )。 A )未发现程序错误 B )发现了程序错误 C )证明程序正确性 D )改正了程序错误 9.下列几种逻辑覆盖标准中,查错能力最强的是( D )。 A )语句覆盖 B )判定覆盖 C )条件覆盖 D )条件组合覆盖 10.在黑盒测试中,着重检查输入条件组合的方法是( D )。 A )等价类划分法 B )边界值分析法 C )错误推测法 D )因果图法 11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( A )。 A )系统功能 B )局部数据结构 C )重要的执行路径 D )错误处理 12.软件测试过程中的集成测试主要是为了发现( B )阶段的错误。 A )需求分析 B )概要设计 C )详细设计 D )编码 13.不属于白盒测试的技术是( D )。 A )路径覆盖 B )判定覆盖 C )循环覆盖 D )边界值分析 14.集成测试时,能较早发现高层模块接口错误的测试方法为( A )。 A )自顶向下渐增式测试 B )自底向上渐增式测试 C )非渐增式测试 D )系统测试 15.确认测试以( A )文档作为测试的基础。 A )需求规格说明书 B )设计说明书 C )源程序 D )开发计划 16.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。 A )程序内部逻辑 B )程序的复杂度 C )使用说明书 D )程序的功能 17.程序的三种基本结构是( B )。 A )过程子、程序、分程序 B )顺序、选择、循环 C )递归、堆栈、队列 D )调用、返回、转移 18.结构化程序设计的一种基本方法是( D ) A )筛选法 B )递归法 C )归纳法 D )逐步求精法 19.软件调试的目的是( A ) A )找出错误所在并改正之 B )排除存在错误的可能性 C )对错误性质进行分类 D )统计出错的次数 20.程序三种基本结构的共同特点是( D )

软件测试基础知识大全(新手入门必备)

1. 软件生命周期(SDLC)的六个阶段 1、问题的定义及规划 此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。 2、需求分析 在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。 3、软件设计 此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。 4、程序编码 此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。 5、软件测试 在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。 6、运行维护 软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。 2、软件生命周期模型 从概念提出的那一刻开始,软件产品就进入了软件生命周期。在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为"生命周期模型"(Life Cycle Model)。 典型的几种生命周期模型包括瀑布模型、快速原型模型、迭代模型。

软件测试课后习题

第一章软件测试概述 1. 名词解释 软件缺陷: 即计算机系统或者程序中存在的任何一种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷、瑕疵。缺陷会导致软件产品在某种程度上不能满足用户的需要。 软件缺陷的准确定义,通常有以下5 条描述: (1)软件未实现产品说明书要求的功能。 (2)软件出现了产品说明书指明不会出现的错误。 (3)软件超出实现了产品说明书提到的功能。 (4)软件实现了产品说明书虽未明确指出但应该实现的目标。 (5)软件难以理解,不易使用,运行缓慢或者终端用户认为不好 软件测试: 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。通常对软件测试的定义有如下描述:软件测试是为了发现错误而执行程序的过程。 静态测试:静态测试就是通过对被测程序的静态审查,发现代码中潜在的错误。 动态测试:动态测试的对象必须是能够由计算机真正运行的被测试的程序 黑盒测试: 黑盒测试是一种从用户观点出发的测试,又称为功能测试,数据驱动测试和基于规格说明的测试。 白盒测试: 白盒测试基于产品的内部结构来进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分利用。 单元测试: 单元测试是针对每个单元的测试,是软件测试的最小单位。 集成测试: 集成测试是对已测试过的模块进行组装,进行集成测试的目的主要在于检验与软件设计相关的程序结构问题。 确认测试: 是检验所开发的软件能否满足所有功能和性能需求的最后手段,通常采用黑盒测试方法。系统测试: 系统测试的主要任务是检测被测软件与系统的其他部分的协调性。 验收测试: 验收测试是软件产品质量的最后一关。这一环节,测试主要从用户的角度着手,其参与者 主要是用户和少量的程序开发人员。 2. 简述软件测试发展的历史及软件测试的现状

软件测试的方法概念

软件测试的方法概念性: 1、按是否查看程序内部结构分为: (1)黑盒测试(black-box testing):只关心输入和输出的结果 (2)白盒测试(white-box testing):去研究里面的源代码和程序结构 2、按是否运行程序分为: (1)静态测试(static testing):是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档可能存在的错误的过程。 静态测试包括: 对于代码测试,主要是测试代码是否符合相应的标准和规范。 对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。 对于文档测试,主要测试用户手册和需求说明是否真正符合用户的实际需求。(5)动态测试(dynamic testing),是指实际运行被测程序,输入相应的测试数据,检查输出结果和预期结果是否相符的过程 3、按阶段划分: (1)单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。 桩模块(stud)是指模拟被测模块所调用的模块,驱动模块(driver)是指模拟被测模块的上级模块,驱动模块用来接收测试数据,启动被测模块并输出结果。(2)集成测试(integration testing),是单元测试的下一阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部门。 集成测试就是用来检查各个单元模块结合到一起能否协同配合,正常运行。(3)系统测试(system testing),指的是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。 系统测试的主要依据是《系统需求规格说明书》文档。 (4)验收测试(acceptance testing),指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序。 验收测试又分为a测试和beta测试,其中a测试指的是由用户、测试人员、开发人员等共同参与的内部测试,而beta测试指的是内测后的公测,即完全交给最终用户测试。 4、黑盒测试分为功能测试和性能测试: 1)功能测试(function testing),是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。 包括逻辑功能测试(logic function testing) 界面测试(UI testing)UI=User Interface 易用性测试(usability testing):是指从软件使用的合理性和方便性等角度对软件系统进行检查,来发现软件中不方便用户使用的地方。 兼容性测试(compatibility testing):包括硬件(各种品牌手机)兼容性测试和软件兼容性(分辨率、操作系统、)测试 2)性能测试(performance testing) 软件的性能主要有时间性能和空间性能两种 时间性能:主要指软件的一个具体事务的响应时间(respond time)。

软件工程名词解释 (1)

名词解释 1.软件测试(第8章)2.静态测试(第8章)3.动态测试(第8章)4.黑盒测试(第8章)5.白盒测试(第8章)6.语句覆盖(第6章)7.判定覆盖(第6章)8.条件覆盖(第6章)9.判定/条件覆盖(第6章)10.条件组合覆盖(第6章)11.路径覆盖(第6章)12.测试用例(第8章)13.驱动模块(第6章)14.桩模块(第6章)15.单元测试(第8章)16.集成测试(第8章)17.确认测试(第8章)18.渐增式测试(第8章)19.非渐增式测试(第8章)20.调试(第9章)21.人的因素的含义(第11章)22.基线(第12章)23.软件配置管理(第12章24.软件配置项(第12章)25. 软件概要设计(第5章)26. 模块(第5章)27. 模块化(第5章)28. 抽象(第5章)29. 信息隐蔽(第5章)30. 模块独立性(第5章)31. 耦合性(第5章)32. 无直接耦合(第5章)33. 数据耦合(第5章)34. 标记耦合(第5章)35. 控制耦合(第5章) 36. 公共耦合(第5章)37. 内容耦合(第5章)38. 内聚性(第5章)39. 偶然内聚(第5章)40. 逻辑内聚(第5章)41. 时间内聚(第5章)42. 通信内聚(第5章)43. 顺序内聚(第5章)44. 功能内聚(第5章)45. 软件结构图(第5章)46. 结构化设计(第5章)47. 变换流(第6章)48. 事务流(第6章)49. JSP(第6章)50. JSD(第6章) 答案: 1. 软件测试指为了发现软件中的错误而执行软件的过程。它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。 2. 静态测试指被测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。 3. 动态测试指通过运行程序发现错误。 4. 黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。 5. 白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。 6. 语句覆盖指设计足够的测试用例,使被测程序中每个语句至少执行一次。 7. 判定覆盖指设计足够的测试用例,使被测程序中每个判定表达式至少获得一次“真”值或“假”值,从而使程序的每个分支至少都通过一次,因此判定覆盖又称分支覆盖。 8. 条件覆盖指设计足够测试用例,使判定表达式中每个条件的各种可能的值至少出现一次。 9. 判定/条件覆盖指设计足够的测试用例,使得判定表达式中每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。 10. 条件组合覆盖指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至

软件测试基本理论

【下载本文档,可以自由复制内容或自由编辑修改内容,更多精彩文章,期待你的好评和关注,我将一如既往为您服务】 软件测试基本概念 1、软件=程序+文档,软件测试=程序测试+文档测试。 “程序”是指能够实现某种功能的指令的集合,“文档”是指软件在开发、使用和维护过程中产生的图文集合。; 2、软件的分类 按功能分:系统软件、应用软件 按技术架构分:单机版软件、C/S结构软件(C是指客户端,S指服务器端)、B/S 结构软件(B是指浏览器) 按照用户划分:产品软件、项目软件 按开发规模划分:小型、中型、大型 3、BUG的定义:软件的BUG指的是软件中(包括程序和文档)不符合用户需求的问题。常见的软件BUG分三种类型:完全没有实现的功能;基本实现了用户需求的功能;实现了用户不需要的功能。 4、测试环境=软件+网络+硬件。搭建环境:真实、干净、无毒、独立 5、软件环境的分类:软件开发环境软件生产运行环境 6、测试用例:指在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和与其结果!测试用例=输入+输出+测试环境。测试用例有两个模板,word 和excel,前者适合性能测试,后者适合功能测试。 软件测试分类

1、黑盒测试:指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果 白盒测试:指的是把盒子盖打开,去研究里面的源代码和程序结构。 2、静态测试:是指不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。 动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以我们判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序。 注:同一个测试,既有可能属于黑盒测试,也有可能属于动态测试;既有可能属于静态测试,也有可能属于白盒测试。他们之间也有可能交叉。 3、单元测试:编译运行程序——静态测试——动态测试 集成测试:是单元测试的下一个阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部分。 4、系统测试:指的是将整个软件系统看作1个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。 5、验收测试:指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员 共同参与的测试,它也是软件正式交给用户使用的最后一道工序. 验收测试又分为α测试和β测试,其实α测试指的是由用户、测试人员、开发人员等共同参与的内部测试,而β测试指的是内侧后的公测,即完全交给最终用户测试。 功能测试:是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。功能测试又可以细分为很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。

相关主题
文本预览
相关文档 最新文档