软件测试技术的测试目的

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-09
软件测试概念、理论、方法、目的?

软件测试概念:通过各种手段和测试工具,判断软件系统是否能够满足预期期望。从软件开发的过程按阶段划分有 A.单元测试 B.集成测试 C.确认测试 D.系统测试 E.验收测试 * 测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。 * 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。 * 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。 * 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。 * 系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。 单元测试 (Unit Testing) * 单元测试又称模块测试,是针对软件设计的最小单位 — 程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。 * 单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。 1. 单元测试的内容 * 在单元测试时,测试者需要依据详细设计说明书和源程序清单,了解该模块的I/O条件和模块的逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,使之对任何合理的输入和不合理的输入,都能鉴别和响应。 (1) 模块接口测试 * 在单元测试的开始,应对通过被测模块的数据流进行测试。测试项目包括: – 调用本模块的输入参数是否正确; – 本模块调用子模块时输入给子模块的参数是否正确; – 全局量的定义在各模块中是否一致; * 在做内外存交换时要考虑: – 文件属性是否正确; – OPEN与CLOSE语句是否正确; – 缓冲区容量与记录长度是否匹配; – 在进行读写操作之前是否打开了文件; – 在结束文件处理时是否关闭了文件; – 正文书写/输入错误, – I/O错误是否检查并做了处理。 (2) 局部数据结构测试 * 不正确或不一致的数据类型说明 * 使用尚未赋值或尚未初始化的变量 * 错误的初始值或错误的缺省值 * 变量名拼写错或书写错 * 不一致的数据类型 * 全局数据对模块的影响 (3) 路径测试 * 选择适当的测试用例,对模块中重要的执行路径进行测试。 * 应当设计测试用例查找由于错误的计算、不正确的比较或不正常的控制流而导致的错误。 * 对基本执行路径和循环进行测试可以发现大量的路径错误。 (4) 错误处理测试 * 出错的描述是否难以理解 * 出错的描述是否能够对错误定位 * 显示的错误与实际的错误是否相符 * 对错误条件的处理正确与否 * 在对错误进行处理之前,错误条件是否已经引起系统的干预等 (5) 边界测试 * 注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。 * 如果对模块运行时间有要求的话,还要专门进行关键路径测试,以确定最坏情况下和平均意义下影响模块运行时间的因素。 2. 单元测试的步骤 * 模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。 – 驱动模块 (driver) – 桩模块 (stub) —— 存根模块 * 如果一个模块要完成多种功能,可以将这个模块看成由几个小程序组成。必须对其中的每个小程序先进行单元测试要做的工作,对关键模块还要做性能测试。 * 对支持某些标准规程的程序,更要着手进行互联测试。有人把这种情况特别称为模块测试,以区别单元测试。 集成测试(Integrated Testing) * 集成测试 (集成测试、联合测试) * 通常,在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。这时需要考虑的问题是: – 在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失; – 一个模块的功能是否会对另一个模块的功能产生不利的影响; – 各个子功能组合起来,能否达到预期要求的父功能; – 全局数据结构是否有问题; – 单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。 在单元测试的同时可进行集成测试, 发现并排除在模块连接中可能出现 的问题,最终构成要求的软件系统。 * 子系统的集成测试特别称为部件测试,它所做的工作是要找出集成后的子系统与系统需求规格说明之间的不一致。 * 通常,把模块集成成为系统的方式有两种 – 一次性集成方式 – 增殖式集成方式 1. 一次性集成方式(big bang) * 它是一种非增殖式组装方式。也叫做整体拼装。 * 使用这种方式,首先对每个模块分别进行模块测试,然后再把所有模块组装在一起进行测试,最终得到要求的软件系统。 2. 增殖式集成方式 * 这种集成方式又称渐增式集成 * 首先对一个个模块进行模块测试,然后将这些模块逐步组装成较大的系统 * 在集成的过程中边连接边测试,以发现连接过程中产生的问题 * 通过增殖逐步组装成为要求的软件系统。 (1) 自顶向下的增殖方式 * 这种集成方式将模块按系统程序结构,沿控制层次自顶向下进行组装。 * 自顶向下的增殖方式在测试过程中较早地验证了主要的控制和判断点。 * 选用按深度方向组装的方式,可以首先实现和验证一个完整的软件功能。 (2) 自底向上的增殖方式 * 这种集成的方式是从程序模块结构的最底层的模块开始集成和测试。 * 因为模块是自底向上进行组装,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)已经组装并测试完成,所以不再需要桩模块。在模块的测试过程中需要从子模块得到的信息可以直接运行子模块得到。 * 自顶向下增殖的方式和自底向上增殖的方式各有优缺点。 * 一般来讲,一种方式的优点是另一种方式的缺点。 (3) 混合增殖式测试 * 衍变的自顶向下的增殖测试 – 首先对输入/输出模块和引入新算法模块进行测试; – 再自底向上组装成为功能相当完整且相对独立的子系统; – 然后由主模块开始自顶向下进行增殖测试。 * 自底向上-自顶向下的增殖测试 – 首先对含读操作的子系统自底向上直至根结点模块进行组装和测试; – 然后对含写操作的子系统做自顶向下的组装与测试。 * 回归测试 – 这种方式采取自顶向下的方式测试被修改的模块及其子模块; – 然后将这一部分视为子系统,再自底向上测试。 关键模块问题 * 在组装测试时,应当确定关键模块,对这些关键模块及早进行测试。 * 关键模块的特征: ① 满足某些软件需求; ② 在程序的模块结构中位于较高的层次(高层控制模块); ③ 较复杂、较易发生错误; ④ 有明确定义的性能要求。 确认测试(Validation Testing) * 确认测试又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。 * 对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。 1. 进行有效性测试(黑盒测试) * 有效性测试是在模拟的环境 (可能就是开发的环境) 下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。 * 首先制定测试计划,规定要做测试的种类。还需要制定一组测试步骤,描述具体的测试用例。 * 通过实施预定的测试计划和测试步骤,确定 – 软件的特性是否与需求相符; – 所有的文档都是正确且便于使用; – 同时,对其它软件需求,例如可移植性、兼容性、出错自动恢复、可维护性等,也都要进行测试 * 在全部软件测试的测试用例运行完后,所有的测试结果可以分为两类: – 测试结果与预期的结果相符。这说明软件的这部分功能或性能特征与需求规格说明书相符合,从而这部分程序被接受。 – 测试结果与预期的结果不符。这说明软件的这部分功能或性能特征与需求规格说明不一致,因此要为它提交一份问题报告。 2. 软件配置复查 n 软件配置复查的目的是保证 u 软件配置的所有成分都齐全; u 各方面的质量都符合要求; u 具有维护阶段所必需的细节; u 而且已经编排好分类的目录。 n 应当严格遵守用户手册和操作手册中规定的使用步骤,以便检查这些文档资料的完整性和正确性。 验收测试(Acceptance Testing) * 在通过了系统的有效性测试及软件配置审查之后,就应开始系统的验收测试。 * 验收测试是以用户为主的测试。软件开发人员和QA(质量保证)人员也应参加。 * 由用户参加设计测试用例,使用生产中的实际数据进行测试。 * 在测试过程中,除了考虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性、错误的恢复功能等进行确认。 * 确认测试应交付的文档有: – 确认测试分析报告 – 最终的用户手册和操作手册 – 项目开发总结报告。 系统测试(System Testing) * 系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。 * 系统测试的目的在于通过与系统的需求定义作比较, 发现软件与系统的定义不符合或与之矛盾的地方。 满意的话请采纳!如果还有什么需要帮助的,咨询105 172 1233

