




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试 第2讲 软件测试基本概念与原理 内容简介 测试基本概念 测试方法 测试阶段 测试工具简介 测试的基本概念 软件测试的对象 测试用例 测试环境 软件测试与软件开发 软件测试分类 测试的原则 测试工具 测试基本概念测试对象 软件测试不等于程序测试,软件测试贯穿于 软件定义和开发的真个过程。需求分析,概 要设计,详细设计,以及程序编码等各个阶 段所得到的文档,包括需求规格说明,概要 设计规格说明,详细设计规格说明以及源程 序,都是软件测试的对象 测试基本概念测试用例 为特定的目的而设计的一组测试输入、执行 条件、测试环境和预期的结果; 测试用例是执行测试的最小实体; 测试基本概念测试环境 软件 历时数据硬件 网络 测试基本概念软件开发与软件测试 软件测试与软件开发的并行性 需求评审 概要设计 概要设计评审 详细设计 设计走查编码走查 单元测试编码 系统测试 集成测试 测试评审测试过程测试计划 各子模块 测试基本概念软件开发与软件测试 包含测试的完整的开发流程 项目规划 需求分析 概要设计 详细设计 代码编写 产品发布 系统规划 集成规划 单元规划 测试代码编写 测试需求分析 系统测试计划 集成测试计划 单元测试计划 测试基本概念软件开发与软件测试 开发各阶段的测试工作 需求 分析 概要 设计 详细设 计 实现/单 元测试 集成测 试 确认测 试 系统测 试 系统 测试 确认 测试 集成 测试 单元 测试 计划 计划 计划 执行 执行 执行 执行计划/设计 设计 设计 设计 测试基本概念软件开发与软件测试 模型 需求获取 需求分析 需求定义 概要设计 需求分析书 详细设计 概要设计书 编码 详细设计书 程序 软件产品 系统测试 可交付软件 确认测试 已确认软件 集成测试 已集成软件 单元测试 已测试模块 用户 测试基本概念软件开发与软件测试 模型 需求 概要设计 设计 编码单元测试 集成测试 系统测试 验收测试安装 集成 构建设计测试 功能测试 需求测试 测试基本概念软件开发与软件测试 模型 测试准备 测试执行 其他流程(如设计流程) 测试基本概念测试分类 按测试技术 按测试阶段 按测试实施组织 按测试方式 黑盒测试 通过软件的外部表现来发现其缺陷和错误 白盒测试 通过对程序内部结构的分析、检测来寻找问题 测试基本概念测试分类 按测试技术 按测试阶段 按测试实施组织 按测试方式 静态测试 不执行被测试软件,而对需求分析说明书、软件设 计说明书、源程序做结构检查、流程图分析、符号 执行等找出软件错误 动态测试 执行被测程序,通过执行结果分析软件可能出现的 错误 设计并执行测试用例 测试基本概念测试分类 按测试技术 按测试阶段 按测试实施组织 按测试方式 单元测试(模块测试) 集成测试 (组装测试或联合测试) 系统测试 验收测试(有效性测试或合格测试) 测试基本概念测试分类 按测试技术 按测试阶段 按测试实施组织 按测试方式 单元测试(模块测试) 集成测试 (组装测试或联合测试) 系统测试 验收测试(有效性测试或合格测试) 测试基本概念测试分类 按测试技术 按测试阶段 按测试实施组织 按测试方式 开发方测试 用户方测试 第三方测试 u通常也称为内部测试。在 软件开发环境下,由开发者 验证软件的实现是否满足软 件需求说明的要求。 u是开发方对软件进行的自 我检查与验证 u希望通过测试,表明软件 产品中不存在错误的过程, 验证该软件已正确地实现了 用户的要求! 测试基本概念测试分类 按测试技术 按测试阶段 按测试实施组织 按测试方式 开发方测试 用户方测试 第三方测试 u在用户的应用环境下,由 用户通过运行和使用软件, 验证软件实现是否符合自己 预期的要求。 u由用户找出软件的应用过 程中发现的软件的缺陷与问 题,并对使用质量进行评估 。 u希望能通过软件测试暴露 软件中隐藏的错误和缺陷! uAlpha测试 uBeta测试 测试基本概念测试分类 按测试技术 按测试阶段 按测试实施组织 按测试方式 开发方测试 用户方测试 第三方测试 u也称为独立测试。由开发 方和用户之外的测试组织进 行的测试。 u第三方测试是由在技术、 管理和财务上与开发方和用 户方向对独立的组织进行的 软件测试。 u软件质量工程强调开展独 立的验证和确认活动 u兼顾开发方和用户方角度 测试的基本概念测试的原则 应尽早和不断地进行测试 程序员应避免检查自己的程序 从用户和开发者的角度进行软件测试 要站在客户的角度进行测试 测试工具简介 测试工作在软件开发整个过程中占有极为重 要的位置,而全人工测试是非常麻烦的,所 以测试过程的自动化已成为测试发展的重要 方向。测试工具的选择对测试的规范化影响 很大,目前已开发出了各种自动化软件测试 工具,它们为软件测试提供了强有力的支持 测试工具从测试的方法上可以分为两种:白 盒测试工具和黑盒测试工具。 测试工具简介白盒测试工具 白盒测试工具主要有: 内存资源泄漏检查:Numega中的bouncechecker, Rational的Purify等; 代码覆盖率检查:Numega中的truecoverage, Rational的Purecoverage,Telelogic公司的 logiscope,,Macabe公司的Macabe等; 代码性能检查:Numega中的truetime,Rational的 Quantify等; 代码静态度量分析质量检查工具:logiscope和Macabe 等。 测试工具简介黑盒测试工具 黑盒测试工具主要有: 客户端功能测试:MI公司的winrunner, compuware的QACenter,Rational的SQA robot,SQATeamTest,Rational Viaual Test等。 软件性能测试工具:LoadRunner(MI产品)、 Rational Visual Qantify等。 详细参考 黑盒测试 黑盒测试主要是为了发现以下几类错误: 1、是否有不正确或遗漏的功能? 2、在接口上,输入是否能正确的接受?能否输出正确的 结果? 3、是否有数据结构错误或外部信息(例如数据文件)访 问错误? 4、性能上是否能够满足要求? 5、是否有初始化或终止性错误? 白盒测试 白盒测试 这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序 内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路 径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的 状态一致。因此白盒测试又称为结构测试或逻辑驱动测试 。 白盒测试 白盒测试主要是想对程序模块进行如下检查: 1、对程序模块的所有独立的执行路径至少测试一遍。 2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少 测一遍。 3、在循环的边界和运行的界限内执行循环体。 4、测试内部数据结构的有效性,等等。 灰盒测试 灰盒测试 是介于黑、白盒测试之间的,关注输出对于输入的正确性, 同时也关注内部表现。 灰盒测试结合了白盒测试盒黑盒测试的要素.它考虑了用户端 、特定的系统知识和操作环境。它在系统组件的协同性环境 中评价应用软件的设计。 静、动态分析 静态分析(Static analysis) 就是对软件的源代码进行研读,查找错误或收集一些度量数 据,不需要对代码进行编译和执行 动态分析(Dynamic analysis) 就是通过观察软件运行时的动作,来提供执行跟踪,时间分 析,以及测试覆盖度方面的信息。 单元测试 单元测试是对软件设计的最小单位模块进行正确 性检验的测试工作,测试模块在语法、格式和逻辑 上的错误。使用的测试方法以详细设计为基础,了 解I/O条件和模块的逻辑结构。先采用白盒测试法, 尽可能达到穷尽测试,然后再用黑盒测试法,使之 对任何合理和不合理的输入都能够鉴别和响应。 集成测试 用经过单元测试的模块组装成设计所规定的软件系 统的过程就是“集成”。集成测试是组装软件的系统 技术之一。集成测试的主要目标是要求符合实际软 件结构,解决模块接口的一致性问题。例如,数据 穿过模块接口时可能丢失;一模块可能对另一模块 产生副作用;子功能组装以后,可能系统总的功能 达不到;单个模块看来是可以接受的误差,组装以 后积累起来的软件误差可能大到无法让人接受的程 度;全程数据结构可能有问题等,都是集成测试要 解决的问题。 确认测试 集成测试通过以后,软件已经组装成一个完整的软件包,这 时就可以进行确认测试,用确认测试用例测试程序,将结果 与期望值比较,测试软件是否满足需求规格说明的要求,即 验证软件功能与用户要求的一致性。 在软件需求说明书的有效性标准中,详细定义了用户对软件 的合理要求,其中包含的信息是有效性测试的基础和根据。 测试计划给出了必须进行的测试类型,测试过程确定了验证 软件有效性的特殊测试用例。此外,还必须对文件资料是否 完整正确,软件的易移植性、兼容性、出错自动恢复功能和 易维护性进行确认。 系统测试 系统测试是将通过确认测试的软件作为整个计算机系统的一 个元素,与硬件、外设等等其他元素结合在一起,对软件系 统进行整体测试和有效性测试。一般相当大的工作量集中在 软件系统的某些模块与计算机系统中有关设备打交道时的默 契配合方面。例如:当软件系统中调用打印机这种常见输出 外设时,软件系统如何通过计算机系统平台的控制去合理驱 动、选择、设置、使用打印机。又如,新的软件系统中的一 些文件名和计算机系统中别的软件系统中的一些文件完全同 名时,两种软件系统之间如何实现相互协调操作。再如,新 的软件系统和别的软件系统对系统配置和系统操作环境有矛 盾时如何相互协调。如此等等的问题都是系统测试要解决的 问题。 系统测试 系统测试 的内容应包括对各子系统或分系统间 的接口正确性的检查 和 对系统的功能、性能的测试 。系统测试 一般通过以下几种测试 来完成 : 恢复测试 。恢复测试 是要采取各种人工方法使软件出错,而不是能正常 工作,进而检验 系统的恢复能力。如果系统本身能够自动地进行恢复 ,则应检验 :重新初始化、检验 点设置机构、数据以及重新启动是否 正确。如果这一恢复需要人工干预,则应 考虑平均修复时间 是否在限 定的范围内。 结合起来进行。为记录 性能需要再安装必要的仪表或度量性能的软件。 安全测试 。安全测试 就是设置一些企图突破系统安全保密措施的测试 用 例,检验 系统是否有安全保密的漏洞。对某些与人身、机器和环境的安 全有关的软件,还需特别测试 其保护措施和防护手段的有效性和可靠 性。 强度测试 。强度测试检验 系统的能力最高能达到什么实际 限度。在强度 测试 中程序被强制在它的设计 能力极限状态下运行,进而超出极限, 以验证 在超出临界状态下性能降低不是灾难性的。 性能测试 。性能测试检验 安装在系统内的软件运行性能,这种测试 需 与强度测试结 合起来进行。为记录 性能需要再安装必要的仪表或度量 性能的软件。 验收测试 系统测试 完成后,并使系统试运行了预定的时间,企业应 进行验收测试。确认已开发的软件能否达到验收标准,包 括对测试 有关的文档资料的审查验 收和对程序测试验 收。 对于一些关键性软件,还必须按照合同一些严格条款进行 特殊测试,如强化测试和性能降级执行方式测试等,验收 测试应 在软件投入运行后所处的实际生产环境下进行。 验收测试的目的是测试程序的操作和合同规定的要求是否一 致。通常以用户为主体来进行,由用户设计测试用例,确定 系统功能和性能的可接受性,按照合同中预定的验收原则进 行的测试,这是一种非常实用的测试,实质上就是用户用大 量的真实数据试用软件系统。 验收测试 文档资料的审查验 收。所有与测试有关的文档资料是否编写齐全,并得到分类 编写,这些文档资料主要包括各测试阶 段的测试计 划、测试申请及测试报 告 等。 余量要求。必须实际 考察计算机存储空间,输入、输出通道和批处理间接使用 情况,要保持至少有20%的余量。 功能测试。必须根据需求规格说明书中规定的功能,对被验收的软件逐项进行 测试,以确认软件是否具备规定的各项功能。 性能测试。必须根据需求规格说明书中规定的性能,对被验收的软件进行测试 ,以确认该软 件的性能是否得到满足,开发单位应提交开发阶段内各测试阶 段所作的测试分析报告,包括测试中发现的错误类 型,以及修正活动情况。 开发单位必须设计 性能测试用例,并预先征得用户的认可。 强化测试。强化测试必须按照 GB8566-88计算机软件开发规范中的强化测 试条款进行。开发单位必须设计 强化测试用例,其中应包括典型的运行环境 、所有的运行方式,以及在系统运行期可能发生的其他情况。 性能降级执行方式测试。在某些设备或程序发生故障时,对于允许降级运行的 系统,必须确定经用户批准的能够安全完成的性能降级执行方式,开发单位必 须按照用户指定的所有性能降级执行方式或性能降级地方式组合来设计测试 用 例,应设定典型的错误原因和所导致的性能降级执行方式。开发单位必须确保 测试结 果与需求规格说明中包括的所有运行性能需求一致。 安装测试。安装测试的目的不是检查程序的错误,而是检查软件安装时产生的问 题,即程序和库、文件系统、配置管理系统的接口有什么问题。 测试设计逻辑覆盖 逻辑覆盖是对一系列测试过程的总称,它是在使用白 盒测试法时,选用测试用例执行(即这里所说的覆 盖)程序逻辑路径的方法。覆盖程度由低到高大致 分为以下几类: 语句覆盖。设计若干测试用例,使程序中每一可执 行语句至少执行一次; 判断覆盖。设计用例,使程序中的每个逻辑判断的 取真取假分支至少经历一次; 条件覆盖。设计用例,使判断中的每个条件的可能 取值至少满足一次; 测试设计逻辑覆盖 判断/条件覆盖。设计用例,使得判断中的每个条件 的所有可能结果至少出现一次,而且判断本身所有 可能结果也至少出现一次; 条件组合覆盖。设计 用例,使得每个判断表达式中条件的各种可能组合 都至少出现一次;显然,满足的测试用例也一定 是满足、的测试用例。 路径覆盖。设计足够的测试用例,使程序的每条可 能路径都至少执行一次。 如果把路径覆盖和条件组合覆盖结合起来,可以设 计出检错能力更强的测试数据用例。 测试设计等价类划分 等价类划分是用黑盒测试法设计测试用例的一种技 术。它是将程序(或者模块)输入定义域中的所有 可能的输入数据(含有效和无效)划分成若干个等 价类,每一类的一个代表性的数据在测试中的作用 ,就等价于这一类中的所有其他数据。也就是说, 如果某一类的一个用例发现了错误,这一等价类中 的所有其他用例也能发现同样的错误,反之亦然。 借以实现测试的经济性,大大减少测试的工作量。 测试设计等价类划分 【例】某工厂公开招工,规定报名者年龄应在20周 岁至39周岁之间(到2006年6月30日止),即出生年 月不早于1967年7月,不晚于1986年6月。报名程序 具有自动检验输入数据的功能。如出生年月不在上 述范围内,将拒绝接受,并显示“年龄不合格”等出 错信息。试用等价分类法设计对这一程序功能的测 试用例。 测试设计等价类划分 第一步:划分等价类。假定已知出生年月由6位数字字符表 示,前4位代表年,后2位代表月,则可以划分为3个有效等 价类,7个无效等价类,如表所示 输入数据有效等价类无效等价类 出生年月6位数字字符 有非数字字符 少于6个数字符 多于6个数字符 对应数值在196007-197906之间 198606 月份对应数值在1-12之间 等于“0” 12 测试设计等价类划分 第二步:设计有效等价类需要的测试用例。表7-1中的、等个 有效等价类,可以公用一个测试用例,例如: 测试数据 期望结果 测试范围 197011 输入有效 、 第三步:为每一无效等价类至少设计一个测试用例。本例具有个无效 等价类,需要不少于个测试用例。例如 测试数据 期望结果 测试范围 MAY,70 输入无效 19705 输入无效
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025 汽车租赁合同样本
- 高数理论考试题及答案
- 钢结构清考试题及答案
- 妇幼护理考试题目及答案
- 2025租赁商铺合同范本
- 2025租户提前终止租房合同协议书
- 法律考试题型及答案
- 2025租房中介合同书
- 中国钛合金粉项目投资计划书
- 中国杀菌剂项目经营分析报告
- 2025年新高考语文真题全国Ⅰ卷、Ⅱ卷试题汇编(古代诗歌鉴赏、名句名篇默写篇)
- 2025年中国虚拟商品行业市场现状及未来发展前景预测分析报告
- 购买轮挖合同协议书
- 货运部转让合同协议书
- GB/T 4498.1-2025橡胶灰分的测定第1部分:马弗炉法
- 信息安全应急演练报告
- ZS银行资产托管业务对盈利模式的重塑与影响探究
- 《腰痛的康复治疗》课件
- XX集团人才队伍分析报告(2025)(专业完整格式模板)
- 2025-2030中国汽车转向系统行业市场发展趋势与前景展望战略研究报告
- 职业学校春季学期德育工作计划
评论
0/150
提交评论