




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试培训 2007 8 21 第一部分软件测试概念 1 软件质量保证的途径 目前 提高软件产品的质量主要有两个途径 1 寻求改进软件开发过程质量的方法 以ISO9000和软件成熟度模型CMM和CMMI为主要代表 从规范软件过程出发 持续改进软件过程 来保证软件产品开发的质量 2 另一个是对开发完成的产品进行测试和评价 以对软件产品进行测试和评价为代表 用以验证所开发的产品符合规定的要求 2 软件测试的目的 以最少的人力 物力和时间找出软件中潜在的各种错误和缺陷 通过修正各种错误和缺陷提高软件质量 回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险 3 软件测试的原则 所有的软件测试都应追溯到用户需求应当尽早地和不断地进行软件测试完全测试是不可能地 测试需要终止充分注意测试中的群集现象程序员应避免检查自己的程序尽量避免测试地随意性对软件进行回归测试 4 软件测试的分类 按照测试技术 白盒测试 黑盒测试 灰盒测试按开发阶段 单元测试 集成测试 系统测试 确认测试 验收测试按测试实施组织 测试 测试 第三方测试 单元测试 单元测试是在编码阶段进行的 在源程序代码编制完成并确认没有语法错误后 可以进行单元测试 单元测试又称为模块测试 是针对软件结构中独立的基本单位进行测试 软件单元测试的目的是检测程序单元对 详细设计说明书 和 单元测试计划 的符合程度 单元测试时 测试用例由测试工程师编制 测试人员针对程序单元进行多次循环反复的测试 产生测试结果记录 并形成 软件测试报告 集成测试 集成测试把软件部件 硬件部件或两两组合起来进行的测试 并通过测试评价它们之间的交互 集成测试通常是在单元测试的基础上 需要将所有模块按照设计要求组装成为系统 这时需要考虑的问题是 集成测试需要考虑的问题 1 在把各个模块连接起来的时候 穿越模块接口的数据是否会丢失2 一个模块的功能是否会对另一个模块的功能产生不利的影响3 各个子功能组合起来 能否达到预期要求的父功能4 全局数据结构是否有问题5 单个模块的误差累积起来 是否会放大 从而达到不能接受的程度 确认测试 确认测试是在开发过程期间或结束时对系统或部件进行评价 以确定它是否满足特定的需求的过程 确定测试的任务是验证软件的功能和性能及其他特性是否与用户的需求一致 用户的要求在软件需求规格说明中已经明确规定 系统测试 系统测试是将通过确认测试的软件 作为整个基于计算机系统的一个元素 与计算机硬件 外设 某些支持软件 数据和人员等其他系统元素结合在一起测试在实际运行 使用 环境下 对计算机系统进行一系列的组装测试和确认测试系统测试的目的在于通过与系统的需求定义做比较 发现软件与系统定义不符合或与之矛盾的地方 验收测试 确定一系统是否符合其验收准则 使客户能确定是否接受此系统的正式测试 使用户 客户或其他授权实体确定是否接受系统或部件的正式测试 1 在通过了系统的有效性测试及软件配置审查之后 就应开始系统的验收测试 验收测试是以用户为主的测试2 项目经理负责组织验收组进行最终验收测试 验收组应由项目组成员 用户代表 相关专家等组成 3 验收测试原则上在顾客所在地进行 但如经顾客统一也可以在公司内模拟用户环境进行4 验收测试根据合同 需求规格说明书 或 验收测试计划 对成品进行验收测试5 对通过验收测试的软件产品应定义发布的软件版本号 第二部分测试设计 一 黑盒测试 黑盒测试是一种功能测试 有时也被称为数据驱动测试 它是把程序看成一只完全封闭的黑盒子 在测试者完全不了解 或不考虑程序的内部结构和逻辑处理过程的情况下 根据规格说明书规定的功能来设计测试用例 检查程序的功能是否符合规格说明书的要求 程序是否能适当的接收数据而产生正确的输出信息 并且保持外部信息 如数据库或文件 的完整性 黑盒测试内容 是否有不正确或遗漏的功能 在接口上 输入是否能被正确的接受 是否输出正确的结果 是否有数据结构错误或外部 如数据文件 访问错误 性能上是否能够满足要求 是否有初始化或终止性错误 黑盒测试方法 等价类划分边界值分析因果图法判定表法正交试验法功能图法 1 等价类划分法 等价类划分法的办法是把程序的输入域划分成若干部分 然后从每个部分中选取少量代表性数据作为测试用例 等价类分为 有效等价类 无效等价类 有效等价类 指对于程序的规格说明来说是合理的 有意义的输入数据构成的集合 无效等价类 与有效等价类的定义恰好相反 等价类划分举例 Key的口令密钥长度要求为2 8 则对key的口令长度进行测试时 有效等价类为2 8之间的任意数据 如 7 无效等价类为小于2和大于8的数据 如 1 9 Key的外部认证口令长度要求为8或16 则有效等价类为 8 16 无效等价类为8和16外的数据 如 15 2 边界值分析法 所谓边界条件就是指在相对于输入输出等价类直接在边界上 或稍高于边界 或稍低于边界的这些状态条件 边界值分析法更容易发现程序的错误 是对等价类划分法的有效补充 边界值分析法举例 Key的口令密钥长度要求为2 8 对key的口令长度进行测试 测试用例 1 2 8 9 二 白盒测试 白盒测试 有称为逻辑驱动测试 此方法是将测试对象比作一个打开的盒子 它允许测试人员利用程序内部的逻辑结构和相关信息来设计或选择测试用例 对穿过软件的逻辑路径进行测试 也可以在不同点检查程序的状态 以确定实际状态与预期状态是否一致 白盒测试方法 代码检查法静态结构分析法静态结构度量法逻辑覆盖法基本路径测试法其他白盒测试方法 1 代码检查法 代码检查法包括桌面检查 代码审查和走查等 主要检查代码和设计的一致性 代码对标准的遵循 可读性 代码逻辑表达的正确性 代码结构的合理性等方面 发现违背程序编写标准的问题 程序中不安全 不明确和模糊的部分 找出程序中不可移植部分 违背程序编程风格的问题 包括变量检查 命名和类型审查 程序逻辑审查 程序语法检查和程序结构检查等问题 2 静态结构分析法 在静态结构分析中 测试者通过使用测试工具分析程序源代码的系统结构 数据结构 数据接口 内部控制逻辑等内部结构 生成函数调用关系图 模块控制流图 内部文件调用关系图 子程序表 宏和函数参数表等各类图形图表 可以清晰的标识整个软件系统的组成结构 使其便于阅读与理解 然后可以通过分析这些图表 检查软件有没有存在缺陷或错误 3 静态质量度量法 根据ISO ICE9126国际标准的定义 软件的质量包括以下6个方面 功能性 可靠性 可用性 有效性 可维护性 轻便性 以ISO9126质量模型作为基础 我们可以构造质量度量模型 用于评估软件的每个方面 4 白盒测试法 动态测试 白盒测试的动态测试要根据程序的控制结构设计测试用例 其原则为 保证一个模块中所有独立路径至少被使用一次 对所有逻辑值均需测试true和false 对上下边界及可操作范围内运行所有循环 检查内部数据结构以确保其有效性 1 逻辑覆盖法 逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖 它是一系列测试过程的总称 这组测试过程逐渐进行越来越完整的通路测试 包括以下覆盖标准 语句覆盖 SC 判定覆盖 DC 条件覆盖 CC 条件判定组合覆盖 CDC 多条件覆盖 MCC 和修正判定条件覆盖 MCDC 逻辑覆盖举例 C语言程序 intfunction boola boolb boolc intx x 0 if a 逻辑覆盖举例 程序控制流程图 开始 X 0 a AND bORc X 1 结束 T F 语句覆盖 SC 程序中每条语句至少执行一次测试用例 a T b T c T 判定覆盖 DC 使程序中的每个判定至少都获得一次 真值 或 假值 或者说使得程序中的每一个取 真 分支和 假 分支至少经历一次 测试用例 a T b T c Ta F b F c F 条件覆盖 CC 使每一个判定语句中每个逻辑条件的可能值至少满足一次 测试用例a F b T c Fa T b F c T 条件判定组合覆盖 CDC 使判定中每个条件的所有可能 真 假 至少出现一次 并且每个判定本身的判定结果 真 假 也至少出现一次 测试用例 a T b T c Ta F b F c F 多条件覆盖 MCC 使每个判定中条件的各种可能组合都至少出现一次 测试用例 修正条件判定覆盖 MCDC 每一个程序模块的入口和出口都要考虑至少要被调用一次 每个程序的判定到所有可能的结果值至少转换一次 其次 程序的判定被分解为通过逻辑操作符 and or 连接的bool条件 每个条件对于判定的结果值使独立的 修正条件判定覆盖测试用例 2 基本路径测试法 在程序控制流图的基础上 通过分析控制流图的环路复杂性 导出基本可执行路径的集合 然后据此设计测试用例 设计出的测试用例要保证在测试中程序的每一条可执行语句至少执行一次 程序流程图 1 2 3 4 5 6 7 8 11 控制流程图 1 2 3 4 5 6 7 8 9 11 10 基本路径测试举例 测试用例 Path1 1 11Path2 1 2 3 4 5 10 11Path3 1 2 3 6 8 9 1 11Path4 1 2 3 6 7 9 10 11 第三部分软件缺陷管理 1 软件问题分类 软件错误软件缺陷软件故障软件失效 软件错误 软件错误是指在软件生存周期内的不希望或不可接受的认为错误 其结果将导致软件缺陷的产生 错误 还可以广义定义为 不正确的事务和行为 由于在可预见的时间内 软件仍将有人来开发 在整个软件生存期的各个阶段 都贯穿着人的直接或间接的干预 然而人难免犯错误 这必然给软件留下不良的痕迹 所以 我们说软件错误是一种人为的过程 对软件本身是一种外部行为 软件缺陷 软件缺陷是存在于软件 文档 数据 程序 之中的那些不希望或不可接受的偏差 如少一逗点 多一语句等 其结果是软件运行于某一特定条件时将出现软件故障 这时称软件缺陷被激活 只要软件出现的问题符合以下5种情况之一 就叫做软件缺陷 1 软件未达到产品说明书中标明的功能 2 软件出现了产品说明书中指明不会出现的错误 3 软件功能超出了产品说明书指明的范围 4 软件未达到产品说明书虽未指出但应达到的目标 5 软件测试人员认为软件难以理解 不易使用 运行速度慢 和最终用户认为不好使用 软件故障 软件故障是指在软件运行过程中出现的一种不希望或不可接受的内部状态 例如 软件处于执行一个多余循环过程时 我们说软件出现故障 此时若无适当措施加以及时处理 便产生软件失效 软件失效 软件失效是指在软件运行时产生的一种不希望或不可接受的外部行为结果 软件失效是系统行为对用户要求的偏离 是一种面向用户的概念 2 产生软件错误 缺陷的原因 实践标明 大多数软件缺陷产生的原因并非源自编程错误 主要来自于产品说明书的编写和产品方案的设计 产品说明书成为软件缺陷的罪魁祸首 这是因为产品说明书编写得不全面 不完整和不准确 而且经常更改 或者配置管理不完善 或者整个开发组没有很好得沟通和理解等情况而造成的 也就是说 这些软件缺陷与错误是出自于软件需求说明书本身得问题 或者开发人员对需求说明书得理解和沟通不足等原因造成的 软件缺陷的第二大来源是设计方案 也就是软件设计说明书 软件设计说明书是程序员开展软件计划和架构的地方 就像建筑师为建筑物绘制蓝图一样 在这里产生软件缺陷的原因跟产品说明书和需求说明书是类似的 即编写得片面 多变 以及设计人员得理解和沟通的不足等因素所造成的 3 缺陷与错误的划分 严重等级 严重 系统崩溃 数据丢失
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年特岗音乐教师面试必-备知识点与预测题详解
- 2025年物业高级管理面试技巧大揭秘模拟题及应对策略
- 西昌学院《海洋牧场》2024-2025学年第一学期期末试卷
- 2025年项目管理师专业认证考试试题集
- 大庆医学高等专科学校《环境工程实验IV(固体废物处理处置与资源化)》2024-2025学年第一学期期末试卷
- 广西经济职业学院《云计算与存储技术》2024-2025学年第一学期期末试卷
- 2025年特岗教师招聘面试小学数学模拟题及答案解析
- 浙江农林大学暨阳学院《经济学综合博弈实验》2024-2025学年第一学期期末试卷
- 2025年数据分析师应聘面试题与答案
- 鹤壁汽车工程职业学院《文创品牌策划》2024-2025学年第一学期期末试卷
- WB/T 1036-2006菱镁制品用玻璃纤维布
- 【词汇】高中英语新教材词汇总表(共七册)
- 北京市各县区乡镇行政村村庄村名明细
- 笔迹、指纹鉴定申请书
- 长沙市历年中考数学试卷,2014-2021年长沙中考数学近八年真题汇总(含答案解析)
- 【英语】人教版英语八年级英语下册阅读理解专题复习练习(含解析)
- 《植物生理学》课件第四章+植物的呼吸作用
- 2022年出差管理制度员工出差管理制度
- 工作责任心主题培训ppt课件(PPT 26页)
- 完整解读新版《英语》新课标2022年《义务教育英语课程标准(2022年版)》PPT课件
- 国家公交都市评价指标体系
评论
0/150
提交评论