当前位置: 首页 > >

软件测试复*知识点

发布时间:

1 软件错误类型:需求错误 、功能与性能 错误 、软件结构错误 、数据错误 、实现 和编码错误 、集成错误 、系统结构错误 、 测试定义与测试执行错误 2 出现错误的原因:交流不够,交流上有误 解或者根本没有进行交流、软件复杂性 、 程序设计错误 、需求的不断变化 、时间压 力 、代码文档不完全 、软件开发工具 3 软件测试的定义是为了发现错误而执行 程序的过程。 4 软件测试的主要作用如下: 测试是执行一个系统或者程序的操作; 测试 是带着发现问题和错误的意图来分析和执 行程序; 测试结果可以检验程序的功能和质 量; 测试可以评估项目产品是否获得预期目 标和可以被客户接受的结果; 测试不仅包括 执行代码,还包括对需求等编码以外的测 试。 5 软件测试的原则:尽早不断测试的原则, IPO 原则,独立测试原则,合法和非合法原 则, 错误群集原则, 严格性原则, 覆盖原则, 定义功能测试原则,回归测试原则,错误不 可避免原则 6 静态分析是不需要执行程序而进行测试的 技术, 其主要功能是检查软件与其描述是否 一致,是否有冲突或是歧义性。静态分析的 主要特征是利用计算机作为工具分析源程 序,而不是运行程序。 7 静态分析的任务:发现程序的错误、寻找 潜伏问题的原因、提供程序的信息、选择测 试用例、为查错做准备 8 动态测试主要特点: 运行被测试程序, 获得程序运行的动态情况 和真实结果,从而进行分析。 必须生成测试用例来运行程序, 测试质量与 测试用例密切相关。 生成测试用例、分析测试结果的工作量大, 使得测试工作消耗较多。 动态测试中涉及人员多、设备多、数据多, 要求有较好的管理制度和工作流程。

9 黑盒测试:对软件的功能和界面的测试, 其目的是发现软件需求或者设计规格说明 中的错误,所以又称功能测试,是一种基于 用户观点出发的测试。在测试期间,把被测 程序看做一个黑盒子, 测试人员并不清楚被 测程序的源代码或者该程序的具体结构, 不 需要对软件的结构有深层的了解, 而是只知 道该程序输入和输出之间的关系, 依靠能够 反映这一关系的功能规格说明书, 来确定测 试用例和推断测试结果的正确性。 黑盒测试 仅在程序接口处进行测试, 只检查被测程序 功能是否符合规格说明书的要求, 程序是否 能适当的接受输入数据并产生正确的输出 信息。 10 黑盒测试的主要内容:接受性测试、 Alpha/Beta 测试、菜单/帮助测试、发行测 试、回归测试、RTM 测试 11 黑盒测试方法: 等价类划分、 边界值分析、 因果图、错误推测、状态测试 12 使用等价类划分设计测试用例:弱等价 类测试、 强等价类测试、 弱健壮等价类测试、 强健壮等价类测试 13 白盒测试:要求测试人员清楚盒子内部 的内容以及内部如何运作, 也就是说白盒测 试法是通过分析程序内部的逻辑与程序执 行路线来设计测试用例的测试方法, 因此白 盒测试也被称为逻辑驱动测试, 以测试的深 度为主。 14 白盒测试的作用:由于软件可能存在缺 陷,所以要花费时间和精力来测试逻辑细 节,软件存在的缺陷主要包括:1.逻辑错误 和不正确的假设。 当设计和实现主流之外的 功能、条件、或控制时,往往出现错误。2. 主观相信不可能执行某条逻辑路径, 但在正 常的情况下可能被执行。 同时控制流和数据 流的一些无意识的假设可能导致设计的错 误,只有通过路径测试才能发现这些错误。 3.随机的错误。当一个程序被翻译成程序设 计语言的源代码时,有可能产生某些错误, 多数可被语法检查机制发现, 但是还有些只 有在进行白盒测试时才可被发现。

