




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件质量保证与软件测试 北京唯英时代信息技术有限公司方修广 1 开场白 世界上不存在没有缺陷的软件 可以通过两种途径开发出没有错误的软件 在一开始就防止引入错误 识别潜藏在代码中的错误 找到并消灭它们 2 大纲 软件工程软件质量保证软件测试基础知识常用技能职业发展团队管理Q A 3 软件工程 软件工程 SoftwareEngineering 简称为SE 是一门研究用工程化方法构建和维护有效的 实用的和高质量的软件的学科 它涉及到程序设计语言 数据库 软件开发工具 系统平台 标准 设计模式等方面 4 软件质量管理 质量与质量管理的概念质量 是 反映实体满足明确和隐含需要的能力和特性综合 因此 质量是一种需要 是一组固有特性满足要求的程度 质量管理 质量管理是指以组织为质量中心 企业全员参与为基础 为追求客户满意和组织所有受益者满意而建立和形成的一整套质量方针 目标和体系 质量管理通过质量策划设定组织的质量目标 并规定必要的过程和相关资源 通过质量控制监视内部质量过程 排除质量控制过程中可能存在的缺陷隐患 通过质量改进提高内部的质量管理能力 改善组织内部的质量过程 通过质量保证提供足够的信任证据 表明组织有能力满足客户的质量要求 5 软件质量管理 质量管理体系 它是质量管理的运作实体 由组织结构 程序 过程 资源4个基本部分组成 质量策划 它是 确定质量以及采用质量管理体系要素和要求的活动 包括产品策划 质量管理体系管理和运作策划 编制质量计划 质量控制 为达到质量要求所采取的作业技术和活动 质量控制的对象是过程 质量保证 是为了提供足够的信任证据 证明组织有关的各类实体有能力满足质量要求所实施并在必要时进行证实的有计划 有系统的活动 质量改进 是为了向组织的所有受益者提供更多的收益所采用的提高质量过程和效率的各种措施 6 软件质量管理 质量管理的发展阶段 1 产品质量检验阶段 这个时期特征是对产品的质量进行检验 产品质量的检验只是一种事后的检查 不能预防不合格品的产生 2 统计质量管理阶段 它是运用概率论和数理统计的原理 提出控制生产过程 预防不合格产品的思想和方法 即通过小部分样品测试 推测和控制全体产品或工艺过程的质量状况 3 全面质量管理阶段 从以质量管理专业人员为核心进行质量管理 发展到管理者推动 组织各部门的人员都来进行学习和实行质量管理 7 软件质量管理 从质量管理理论的发展历史可以看出 质量管理从单纯的对产品质量进行检验发展到对产品形成过程进行控制 控制方法从静态发展到动态的 持续的过程改进质量管理理论发展到今天 其核心思想已表现为对过程的策划 控制和过程能力的持续改进 8 软件质量保证 是软件工程领域中的一部分为了确保软件开发过程和结果符合预期的要求 而建立的一系列规程 以及依照规程和计划采取的一系列活动及其结果评价软件开发过程是按照计划和规范实施的软件开发结果包括完整的软件和文档 并且符合可预期的目标和检验标准 9 软件测试 软件测试就是在软件投入运行前 对软件需求分析 设计规格说明和编码实现的最终审查 它是软件质量保证的关键步骤 通常对软件测试的定义有两种描述 定义1 软件测试是为了发现错误而执行程序的过程 定义2 软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例 并利用这些测试用例运行程序以及发现错误的过程 即执行测试步骤 10 Tip SQA 从流程和标准上来控制开发过程 从而提高软件质量 SQC 通过测试发现软件的问题并确保问题被解决 从而提高软件质量 11 思考 质量是做出来的还是管出来的 12 软件开发模式 1 大棒开发法源于能量爆发创造宇宙 万物都由能量和物质积聚而成的理论 但如果不是遵循某种正确的排列和组合 形成的将不是预先期望的事物 大棒模式与上述理论一样 一大堆能量 这里指开发软件所需的人力和物力 放在一起 巨大的能量进行释放 通常的结果可能是产生了优秀的软件产品或成为一堆 废品 不成功的软件 优点 思路简单 通常可能是开发者的 突发奇想 缺点 开发过程是非工程化的 随意性大关于测试 有的较简单 有的则非常困难 13 软件开发模式 续 2 边写边改法采用边写边改法的软件开发通常只是有了比较粗略的想法就开始进行简单的设计 然后进行较长的反复编写 测试与修复这样一个循环的过程 在认为无法更精细的描述软件产品要求时 就发布产品 优点 能够较为迅速的展现成果 适合需要快速制作而且用完就扔的小项目 如示范程序 演示程序等 缺点 其编码和测试可能将是长期的循环往复的过程 14 软件开发模式 续 15 软件开发模式 续 瀑布法瀑布模式是将软件生命周期的各项活动 规定为按照固定顺序相连的若干个阶段性工作 形如瀑布流水 最终得到软件产品 优点 易于理解 调研开发的阶段性 强调早期计划及需求调查 确定何时能够交付产品及何时进行评审与测试 缺点 需求调查分析只进行一次 不能适应需求变化 顺序的开发流程 使得开发中的经验教训不能反馈到该项目的开发中去 不能反映出软件开发过程的反复与迭代性 没有包含任何类型的风险评估 开发中出现的问题直到开发后期才能够显露 因此失去及早纠正的机会 16 软件开发模式 续 17 软件开发模式 续 18 软件开发与软件测试的关系 图1 10软件测试与软件开发过程的关系 19 软件开发与软件测试的关系 20 单元测试 单元测试的内容 1 模块接口测试2 检查局部数据结构能否保持完整性3 模块边界条件测试4 模块执行路径测试5 检查模块内部错误处理是否有效单元测试方法 白盒测试为主 21 集成测试 集成测试 Integrationtest 将通过单元测试的多个模块组合成更大的模块或子系统或产品 然后进行测试 测试内容 各单元的接口是否吻合 代码是否符合规定的标准 界面标准是否统一等 22 系统测试 经过集成测试之后 分散开发的模块被联接起来 构成完整的程序 其中各模块间接口存在的种种问题都已基本消除 测试开始进入到系统测试的阶段 为了发现缺陷并度量产品质量 按照系统的功能和性能需求进行的测试一般使用黑盒测试技术一般由独立的测试人员完成 23 系统测试 Systemtest 应该由若干个不同测试组成 目的是充分运行系统 验证系统各部件是否都能正常工作并完成所赋予的任务 这里所谓的系统不仅仅包括软件本身 而且还包括计算机硬件及其相关的外围设备 数据及其收集传输机构 甚至掌握计算机运行的人员及其操作等 通常意义上的系统测试包括 功能测试 性能测试 Performancetest 用户界面测试 兼容性测试等 24 UAT测试 系统测试结束后 在项目组看来开发和测试工作已经全部完成 可以交付使用 并与用户一起进行测试 以验证是否符合与用户事先约定的验收标准 测试人员产品经理或其他高级经理开发工程师测试工程师用户 25 26 性能测试功能测试 27 性能测试 性能测试即测试软件处理事务的速度 一是为了检验性能是否符合需求 二是为了得到某些性能数据供人们参考 Performance 性能测试是通过自动化的测试工具模拟多种正常 峰值以及异常负载条件来对系统的各项性能指标进行测试 28 功能测试 功能测试 Functionaltesting 根据产品特征 操作描述和用户方案 测试一个产品的特性和可操作行为以确定它们满足设计需求 本地化软件的功能测试 用于验证应用程序或网站对目标用户能正确工作 使用适当的平台 浏览器和测试脚本 以保证目标用户的体验将足够好 就像应用程序是专门为该市场开发的一样 29 常见名词 冒烟测试压力测试本地化测试回归测试Alpha测试Beta测试嵌入式软件测试手机测试应用软件测试固件测试 30 静态测试动态测试 31 黑盒子测试 黑盒测试是从用户观点出发的测试 它又称功能测试 数据驱动测试或基于规格说明书或用户手册的测试 它所依据的是程序的外部特性 白盒测试又称结构测试 逻辑驱动测试或基于程序的测试 其测试过程如图所示半透明盒子测试 32 自动化测试 常用测试软件 HP IBM Borland QTP LR QC如何学习自动化测试 33 必做的测试 安装测试功能测试值域测试界面测试可用性测试说明书测试配置测试加密问题测试裸机测试 34 可选的测试 内存泄漏测试接口测试性能测试并发性测试安全性测试破坏性测试配套产品测试 35 测试计划 收集并组织测试计划信息 将软件细化为可检验的测试需求 建立测试计划目标 沟通测试小组内部与外部的测试意图规定测试活动的范围 方法 资源和进度明确测试项目的特性测试要点测试任务细分任务进度以及负责人输出 测试计划 36 测试用例 模板包含的内容 标题和编号 版本号 修改记录等模块 功能名称设计可能有的操作 包括测试步骤和输入 预期输出和错误发现方法是否通过 是否与期望结果一致 与bug库对应的ID号 37 测试的执行及报告 选择测试用例库中的测试用例运行选择新设计的测试用例运行记录中间步骤和结果记录下执行过程中的灵感但不要轻易修改本次执行任务对测试结果分析 并尽量重现和优化错误步骤详细填写缺陷报告并提供尽可能多的信息 尽可能提供错误分析和修改建议认真审核错误处理结果并及时关闭缺陷报告 38 测试员的效率 平均每个工作日发现4 6个Bug平均每修正3个Bug 会引进1个新的Bug平均75 的Bug会在单元测试阶段解决掉平均20 的Bug会在集成测试和系统测试阶段解决掉平均5 的Bug会被交付给用户 39 测试不能是全面的成本和质量TQMCMPeerReviewEPG 40 提早发现缺陷预防 41 CMM 软件能力成熟度模型 CMM CapabilityMaturityModel 是软件行业标准模型 用来定义和评价软件企业开发过程的成熟度 提供如何做才能够提高软件质量的指导 CMM的基本原理 CMM将软件组织的过程能力成熟度分为5个级别 每一个级别定义一组过程能力目标 并描述要达到这些目标应该采取的各种实践活动 CMM的主要作用 提供了一个软件过程改进的框架 根据CMM模型 软件开发者 机构或组织 能够大幅度的提高按计划 高效率 低成本的提交有质量保证的软件产品的能力 42 软件能力成熟度模型 续 软件过程成熟度的5个等级 43 软件能力成熟度模型 续 CMM的分级结构和其主要特征 初始级 其特点是软件过程无秩序 有时甚至是混乱的 可重复级 已建立了基本的项目管理过程 可用于对成本 进度和功能特性进行跟踪 已定义级 用于管理的 工程的软件过程均已实现文档化 标准化 并形成了整个软件组织的标准软件过程 管理级 软件过程和产品质量有详细的度量标准 软件过程和产品质量得到了定量的认证和控制 优化级 通过对来自过程 新概念和新技术等方面各种有用信息的定量分析 能够不断地 持续性地对过程进行改进 44 ISO9000介绍 ISO9000标准 是为制造行业制定的质量管理和质量评判的一系列标准 定义了一套基本达标的做法 有助于企业能够一致地交付符合客户质量要求的产品 或服务 ISO9000标准的目标 在于开发过程 而不是产品 关心的是进行工作的组织方式 而不是工作成果ISO9000只决定过程的要求是什么 而不管如何达到 ISO9000指出要做什么 但不指出怎样做 45 软件质量保证部的职责 质量控制组质量保证组测试服务组开发服务组 46 质量控制组 QC 质量控制组强调标准在任何公司中 管理部门都是实际的质量控制组 QC组的真正权利在于 它能够控制一个有问题的产品直到管理部门经过深思熟虑后做出决定 47 质量保证组 QA 设置过程标准 引进评审程序 培训职员以更好的方式开展设计和开发产品 有能力的程序员 编写人员 经理 设计人员和分析员管理部门是真正的质量保证小组质量来自顶层 而不是来自QA 48 测试服务组 测试服务组为项目经理提供测试服务 对你的要求是找到故障代码 仔细对他们进行描述 并确保需要了解他们的每个人都能弄清楚 你并没有发布或者拒绝发布一个产品的权限 你描述程序的问题 到目前为止的已经完成的测试层度 以及你对程序质量的估计 49 开发服务组 调试技术 客户 支持 尤其在产品发布后的前几个星期对手册的技术编辑易用性测试可比较产品的评价客户满意度研究 50 另一种选择 独立测试机构优点缺点 51 对软件测试的误解 如果发布的软件有质量问题 那是软件测试人员的错 软件测试技术要求不高 至少比编程容易多了 软件测试随便找一个能力差的人就能做 有时间就多测试一些 来不及就少测试一些 软件测试是测试人员的事 与开发人员无关 设计 实现 测试 软件测试是开发后期的一个阶段 52 对于测试人员的职业素质要求 1 责任感坚持原则 不放弃有问题及时汇报2 沟通能力 移情能力与用户 项目组的沟通3 独立的判断和自学习能力坚持观点 不随声附和喜欢探寻 钻牛角尖不一定是坏事情4 耐心 自我督促5 团队精神与开发组整体为一个目标开展活动 有时需要妥协 53 软件测试人员的职业规划 自动化测试英语行业专家技术专家项目管理产品经理PMPCMMI 54 软件测试人员的合理比例 在软件产业发达的国家 软件测试在人员配备和资金投入方面占据相当的比重 微软为打造Windows2000 1700多个开发人员 以及3200个测试人员 开发和测试人员之比约为三比五 HP公司的测试人员和开发人员的比例为一比一 这是很多先进软件企业通常的人员配比 在国内 企业往往忽视软件测试 很多企业都没有软件测试部门 甚至不设置软件测试的岗位 造成产品质量得不到保证 55 相关书籍推荐 软件测试 RonPatton 2001 SoftwareTesting 机械工业出版社
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 波峰焊技术员试题及答案
- ISO 9001(DIS)-2026重大变化之1:“质量文化和道德行为”专题深度专业解读与应用指导材料(雷泽佳编制-2025A0)
- 农业银行2025金融科技岗笔试题及答案安徽地区
- 农业银行2025乐山市秋招笔试英语题专练及答案
- 中国银行2025六盘水市秋招结构化面试经典题及参考答案
- 2025年3D打印技术的骨骼修复技术
- 2025年3D打印技术的材料科学与制造工艺
- 建设银行2025吐鲁番市信息科技岗笔试题及答案
- 辅导员业务知识培训课件
- 农业银行2025黄石市秋招笔试创新题型专练及答案
- 2025年体育组织行业研究报告及未来行业发展趋势预测
- 采购进口生蚝合同协议书
- 2024年永州市工会社会工作者招聘笔试真题
- 推进文旅医养融合发展的策略及实施路径
- 成本分析表-产品成本构成
- 2024年云南航空产业投资集团招聘考试真题
- 2025年山东快递工程专业职称考试(快递设施设备知识·技术员、助理工程师)历年参考题库含答案详解(5卷)
- 蓝莓种植加工一体化发展项目可行性研究报告写作模板-申批备案
- 2025年汽车驾驶员技师资格证书考试及考试题库含答案
- 消防消控室设备管理制度
- 项目现场伙食费管理办法
评论
0/150
提交评论