《测试知识点梳理》PPT课件.pptx_第1页
《测试知识点梳理》PPT课件.pptx_第2页
《测试知识点梳理》PPT课件.pptx_第3页
《测试知识点梳理》PPT课件.pptx_第4页
《测试知识点梳理》PPT课件.pptx_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7组测试知识点梳理 目 录 01 测试基础知识点 02 TestLink 03 MantisBT 测试基础知识点 第一章 软件工程要点 第二章 软件测试基础 第三章 基于生命周期的软件测试 第四章 软件测试分类及分级 第五章 软件缺陷管理 第六章 软件测试过程及其管理 第七章 静态测试 第八章 动态测试 一.软件工程要点 1.软件的定义及分类: (1)概念: 软件(英语:software)是一系列按照特定顺序组织的电脑 数据和指示的集合,是电脑中的非有形部分。 软件并不一定只包括可以在计算机上运行的计算机程序,有 些定义中,与计算机程序相关的文档,一般也被认为是软件 的一部分。简单的说软件就是程序加文档的集合体。 (2)分类: 一般来说,计算机软件划分为系统软件、应用软件和介于 这两者之间的中间件。 2.软件的危机: (1)背景:落后的软件生产方式无法满足迅速增长的计算 机软件需求,从而导致软件开发与维护过程中出现一系列问 题。 (2)现象:成本与进度、用户满意度、质量、可维护性、 文档支持、与时俱进。 成本与进度 对软件开发的成本和进度估计不准 用户满意度 用户对“已完成”的系统软件不满意 质量 缺少完善的质量评审体系和科学的软件测试规程 可维护性 软件难以维护,基本无法重用 文档支持 缺乏必要的文档或文档资料不合格,给开发和维护都带来困难 与时俱进 软件开发的速度跟不上硬件的发展和计算机应用和趋势 (3)解决途径: 组织管理 工程项目管理方法 技术措施 软件开发技术、方法与软件工具 具体办法: 对计算机软件有一个正确的认识(软件程序) 充分认识到软件开发不是某种个体劳动的神秘技巧,而应 是一种组织良好、管理严密、各类人员协同配合、共同 完成的工程项目 推广使用在实践中总结出来的开发软件成功技术和方法 开发和使用更好的软件工具 3.软件工程: (1)方法:将系统化的、严格约束的、可量化的方法应用 于软件的开发、运行和维护,即将工程化应用于软件 (2)工具:软件工具为工程方法提供了自动或半自动的软 件支撑环境 (3)过程:软件工程方法和工具综合起来,以达到合理、 及时第进行计算机软件开发的目的。 方法工具 过程 软件 工程 4.软件生命周期 计划、分析、设计、编码、测试、运行和维护 5.软件生命周期模型: (1)瀑布模型:1970年温斯顿罗伊斯(Winston Royce) 提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一 被广泛采用的软件开发模型。 优点 提供了软件开发的 基本框架 为项目提供了按阶 段划分的检查点 当前一阶段完成后 ,您只需要去关注 后续阶段 缺点 在项目各个阶段之 间极少有反馈 线性模型,早期的 错误可能要等到后 期才能发现,且只 有等到全过程的末 期才能见到开发成 果,增加开发风险 阶段之间产生大量 的文档,增加了管 理工作量 应用场景 在开发时间内需求 没有或很少变化 分析设计人员对应 用领域很熟悉 低风险项目(对目 标、环境很熟悉) 用户使用环境很稳 定 用户除提出需求以 外,很少参与开发 瀑布模型特点及应用场景 (2)V模型: V模型是在瀑布模型基础上演变而来,由于将整个开发过程 构造成一个V字形而得名。V模型强调软件开发的协作和速 度,将软件实现和验证有机地结合起来,在保证较高的软件 质量情况下缩短开发周期。 (3)迭代模型: 迭代包括产生产品发布(稳定、可执行的产品版本)的全部 开发活动和要使用该发布必需的所有其他外围元素。 6.敏捷开发 (1)定义敏捷开发是一种以用户的需求进化为核心、迭代 、循序渐进的开发方法。 软件项目的构建被切分成多个子项目,各个子项目的成果都 经过测试,具备集成和可运行的特征。 (2)敏捷开发与传统开发的区别 变:强调软件开发对未来可能出现的变化和不确定性做出 全面反应 早:总体目标是尽可能早地、持续地对有价值软件的交付 快:主要是用于需求模糊或快速变化的前提下,小型开发 团队的软件开发活动 7.软件系统体系结构应用模式 (1)C/S结构 C/S结构的基本原则是将计算机应用任务分解成多个子任务 ,由多台计算机分工完成,克服了终端/主机结构中主机负 担过重,用户界面不友好等缺点,因而得到了广泛的应用。 (2) B/S(Browser/Server,浏览器/服务器)模式又称 B/S结构 B/S模式是指在TCP/IP的支持下,以HTTP为传输协议,客 户端通过Browser访问Web服务器以及与之相连的后台数据 库的技术及体系结构。 C/S结构 客户/服务器模式 胖客户/瘦服务器 QQ、微信、王者荣耀 B/S结构 浏览器/服务器模式 瘦客户/胖服务器 Web QQ、洛克王国 二.软件测试基础 1.软件测试的定义 评价一个程序和系统的特性或能力,并确认 它是否达到预期的结果,检查是否满足规定 的需求 定义1(Hetzel) 定义2(Myers)测试是为发现错误而执行程序的过程 定义3(现代) 是对软件需求分析、设计、编码的最终复查 的一系列过程,是软件质量保证的关键步骤 2. 软件缺陷产生的原因 需求不清晰、技术问题 3. 软件测试的目的 (1)发现缺陷,提高质量 (2)验证是否满足需求 (3)建立软件质量的信心 4.软件测试依据的一般原则 (1)测试显示缺陷的存在 (2)穷尽测试是不可能的 (3)测试尽早介入 (4)缺陷集群性 (5)杀虫剂悖论 (6)测试活动依赖于测试背景 (7)没有失效不代表系统是可用的 5.软件测试的一般流程 软件测试过程包括: 1. 测试计划和控制 2. 测试需求分析和用例 设计 3. 实现和执行测试用例 4. 评估出口准则和报告 5. 测试结束活动 开始 计划 &控制 控 制 分析 & 设计 实现 & 执行 评估出口准则 & 报告 测试结束活动 结束 三.基于生命周期的软件测试 1.什么是生命周期测试? 如同软件生命周期,可以将软件测试阶段按照软件生命周期 去划分,形成基于生命周期的软件测试,简称生命周期测试 。 2. 生命周期测试的意义? 在软件开发的所有阶段进行测试,被设计用来减少测试成本 测试与开发同步进行,有利于尽早地发现问题,同时缩短项 目的开发建设周期 3.生命周期各阶段的测试工作 阶段 主要 测试 活动 验证和 确认需 求说明 书、制 定测试 计划 验证和 确认设 计文档 、模型 等,测 试设计 及评审 代码、 评审、 搭建环 境、单 元测试 执行测 试、缺 陷管理 安装测 试、确 认产品 培训、 维护、 变更管 理、测 试 需求设计编程测试安装维护 输出 测试需 求、组 织团队 测试计 划 测试方 案、测 试案例 等 测试案 例及缺 陷等 缺陷报 告和测 试报告 安装程 序、安 装文档 、用户 手册等 维护手 册、测 试报告 等 四.软件测试分类及分级 1.软件测试分类 (1)一般分类: 是否关心内部结构:白盒,黑盒,灰盒 开发过程级别:单元,集成,系统,验收 是否执行程序:静态,动态 是否人工干预:手工,自动化 测试实施组织:开发,测试,第三方 (2)CSCI分类:功能性、可靠性、可用性、效率性、可维 护性、可移植性 2.几个概念的理解: (1)基线:实实在在存在的。评审通过的文档可作为基线 (2)里程碑:虚的,人为设定的,根据不同公司不同项目 设的不同 (3)软件配置项:是各种可发测试所包含的程序、数据、 报告、文档的集合 3.软件测试分级 (1)软件生命周期测试的分级 单元测试集成测试 系统测试验收测试 (2)软件错误分级 严重缺陷较严重的缺陷 一般性缺陷较小缺陷其他缺陷 4.对软件测试进行分类与分级的目的? 通过对软件测试进行有目的分类与分级,使我们能够有效地 控制软件的复杂性,强化测试的针对性或目的性,提高测试 管理的科学性,最终确保软件测试的质量。 5.何谓软件配置项? 软件配置缩写为CSCI(Computer Software Configuration Item),是为独立的配置管理而设计的且能满足最终用户要 求的一组软件,简称软件配置项。 在软件开发过程中,产生的所有信息构成软件配置,它们是 :代码、文档、数据等,统称为配置项(Configuration Item,CI) 五.软件缺陷管理 1.何谓软件缺陷?一般如何描述缺陷? (1)从产品内部看,缺陷是软件产品开发或维护过程中存 在的错误、毛病等各种问题;从产品外部看,缺陷是系统所 需要实现的某种功能的失效或违背。 (2)缺陷标题、缺陷标识(ID)、报告人、报告日期、程 序的名称、版本号、配置、缺陷类型、严重性、优先级、关 键词、缺陷描述、重现步骤、结果对比、附件等。 2.软件缺陷的来源有哪些? (1)需求的不完善 (2)编码错误 (3)逻辑设计错误 (4)客户开发者通信失败 (5)对软件需求的故意偏离 (6)不符合文档编制与编码规定 (7)测试过程不足 (8)规程错误 (9)文档编制错误 3、缺陷的分类有哪些?缺陷严重性和优先级的关系? (1)按软件生命周期分 用户需求错误产品需求错误 设计错误编码错误 数据错误发行错误 (2)按软件使用分 功能错误性能错误 界面错误流程错误 数据错误提示错误 常识错误其他错误 (3)按GB/T 15532-2008 分 程序问题文档问题 设计问题其他问题 (4)缺陷严重性与优先级没有必然关系,只有直接的经验 关系,不能说缺陷严重度高其优先级就一定高;也不能说缺 陷严重度低其优先级就一定低。严重度低的其优先级也可能 高,严重度高的其优先级也可能低。比如,百度首页出现了 企鹅,虽然缺陷严重度不能算高,但优先级一定是相当高的 。 4、缺陷报告原则及包含的主要内容? (1)基本原则 尽快报告缺陷 有效描述缺陷(短小、单一、步骤清晰、使用IT业 界惯用的表达术 语和表达方式、明确指明错误类型) 报告缺陷时不做任何评价 确保缺陷可以重现 (2)主要内容 缺陷的标题与简单描述 缺陷的基本信息 复现缺陷的操作步骤 缺陷的实际结果描述、期望的正确结果描述 注释文字和截取的缺陷图像 5.缺陷管理的一般流程 6.你所了解的缺陷管理工具有哪些? (1)开源类:Mantis、禅道、BugZilla、BugFree等; (2)商用类: 国外:HP公司的ALM/QC软件、Compuware公司的 TrackRecord软件、IBM Rational公司的ClearQuese软 件 国内:上海微创公司的BMS软件、北航的软件质量监 控系统QAMonitor 7.Mantis是如何对缺陷进行管理的 答:管理员创建项目之后,项目经理对测试项目进行编辑。 添加分类,还可以设置、修改版本信息。 测试人员(报告人员)发现问题,编写缺陷报告后提交。 开发人员登录后在查看问题页面看到状态为“新建”的bug后 ,打开问题报告详细页面,按照问题重现步骤实现bug,发 现bug可以重现,将缺陷状态改为“已确认”。 项目经理审查后,表示对该bug认可,并将其分派给开发人 员。 开发人员发现分派给自己的问题,将问题解决后更新缺陷报 告,并更新缺陷状态为“已解决”。 测试人员发现bug已经被修复,对该bug进行验证,若验证 未通过,可以重启问题,若通过验证,不进行任何操作。 项目经理发现问题被解决,且未被重启,将该问题关闭。 六.软件测试过程及其管理 1.软件测试过程模型有哪些?之间有什么联系? (1)V模型、W模型、H模型、X模型 (2)V模型和W模型的局限性 串行活动,无法更好适应变更 线性的前后关系,无法有效支持迭代 测试完整性不足 2.软件测试管理的一般流程及包含的主要内容 (1)一般流程 提取测试需求 指定测试计划 制定测试策略和方案 开展测试设计 执行测试用例 分析测试结果 (2)主要内容 项目启动:确定项目组长,进行项目的前期准备; 测试需求分析:以软件开发需求为基础,形成可测试 的内容; 制定测试计划:确定测试范围、测试策略和方法,和 对风险、日程表、资源等进行分析和评估; 测试设计和开发:制定测试的技术方案、设计测试用 例、选择测试工具和写测试脚本等,并且进行评审; 测试实施和执行:建立或设置相关的测试环境,准备 测试数据,执行测试用例,并提交发现的缺陷; 测试结果的审查和分析:分析测试结果,确定产品质 量,提供发布依据 3.制定测试计划的目的?测试计划包含的主要内容? (1)软件测试计划是指导测试过程的纲领性文件,包含了 产品概述、测试策略测试方法、测试区域、测试配置、测试 周期、测试资源、测试交流、风险分析等内容。 (2)主要内容 测试环境 测试基本原理和策略 测试阶段划分 计划要点 功能描述和功能覆盖说明 测试用例清单 测试开始和退出准则 4.用户需求、软件需求、软件测试需求? (1)用户需求:描述了用户使用产品必须要完成的任务, 在软件开发活动中,属于最基本的需求。 (2)软件(系统)需求:描述了软件设计人员、编程人员 必须要完成的任务。通过分析用户需求,把用户的需求转变 成开发设计人员看得懂的软件(系统)需求。 (3)测试需求:描述了软件测试人员必须要完成的任务。 通过分析系统需求,产生测试需求,作为测试活动的指导。 5.测试需求分析的一般过程?怎么获取测试需求? (1)一般过程 收集用户需求编写需求定义文档 编写软件功能说明编写软件需求跟踪矩阵 审核软件需求文档 (2)测试需求收集途径 与被测软件相关的各种文档资料 与客户或系统分析员的沟通 业务背景资料 正式与非正式的培训 6.测试设计环节中需要考虑哪些问题? (1)所设计的测试技术方案是否可行、是否有效、是否能 达到预期的测试目标 (2)所设计的测试用例是否完整、边界条件是否考虑、其 覆盖率能达到多高; (3)所设计的测试环境是否和用户的实际使用环境比较接 近。 其关键是做好测试设计前的知识传递,将设计/开发人员已 经掌握的技术、产品、设计等知识传递给测试人员;同时, 要做好测试用例的审查工作,不仅要通过测试人员的审查, 还要通过设计/开发人员的审查。 7.测试用例、测试数据与测试脚本三者之间的联系 (1)测试用例是为某个特殊目标而编制的一组测试输入、 执行条件以及预期结果,以便测试某个程序路径或核实是 否满足某个特定需求。它构成了设计和制定测试过程的基 础,决定着测试设计和测试开发的类型以及所需的资源。 (2)测试数据是在测试中使用的实际值(集合)或执行测 试需要的元素。测试数据创建要测试的条件(作为输入或 预先存在的数据),并且用于核实特定的用例或需求是否 已经成功得到实施(将实际结果和预期结果相比较)。 (3)测试脚本是自动执行测试过程(或部分测试过程)的 计算机可读指令。测试脚本可以被创建(记录)或使用测 试自动化工具自动生成,或用编程语言编程来完成,也可 综合前三种方法来完成。测试脚本的目的在于以高效率和 有效的方式来实施和执行测试过程。 8.Testlink是如何对测试过程进行管理的。 七.静态测试 1.静态测试的概念和特点有? (1)概念:通常是指不执行程序代码而寻找代码中可能存 在的错误或评估程序代码的过程。 (2)特点: 不必动态地运行程序。 可以人工进行,充分发挥人的思维优势。 不需要特别的条件,容易展开。 对测试人员要求比较高。 2.静态测试的对象和内容有? (1)对象 各种与软件相关的有必要进行测试的产物,比如各类文档、 源代码等。 (2)内容 各阶段评审 一般评审包括:培训评审、同行评审 代码检查 主要检查代码和设计的一致性、代码对标准的遵循、代 码的可读性、代码的逻辑表达正确性,代码的合理性 软件复杂性分析 主要包括软件复杂性度量与控制,面向对象的软件复杂 性度量。 软件质量度量 就是从整体上对软件质量进行评测,用于软件开发中对 软件进行质量控制,并最终对软件产品进行评价和验收 3.什么是同行评审?包含的内容有? 同行评审是由开发软件产品作者以外的其他人检查工作产品 ,以发现缺陷并寻找改进的机会,评审方法是评审参与者通 常采用一行一行仔细阅读被评审对象的形式发现被测对象中 的缺陷,评审的时间点一般设在工作产品到达了一个完成的 里程碑并即将进入下一个开发阶段时 4.同行评审几种类型的特点及区别? 审查小组评审走查同级桌查临时评审 非作者等专家在 内的针对特定对 象进行检查以发 现缺陷的过程, 最正式 一种“轻型审查 ”,可采用审查 的指导方针和 流程 是产品的作者向一 组同事说明该产品 ,希望获得他们的 意见以满足自己的 需要 指除作者以外 只有一位评审 专家对工作产 品进行检查 请团队内其他 同事帮忙,在 短时间内解决 一些问题,最 不正式 审查流程 没有审查那么 正式和严格 没有标准的流程可 循 无标准流程无标准流程 每个阶段需要确 定的内容 会议期间读者 的角色由评审 组长代替 过程由作者主持 只有一位评审 专家 团队同时帮忙 审查原则 发现问题的数 量是审查的2/3 比审查发现的缺陷 数量要少一半 发现问题较少发现问题较少 八.动态测试 1.白盒测试的定义和特点 (1)“白盒”测试又称为结构测试或逻辑驱动测试是一种按 照程序内部逻辑结构和编码结构设计测试数据并完成测试的 一种测试方法。 (2)特点 可以构成测试数据使特定程序部分得到测试 可获得较多工具支持 通常只用于单元测试 2.白盒测试采用的测试方法有哪些?具体说下这些方法。 (1)逻辑覆盖 定义:逻辑覆盖是以程序内部的逻辑结构为基础的 测试方法。 分类:语句覆盖判定覆盖条件覆盖 判定/条件覆盖条件组合路径覆盖 (2)路经测试 定义:根据程序的逻辑控制所产生的路径进行测试 用例设计的方法 分类:基本路径测试 循环路径测试 3.白盒测试和调试有什么区别? (1)白盒测试:由测试人员系统全面地发现问题 (2)调试:由开发人员根据个人经验改正缺陷 4.黑盒测试采用的测试方法?具体说下每种方法的思想 (1)定义:黑盒测试又称功能测试或数据驱动测试 (2)方法: 等价类划分法 等价类,把所有可能的输入数据,即程序的输入域划 分成若干部分,从每一部分中选取少数有代表性的数据做 为测试用例,代表性数据等同于该类中的其他值 边界值分析法 边界值分析法就是对输入或输出的边界值进行测试的 一种黑盒测试方法,稍高于其边界值及稍低于其边界值的 一些特定情况 因果图 是一种利用图解法分析输入的各种组合情况,从而设 计测试用例的方法,该方法充分考虑了输入情况的各种 组合及输入条件之间的相互制约关系。 随机数法 随机测试指测试输入数据是所有可能输入值中随机选 取的,是一种基本的黑盒测试方法。 猜错法 猜错法是基于经验和直觉推测程序中所有可能存在的 各种错误,从而有针对性地设计测试用例的方法。 5.测试用例设计的一般步骤? 测试需 求分析 业务流 程分析 测试用 例设计 测试用 例评审 测试用 例更新 完善 6.测试用例设计的原则和包含的要素? (1)原则:基于测试方法(不同的测试方法) 基于测试需求(单元、集成、配置项、系统) 兼顾测试充分性和效率 测试用例代表性 测试结果的可判定性 测试执行可再现性 (2)要素: 名称和标识测试追踪 用例说明测试的初始化要求 测试输入数据测试执行步骤 测试预期结果评价测试结果的准 前提和约束 测试终止条件 7.测试用例优先级的含义? 测试用例在执行时的优先程度以及用例的重要程度。 8.单元测试、集成测试、系统测试概念? (1)单元测试是针对软件设计的最小单位(组件/模块)进 行正确性检验的测试 (2)集成测试是把已测试过的模块组装起来测试 (3)系统测试是把通过确认测试的软件作为系统的一个元 素,接入系统的实际运行环境中,与系统的其他部分(硬件 、系统、数据库、第三方数据等)结合起来进行测试。 9.回归测试概念 回归测试是指修改了旧代码后,重新进行测试以确认 修改没有引入新的错误或导致其他代码产生错误。自动回归 测试将大幅降低系统测试、维护升级等阶段的成本。 TestLink 1.定义: TestLink基于web的测试管理系统,属于B/S架构(C/S客 户端服务器端架构),用于进行测试过程中的管理 2.功能: (1)测试需求管理 (2)测试用例管理 (

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论