




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试 孙旭光sunxuguang 防灾科技学院 1 软件测试概论 软件测试是软件工程的一部分软件工程包括 软件需求分析软件设计软件编码软件测试 2 软件工程的定义 概括地说 软件工程是指导计算机软件开发与维护的工程学科 它采用工程的概念 原理 技术和方法来开发与维护软件 把经过时间考验而证明是正确的管理技术和目前能够得到的最有效的技术与方法结合起来 以经济地开发出高质量的软件并有效地维护它 这就是软件工程 3 软件生命周期 1 问题定义解决 问题是什么 通过调研 提出关于问题性质 工程目标和工程规模的书面报告 用户对这份报告确认公司中对应的岗位 市场部 产品部需要的知识 对市场的理解把握 沟通能力2 可行性研究问题是否有行的通的解决办法 从技术 经济 社会因素 如法律 等方面分析可行性公司中对应的岗位 专家 开发经理 系统分析师需要的知识 对具体业务的理解 综合能力 4 3 需求分析对目标系统提出完整 准确 清晰 具体的要求具备用户的专业知识和较好的软件开发能力公司中对应的岗位 系统分析师 项目经理需要的知识 对具体业务的理解 综合能力4 概要设计解决 怎样实现目标系统 实现一个目标系统 通常有几种方案 比较每种方案的优缺点 确定一种 一个程序由若干个规模适中的模块按合理的层次结构组织成 所以要确定程序的体系结构 有哪些模块组成及模块间的关系 公司中对应的岗位 系统设计师 高级程序员需要的知识 操作系统 数据库 网络等 5 5 详细设计详细设计每个模块 确定实现模块功能所需要的算法和数据结构 公司中对应的岗位 高级程序员 经验丰富的程序员需要的知识 数据结构 数据库6 编码和单元测试写出正确的容易理解 容易维护的程序模块 公司中对应的岗位 程序员 软件工人需要的知识 程序设计7 综合测试包括集成测试 系统测试和验收测试公司对应的岗位 软件测试人员 质量保证 QA 人员需要的知识 软件测试 6 8 软件维护通常有四类维护活动 改正性维护 也就是诊断和改正在使用过程中发现的软件错误 适应性维护 即修改软件以适应环境的变化 完善性维护 即根据用户的要求改进或扩充软件使它更完善 预防性维护 即修改软件为将来的维护活动预先做准备 每一项维护活动都应该经过提出 维护 要求 分析要求 提出方案 审批方案 确定计划 修改软件设计 修改程序 测试程序 复查验收等一系列步骤 实质上是经历了一次压缩和简化了的软件定义和开发的全过程 修改多个bugs后 推出下一个版本 升级版 补丁包 公司中对应的岗位 技术支持需要的知识 沟通能力 7 软件测试开始的时间 例子1 网站开发已经结束 测试人员提出意见 该网站服务对象不明确 无法吸引用户 战略上有失误 可行性分析 需求分析例子2 网站开发已经结束 测试人员提出意见 某地方设计不好 应像 网站那样 设计例子3 网站开发已经结束 测试人员提出意见 某功能无法使用 编码测试的岗位 测试经理 测试组长 高级测试工程师 测试工程师 测试员 优秀的测试人员需要懂测试 也需要懂开发 8 软件测试现状 21世纪什么最贵 软件测试工程师软件测试工程师 目前IT行业极端短缺的金贵人才 未来5年IT行业最炙手可热的高薪职位 中国软件业每年新增约20万测试岗位就业机会 而企业 学校培养出的测试人才却不足需求量的1 10 这种测试人才需求与供给间的差距仍在拉大 软件测试是没有歧视的职业性别歧视学历歧视工作经验歧视 软件测试 产品质量的保证 软件测试 控制成本的关键 软件测试 软件可靠性确认 软件测试 让企业具备国际竞争的实力 9 软件测试现状 从事软件测试的行业前景 10 课程内容介绍 一软件测试概述二黑盒测试三白盒测试四集成测试五系统测试六测试管理 11 课程目标 通过本课程的学习 了解并掌握软件产品质量保证的基本思想 软件测试技术的基本内容 以及软件测试的方法 技术和工具的使用 为全面掌握软件技术和软件项目管理打下坚实的基础 有效的测试策略 方法和技术测试计划和测试用例的设计测试自动化的引入 应用测试项目的管理 更清楚 准确地报告测试缺陷软件测试和质量保证的关系和区别 12 课程目标 软件测试工程师必备的能力 设计测试方案和测试用例并执行将测试方案 测试用例 测试结果以规范的方式存档将测试用例通过计算机编程完成自动测试软件测试高级工程师 测试经理 必备的能力 软件测试计划的指定软件测试方案和测试用例的设计软件测试的实施软件测试的执行缺陷跟踪管理测试总结报告 13 第一章软件测试概述 1 1计算机系统的软件可靠性问题1 2软件测试的目的和意义1 3软件测试过程1 4软件测试与软件开发的关系1 5软件测试的发展历程和现状1 6我国软件测试产业现状1 7软件测试工具 14 计算机系统的软件可靠性问题 计算机系统的规模和复杂性急剧增加 使得计算机软件的数量急剧膨胀 软件故障正逐渐成为导致计算机系统失效和停机的主要因素 千年虫问题爱国者导弹防御系统美国火星登陆事故Intel奔腾芯片缺陷Windows2000安全漏洞 15 软件测试的目的和意义 定义1 1983年IEEE 国际电子电气工程师协会 提出的软件工程标准术语中给软件测试下的定义是 使用人工或自动手段来运行或测定某个系统的过程 其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别 在千年虫例子中 程序员有错误吗 如果软件的产品说明书和设计目标从未声明产品要在2000年以后工作 就没有错 软件测试人员应该对此进行测试并找出软件缺陷 然后测试小组决定是否修复 16 软件测试的目的和意义 定义2 软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例 并利用这些测试用例去执行程序 以发现软件故障的过程 该定义强调寻找故障是测试的目的 定义3 软件测试是一种软件质量保证活动 其动机是通过一些经济有效的方法 发现软件中存在的缺陷 从而保证软件质量 17 软件测试的目的和意义 软件测试是在一个可控的环境中分析或执行程序的过程 其根本目的是以尽可能少的时间和人力发现并改正软件中潜在的各种故障及缺陷 提高软件的质量 测试目的决定了测试方案的设计 一个好的测试是能够发现至今尚未被发现的故障 一个成功的测试是发现了至今未被发现的故障 18 软件测试过程 19 软件测试与开发的关系 软件测试贯穿于软件开发的整个生命周期 正规的软件开发过程一般包括六个阶段 即 制定计划需求分析软件设计程序编写软件测试运行和维护 负责整个测试阶段的监控 确定测试需求分析 制定系统测试计划 制定集成测试计划和单元测试计划 开发相应的测试代码或测试脚本 实施测试 并提交相应的测试报告 20 测试在开发各阶段的作用 需求分析阶段 确定测试需求分析 制定系统测试计划 测试需求分析是指分析产品生存周期中测试所需的资源 配置 各阶段评审通过的标准 概要设计和详细设计阶段 制定集成测试计划和单元测试计划 程序编写阶段 开发相应的测试代码或测试脚本 测试阶段 实施测试 提交测试报告 21 软件测试过程模型 软件测试过程V模型特点 非常明确地表明了测试的不同级别 清晰地展示了软件测试与开发之间的关系 22 软件测试过程模型 软件测试过程W模型特点 形象地说明了测试与开发的并行关系 体现了测试贯穿于整个开发过程的思想 测试的对象不仅是程序 也包括需求和设计阶段形成的文档 23 软件测试环境的搭建 测试环境是指用来运行软件的环境 测试环境 硬件 软件 网络 数据准备 测试工具硬件 是指软件赖以运行的硬件平台 最基本的硬件包括服务器和测试用机 硬件设备多种多样 PC机还是笔记本电脑 CPU 内存等 完全根据产品的需求进行选择 一个较完善的测试环境要包括标准配置 最佳配置和最低配置的硬件设备 只是根据项目的需求和条件的限制各种配置下的测试所占比例不同 24 软件测试环境的搭建 软件 是指支持待测软件运行的软件系统平台 包括操作系统和应用程序 应选择具有广泛代表性的重要操作系统和大量的应用程序 例如web测试 常见的操作系统有 Windows系列 UNIX系列 MAC系列 Linux系列常见的数据库管理系统有 oracle9i sybase Mysql MSSQLserver2000 Accesspc平台 常见的应用程序 基于Java 基于 Net Microsoft0ffice2000 Foxmail Realplay等 常见的浏览器 IE FireFox Chrome等 25 软件测试环境的搭建 网络 主要指的是C S结构还是B S结构 例如要测试微软的outlook2003这一款软件 那么是在局域网里测 还是在互联网里测 如果在局域网中测 那么是在10M的局域网里测 还是在100M的局域网里测 不同的网络类型 不同的传输速度 必然会导致不同的收发速度 数据准备 主要指的是测试数据的准备 测试数据的准备应考虑数据量和真实性 即尽可能获取大量的真实的数据 包括正确和错误的数据 当无法取得真实数据时应尽可能模拟出大量的数据 测试工具 为了提高软件测试的效率 有时测试必须依托测试工具 测试工具很多 可分为静态测试工具 动态测试工具 黑盒测试工具 白盒测试工具 测试执行评估工具 测试管理工具等 应根据测试需求和实际条件来选择已有的测试工具 或购买 自行开发相应的测试工具 26 软件测试环境的搭建 搭建软件测试环境还应注意 尽量模拟用户的真实使用环境 测试环境中尽量不要安装其它与被测软件无关的软件 但最好安装杀毒软件 以确保系统没有病毒 测试环境应与开发环境独立 需要测试工程师知识面广 但不一定深 27 软件测试工具 白盒测试工具一般是针对被测源程序进行的测试 测试中发现的故障可以定位到代码级 根据测试工具的原理不同 又可分为静态测试工具和动态测试工具 静态测试是指不运行被测试程序而通过检查 阅读进行分析 静态测试工具是在不执行程序的情况下分析软件的特性 职能 主要集中在需求文档 设计文档以及程序结构上 可以进行类型分析 接口分析 输入输出规格说明分析等 动态测试是指通常意义上的测试 需要运行和使用软件 动态测试工具直接执行被测程序以提供测试支持 职能 功能确认与接口测试 覆盖率分析 性能分析 内存分析等 28 软件测试工具 黑盒测试工具黑盒测试是在完全不考虑被测程序内部结构和内部特性的情况下 通过测试来检测每个功能是否都按照需求规格说明的规定正常使用 又可分为 功能测试工具 用于检测被测程序能否达到预期的功能要求并正常运行 性能测试工具 用来确定软件和系统的性能 29 软件测试工具 测试设计和开发工具测试设计 说明测试被测软件特征或特征组合的方法 确定并选择相关测试用例的过程 测试开发 将测试设计转换成具体的测试用例的过程 工具类型 测试数据生成器代表工具 Bender Associates公司提供的功能测试数据生成工具SoftTest Parasoft公司提供的C C 单元测试工具ParasoftC test等基于需求的测试设计工具捕获 回放工具和覆盖分析工具 30 软件测试工具 测试执行和评估工具测试执行和评估 执行测试用例并对结果进行评估的过程 包括选择用于执行的测试用例 设置测试环境 运行所选择的测试 记录测试执行活动 分析潜在的软件故障并测量测试工作的有效性 工具类型捕获 回放覆盖分析存储器测试 31 软件测试工具 测试管理工具测试管理 帮助完成测试计划 跟踪测试运行结果等 用途 测试用例管理缺陷跟踪管理配置管理代表工具 MI公司的TestDirector Rational公司的TestManager Compureware公司的TrackRecord等软件 32 软件测试工具 目前市场上主流的测试工具以MI Rational和Compuware公司开发的软件测试工具为主导 MI公司产品LoadRunner WinRunner TestDirector QTIBMRational公司产品RationalRobot 功能 性能测试工具 RationalPurify 白盒测试工具 RationalTestmanager 测试管理工具 RationalClearQuest 缺陷 变更管理工具 Compuware公司产品
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 远洲酒店前台工作总结
- 行政人事年终总结报告
- 河南省漯河市召陵区2026届九上化学期中综合测试模拟试题含解析
- 主持礼仪培训课程
- 机关单位青年文明号
- 公司保安职责培训
- 2026届合肥市蜀山区化学九上期中达标检测模拟试题含解析
- 2026届黑龙江省尚志市英语九上期末教学质量检测模拟试题含解析
- 租赁公司年终总结汇报报告
- 福建省晋江市潘径中学2026届英语九年级第一学期期末教学质量检测模拟试题含解析
- 质量分析工具-5W1H分析法课件
- 《运动与位置》(31张)-完整版课件
- 五年级上册数学课件-2.1 轴对称 ︳青岛版 (共17张PPT)
- GJB9001C-2017质量管理体系检查内容的内部审核检查表【含检查内容】
- 半导体数字集成电路测试技术概要
- 心包积液以及心包填塞
- 商业银行内部审计技术与方法
- 河道清淤整治工程施工组织设计方案
- 论信息技术对公共行政的影响分析研究行政管理专业
- 技术部薪资等级晋升制度76799
- 生物化学:第2章 核酸的结构与功能
评论
0/150
提交评论