通信软件测试技术基础.ppt

上传人:za****8 文档编号:16963551 上传时间:2020-11-05 格式:PPT 页数:31 大小:327.34KB
返回 下载 相关 举报
通信软件测试技术基础.ppt_第1页
第1页 / 共31页
通信软件测试技术基础.ppt_第2页
第2页 / 共31页
通信软件测试技术基础.ppt_第3页
第3页 / 共31页
点击查看更多>>
资源描述
通信软件测试技术基础 教学进度安排 总学时: 32学时 课堂教学: 28学时 实验教学: 12学时 成绩评定 平时成绩: 10% 期末考试成绩(暂定闭卷) 70% 实验成绩: 20% 答疑方式: 电话: 88803818 邮件: 第一章 软件测试概述 软件测试的意义 计算机在关键领域的重要性 软件对计算机系统的影响 软件测试可以一定程度上减少系统故障 本课程的主要内容 软件测试的基本概念 软件测试技术 白箱法 黑箱法 TTCN树表描述语言 LOTOS时序逻辑描述语言 第一节 软件故障与软件测试 两个软件故障的例子 Intel奔腾处理器故障 1994年 12月 30日,美国 Lynchburg大学的 Thomas R.Nicely博士在一台奔腾 PC机上做运算时发现, (4195835/3145727)*3145727-4195835不等于 0 千年问题 20世纪 70年代一个叫 Dave的程序员,负责本公 司的工资系统。他把 4位数日期缩减为 2位,例 如 1973年为 73。因为工资系统极度依赖数据处 理, Dava节省了可观的存储空间。 第一节 软件故障与软件测试 一 组术语 缺陷( bug) 缺点( defect) 统称为缺陷 偏差( variance) 错误( error) 异常( anomaly) 统称为错误 老化( age) 问题( problem) 失败 (failure) 矛盾( inconsistency) 统称为失败 事故( incident) 谬误( fault) 第一节 软件故障与软件测试 第一类称为缺陷: 它们都是软件开发过程潜在的隐患,这些 缺陷可能在软件投入运行后出现,使得软件的性能和可靠性等 方面与系统的设计要求不符;有时这些问题可能不出现,软件 的性能和可靠性并不会因为它们的存在而受到影响。 第二类称为错误: 这类错误与软件运行状态有关,它们是在 软件运行过程中可观测到的软件错误。这些问题出现的原因是 软件缺陷所致。 第三类称为失败: 这是软件运行给用户造成的损失的一类软 件故障 , 它强调软件失败的结果 。 失败的直接原因是软件系统 存在软件错误 。 并不是所有的软件错误都会导致软件失败 , 如 果对软件错误加以适当的控制 , 软件错误可以导致安全 。 什么是软件测试呢 ? 所谓软件测试是为了评价一个软件系统的 质量和发现错误而从事的一种工作过程 。 可分为局部软件的局部运行和全部运行; 从运行的环境来看 , 可有仿真运行和实际 运行 。 这就存在一个软件测试中的方式和 方法的问题 。 而方法又与采用的技术相关 , 技术不同 , 方法也不同 。 所以软件测试技 术是测试的关键 。 1.2软件测试与软件开发过程 生命周期模型: 软件开发过程中的各种活动构成软件开发的生命 周期,而随着这些活动的组织方式和方法不同, 就构成不同的软件开发生命周期模型。 生命周期与测试的关系: 也就是说,虽然软件开发的生命周期模型有所不 同,但软件开发的阶段性始点和终点是相同的, 而且软件测试是不可缺少的一项工作。 1.2.1顺序生命周期模 需求阶段 体系结构设计阶段 系统 详细设计 阶段 编码和单元测试阶段 软件集成阶段 系统集成阶段 验收测试阶段 图 1-1V 生命周期模型 需求阶段 体系结构设计阶段 系统详细设计阶段 编码和单元测试阶段 软件集成阶段 系统集成阶段 验收测试阶段 图 1-2 瀑布生命周期模型 1.2.2 渐进式开发生命周期模型 状态 1 开发阶段 状态 2 开发阶段 结束 中期提交 1 中期提交 2 最终提交 图 1.3 渐进式开发生命周期 1.2.3 迭代生命周期模型 需求分析 设计 评价 实现和测试 开始 完成 1-4 迭代生命周期模型 1.3 软件测试方法与测试内容 软件测试的种类: 从是否需要执行被测软件的角度 , 可分为静态测 试和动态测试 。 从测试是否针对系统的内部结构和具体实现算法 的角度 , 可分为白盒测试和黑盒测试; 从测试范围角度 , 可分为单元测试 、 系统测试 、 集成测试等等; 从测试目标角度 , 可分为性能测试 、 功能测试 、 可靠性测试等等 。 从测试采用的工具角度 , 可分自动测试 , 手工测 试等 。 1.3.1 黑盒测试 黑盒测试也称功能测试或数据驱动测试, 它是在已知产品所应具有的功能的情况 下,通过测试来检测每个功能是否都能 正常使用。 1.3.2 白盒测试 白盒测试也称结构测试或逻辑驱动测试, 它是在知道它产品内部工作过程的前提 下,可通过测试来检测产品内部动作是 否按照规格说明书的规定正常进行。 1.3.3 ALAC测试 ALAC测试是一种基于客户使用产品的 知识开发出来的测试方法。 ALAC测试 是基于复杂的软件产品有许多错误的原 则。最大的受益者是用户,缺陷查找和 改正将针对哪些客户最容易遇到的错误。 1.3.4 单元测试 单元测试的对象是软件设计的最小单 位 模块。单元测试的依据是详细设 计描述,单元测试应对模块内所有重要 的控制路径设计测试用例,以便发现模 块内部的错误。单元测试多采用白盒测 试技术,系统内多个模块可以并行地进 行测试。 1.3.5 综合测试 综合测试是组装软件的系统测试技术 , 按设计要求把通过单元测试的各个模块 组装在一起之后 , 进行综合测试以便发 现与接口有关的各种错误 。 1.3.6确认测试 ( 集成测试 ) 确认测试应检查软件能否按合同要求进 行工作 , 即是否满足软件需求说明书中 的确认标准 。 确认测试标准 配置复审 确认测试的另一个重要环节是配置复审。 复审的目的在于保证软件配置齐全、分类 有序,并且包括软件维护所必须的细节。 1.3.6 、 测试 测试是指软件开发公司组织内部人员模拟 各类用户对即将面市软件产品 ( 称为 版本 ) 进行测试 , 试图发现错误并修正 。 经过 测试调整的软件产品称为 版本 。 紧 随其后的 测试是指软件开发公司组织各方 面的典型用户在日常工作中实际使用 版本 , 并要求用户报告异常情况 、 提出批评意见 。 然后软件开发公司再对 版本进行改错和完 善 。 1.3.7 系统测试 恢复测试: 恢复测试主要检查系统的容错能力 。当系 统出错时, 能否在指定时间间隔内修正错 误并重新启动系统 。 安全测试: 安全测试检查系统对非法侵入的防范能力 。 强度测试: 强度测试检查程序对异常情况的抵抗能力 。 性能测试: 对于那些实时和嵌入式系统,软件部分即 使满足功能要求,也未必能够满足性能要 求,虽然从单元测试起,每一测试步骤都 包含性能测试,但只有当系统真正集成之 后,在真实环境中才能全面、可靠地测试 运行性能, 系统性能测试是为了完成这一 测试任务 。 可用性测试: 对“用户友好性”的测试。显然这是主观 的,且将取决于目标最终用户或客户。用 户面谈、调查、用户对话的录像和其他一 些技术都可使用。 程序员和测试员通常都 不宜作可用性测试员。 可靠性测试: 可靠性测试是为了检验软件系统运行是否 可靠,而进行的一种测试 。这类软件系统 的失败往往导致不可预料的结果,如航空、 航天领域中运行的软件,铁路系统中运行 的软件等等。可靠性测试的方法关心的是, 一旦软件系统出现故障,其系统是否导向 安全,所以可靠性测试与安全测试紧密相 关。 可靠性测试通常采用黑箱测试法。 1.3.8 面向对象的软件测试 面向对象的软件测试 (OOTest)是根据面 向对象的软件开发方法所设计的软件系 统所提出的软件测试方法 。 OO Test又分为: 面向对象分析的测试( OOA Test) 面向对象设计的测试( OOD Test) 面向对象的程序测试( OOP Test) 1.3.9 协议软件测试 协议软件作为软件的一种特殊形式 ,已经形 成了一个崭新的学科 协议工程学 。 研究范围包括: 协议说明 (Protocol Specification) 协议证实 (Protocol Validation) 协议验证 (Protocol Verification) 协议综合 (Protocol Synthesis) 协议转换 (Protocol Conversion) 协议性能分析 (Protocol Performance Analysis) 协议自动实现 (Protocol Automatic Implementation) 协议测试 (Protocol Testing)。 协议测试是一种黑盒测试,它按照协议 标准,通过控制观察被测协议实现的外 部行为对其进行评价 协议测试分成 三个方面进行研究: 一致性测试 (Conformance Testing) 互操作性测试 (Interoperability Testing) 性能测试 (Performance Testing)。 1.4 软件测试原则与特点 软件测试的原则 应当把 “ 尽早和不断地测试 ” 作为开发者的座右 铭 。 程序员应该避免检查自己的程序 , 测试工作应该 由独立的专业的软件测试机构来完成 。 设计测试用例时 , 应该考虑到合法的输入和不合 法的输入 , 以及各种边界条件 , 特殊情况下要制 造极端状态和意外状态 , 比如网络异常中断 、 电 源断电等情况 。 一定要注意测试中的错误集中发生现象 , 这和程 序员的编程水平和习惯有很大的关系 。 对测试错误结果一定要有一个确认的过程 。 一般 有 A测试出来的错误 , 一定要有一个 B来确认 , 严 重的错误可以召开评审会进行讨论和分析 。 制定严格的测试计划 , 并把测试时间安排得尽量 宽松 , 不要希望在极短的时间内完成一个高水平 的测试 。 重复测试的关联性一定要引起充分的注意 , 修改 一个错误而引起更多错误出现的现象并不少见 。 妥善保存一切测试过程文档,意义是不言而喻的, 测试的重现性往往要靠测试文档。 1.4.2 软件测试特点 完全测试程序是不可能的 。 图 1-5 一个程序结构图 路径数 :51+52+53+5 20=1040 软件测试是有风险的行为 测试无法显示潜在的软件缺陷 发现的缺陷越多 , 说明软件缺陷越多 小结: 软件故障可大体上分为三种类型 , 软件缺陷是根 源 , 后两类故障是软件缺陷的直接后果 。 软件测试与生命周期的关系 测试伴随整个生命周期 常见的软件测试方法 多种方法 , 但黑箱与白箱测试是基础 软件测试原则和特点 8个原则 , 4个特点
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!