15 黑白比较:白盒测试考虑了黑盒测试不 考虑的方面。同样地,黑盒测试也考虑了白 盒测试不考虑的方面。 白盒测试只考虑测试 软件产品, 它不保证完整的需求规格是否被 满足。而黑盒测试只考虑测试需求规格,它 不保证实现的所有部分是否被测试到。 黑盒 测试会发现遗漏的缺陷, 指出规格的哪些部 分没有被完成。 而白盒测试会发现逻辑方面 的缺陷,指出哪些实现部分是错误的。 白盒测试比黑盒测试成本高。 16 白盒测试的优点:能仔细考虑软件的实 现;可以检测代码中的每条分支和路径;揭 示隐藏在代码中的错误; 对代码的测试比较 彻底。 17.白盒测试的缺点: 昂贵; 无法检测代 码中遗漏的路径和数据敏感性错误; 不验证 规格的正确性。 18 黑盒测试的优点:对于子系统甚至系统, 效率要比白盒测试高; 测试人员不需要了解 实现的细节,包括特定的编程语言;测试人 员和编码人员彼此独立; 从用户的视角进行 测试,很容易理解和接受;有助于暴露规格 的不一致或有歧义的问题; 测试用例可以在 规格完成之后马上进行。 19 黑盒测试的缺点:只有一小部分输入被 测试到,要测试每个可能的输入几乎不可 能;没有清晰、简明的规格,测试用例很难 设计; 如果测试人员不被告知开发人员已经 执行过的用例, 在测试数据上会存在不必要 的重复;有很多程序路径没有被测试到;不 能直接针对特定程序段测试, 而这些程序段 可能很复杂,有可能隐藏更多的问题;大部 分和研究相关的测试都是直接针对白盒测 试。 20 单元测试:模块接口测试;数据结构测 试;边界条件测试;独立路径测试;出错处 理测试 21 有效性测试:在模拟的环境下,运用黑 盒测试方法, 确认组装完毕的程序是否满足 软件需求规格说明书列出的要求。 功能性 1. 测试需求 2. 性能测试需求 3. 其它测试需求

22 系统测试的目:是将系统已实现的功能 与其设计目标进行比较, 发现系统与系统定 义不符合或不一致的地方。 系统测试的内容包括: 软件环境、 硬件环境、 业务系统的安装和配置、业务系统的运行。 系统测试的种类:恢复测试;安全测试;强 度测试;性能测试;功能测试;负载测试; 适用性测试;配置测试;兼容性测试;安装 测试;可靠性测试;可用性测试 23 面向对象测试用例设计的主要原则如下: 1.应唯一标识每个测试用例,并且将与被 测试的类显式地关联; 2.应该说明测试的 目的; 3.测试用例内容为:列出所要测试 的对象的专门说明; 列出将要作为测试结果 运行的消息和操作; 列出测试对象时可能发 生的例外情况;列出外部条件(即为了适当 地进行测试而必须存在的外部环境的变 化);列出为了帮助理解或实现测试所需要 的补充信息。 24OOA 测试分为以下五方面: 对象测试; 结构测试;主题测试;属性和实例关联的测 试; 服务和消息关联的测试。 25 类测试的概念:类测试由类和测试体构 成, 测试时通过运行测试体来验证类的实现 和类的描述是否一致,如果类的实现正确, 那么表示该类的所有实例行为也正确。 因此 被测试的类必须有正确而且完整的描述, 也 就是说测试的类在设*锥尾乃幸 素正确而且完整 26 设计测试计划的目的:1.帮助软件测试 2.帮助彼此沟通 3.帮助质量管理 27 测试方案设计的步骤:1 识别:模型化被 测系统并分析其的功能;2 设计:根据外部 观察设计测试用例; 补充: 3 根据代码分析、 用猜测和启发式的方式研究添加测试用例; 4 评估: 给出每一个测试和用例的预期结果, 或者选择一种方法评估测试用例是否通过 测试。

28 测试执行步骤如下: (1)建立一个被测 软件, 最低限度地在操作上可以检验各部分 之间接口的测试用例集(2)执行测试用例 集,评价每一个测试结果是否通过(3)使 用一个覆盖工具, 运行测试用例集来评价所 报告的覆盖(4)如果需要的话,进一步开 发附加的测试用例,检测没被覆盖的代码 (5)如果满足覆盖目标并且所有测试都已 通过,则可以停止测试。 29 测试计划的定义:测试计划明确了预定 的测试活动的范围、途径、资源及进度安排 的文档。它确认了测试项、被测特征、测试 任务、人员安排以及任何突发的风险。 30 测试计划的内容:测试项目简介;测试 项;需要测试的特性;不需要测试的特性; 测试的方法 (测试人员、测试工具、测试 流程) ;测试开始条件和结束条件;测试提 交的结果与格式;测试环境(软件、硬件、 网络) ;测试者的任务、联系方式与培训; 测试进度与跟踪方式;测试风险与解决方 式;本测试计划的审批与变更方式 31 测试用例的作用:1 在进行软件测试时, 可以将部分测试工作外包, 并要求外包人员 根据所设计的测试用例进行测试。 这样做可 以节省测试人员的数量。2 当管理者不知道 软件测试需要多长时间时, 可以通过测试用 例的种类和数量来估算所需要的时间。3 当 测试人员不知道要求测试到何种程度时, 可 以根据测试用例, 基于不同的状况来调整测 试内容。4 由于利用模块化的方式来归纳测 试用例, 所以测试人员可以知道所进行的测 试是属于程序的哪个部分的。5 可以根据测 试用例的执行结果产生测试报告。 32 一个好的测试用例的特征: (1)可以最 大程度地找出软件隐藏的缺陷; (2)可以最 高效率地找出软件缺陷; (3)可以最大程度 地满足测试覆盖要求; (4)既不过分复杂、 也不能过分简单; (5)使软件缺陷的表现可 以清楚的判定; 不包含重复的测试用例; (6) (7)测试用例内容清晰、格式一致、分类 组织。