软件测试的目的是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。测试是为了证明程序有错,而不能保证程序没有错误。



  • 软件测试目的是( )。
    答:D。【解析】软件测试的目的主要是在于发现软件错误,希望在软件开发生命周期内尽可能早地发现尽可能多的bug。
  • 在软件测试设计中,软件测试的目的是()。
    答:在软件测试设计中,软件测试的目的是()。A.实验性运用软件 B.证明软件正确 C.为了发现软件中的错误 D.发现软件的并处理能力 正确答案:C
  • 软件测试的目的是( )。
    答:D 【解析】软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。
  • 简述进行软件测试的目的。
    答:【答案】:1、测试的目的是为了发现尽可能多的缺陷,不是为了说明软件中没有缺陷。2、成功的测试在于发现了迄今尚未发现的缺陷。所以测试人员的职责是设计这样的测试用例,它能有效地揭示潜伏在软件里的缺陷。
  • 软件测试的目的
    答:软件测试是软件开发过程中的一个重要环节,其主要目的是确保软件的质量和稳定性。1、发现错误和缺陷:软件测试的第一个主要目的是发现软件中存在的错误和缺陷。这些错误和缺陷可能是由于设计、编码或其他原因导致的,通过测试可以及时发现并修复这些问题,确保软件在发布前达到预期的质量标准。2、提高软件质量...
  • 软件测试的目的是什么?
    答:一、软件测试的目的 1)软件测试是为了发现错误而执行程序的过程。2)测试是为了证明程序有错,而不是证明程序无错。(发现错误不是唯一目的)3)一个好的测试用例在于它发现至今未发现的错误。4)一个成功的测试是发现了至今未发现的错误的测试。注意:1、测试并不仅仅是为了要找出错误。通过分析错误...
  • 在软件工程中软件测试的目的是
    答:1、提高软件的质量:软件测试的首要目的是提高软件的质量,即让用户对产品有更好的体验,保证软件的高质量。通过测试,发现软件中存在的问题和缺陷,并及时进行修复和改进,从而提高软件的稳定性和可靠性。2、保证软件的安全:软件测试的另一个重要目的是保证软件的安全。一些软件涉及到敏感信息,如个人信息...
  • 软件测试的目的是为了什么?
    答:1、提高软件的质量 软件测试的首要目的就是提高软件的质量,也就是让用户对产品有更好的体验,保证软件的高质量。2、保证软件的安全 软件测试的第二大目的就是保证软件的安全,有一些软件是经过数据加密的,比如各大银行系统的APP。涉及到资金的支出和存入,对软件的安全性要求是特别高的。现在很火的...
  • 软件测试是软件开发的重要环节,进行软件测试的目的是
    答:软件测试是软件开发的重要环节,进行软件测试的目的是增强软件使用可靠性,发现软件存在的不足和差异,提高软件质量。分析如下:1. 提高软件的可靠性:软件测试有助于提高软件的可靠性,确保软件在实际应用中能够稳定、可靠地运行。通过不同的测试方法,测试人员可以验证软件的各项功能是否按照设计要求正常运作...
  • 软件测试的目标和准则是什么?有哪些测试方法?测试步骤有哪些_百度知 ...
    答:计算机动态测试的主要目的为检测软件运行中出现的问题,较静态测试方式相比,其被称为动态的原因即为其测试方式主要依赖程序的运用,主要为检测软件中动态行为是否缺失、软件运行效果是否良好。3、黑盒测试 通过数据输入观察数据输出,检查软件内部功能是否正常。测试展开时,数据输入软件中,等待数据输出。数据...