33 测试的基本内容包括:测试计划、测试 设计、测试执行、测试总结 34 测试结果进行分析:1.能力 2.缺陷和 限制 3.建议 4.评价 35Web 应用开发测试 代码测试: (1)源代码规则分析(2)链接 测试(3)框架测试 组件测试: (1)表单测试; (2)脚本测试; (3)ASP 测试; (4)Cookies 测试; (5) CGI 测试; (6)ActiveX 控件测试。 36Web 负载测试: 负载测试的作用就是在软 件投入使用以前或者软件负载达到极限以 前,通过执行可重复的负载测试,预先分析 出软件可承受的并发用户极限值和性能瓶 颈,以便优化程序。Web 的负载测试是获得 Web 站点的程序性能、 可靠性以及稳定性等 信息的重要手段。 Web 的负载测试一般使用 自动化工具来实现。 37 数据库服务器性能测试:1. 大数据量测 试 2. 大容量数据测试 38 数据库并发控制测试: 1.丢失修改 2.不可 重复读 3.读“脏”数据 39 测试自动化的优点:1.提高测试质量 2.提高测试效率 3.提高测试覆盖率 4.执 行手工测试难以实现的测试 5.更好地利用 全球资源 6.增进了软件开发人员和测试人 员的合作 40 测试自动化过程包括:测试需求分析、 制定测试计划、设计测试用例、执行测试、 撰写测试报告、消除软件缺陷、评估测试结 果。 41 测试自动化的局限性:不能取代手工测 试;工测试比测试自动化发现的缺陷更多; 对测试结果的依赖极大; 测试自动化并不能 提高有效性;测试自动化受制于软件开发; 工具本身不具有想象力 42 测试自动化方法:1.代码分析 2. 捕获和 回放 3.脚本技术 4.数据驱动 5.关键字驱 动 6.业务驱动 7.自动比较 8.测试管理 43 软件质量保证概念:软件质量保证 SQA (Software Quality Assurance) 通过建立一套 有计划的系统方法, 来向管理层确保拟定出 的标准、步骤、实践和方法能够正确地应用 于所有项目。

44SQA 小组的任务:SQA 小组的职责是辅 助软件开发小组获得高质量的软件产品。 SQA 小组负责审计产品线的质量活动并根 据偏差向管理者提出警告。 SQA 小组执行计 划、监督、记录、分析及报告的活动。 45 设计质量的评审内容:1 .软件的规格 说明 2 .可靠性 3 .保密措施实现 4 .操 作特性实施 5 .性能实现 6 .可修改性 7 .可扩充性 8 .互换性 9 .可移植性 10 .可测试性 11 .复用性 12 .互连性 46 白盒测试技术的方法有:程序结构分析, 逻辑覆盖,程序插装,域测试,符号测试, 路径分析 47 单元测试要处理的 5 个问题是:模块接口 测试,数据结构测试,边界条件测试,独立 路径测试,出错处理测试 48 面向对象的测试层次为:类测试,集成 测试,系统测试 49 面向对象的开发模型分为: OOA,OOD,OOP 50 软件测试计划的 3 个目的是:指导软件 测试,促进彼此沟通,协助质量管理 51 定义软件测试用例的六个元组是:测试 索引,测试环境,测试输入,测试操作,预 期结果,评价标准 52web 应用系统的三层结构分别是:表示 层,业务层,数据层 53 自动生成测试用例的工具有基于代码的 测试输入生成工具, 基于界面测试的输入生 成工具和基于规格说明的测试输入生成工 具




友情链接: