软件测试与改错——掌握有效测试的方法与技术林锐博士内容摘要:
的部分 ( 见下表 ) , 其它次要部分可以忽略或将来再测试。 Page 13 4. 企业的测试策略 “ 偷工减料 ” 方法的测试优先级: – 哪些功能是软件的特色。 – 哪些功能是用户最常用的。 – 如果系统可以分块卖的话,哪些功能块在销售时最昂贵。 – 哪些功能出错将导致用户不满或索赔。 – 哪些程序是最复杂、最容易出错的。 – 哪些程序是相对独立,应当提前测试的。 – 哪些程序最容易扩散错误。 – 哪些程序是全系统的性能瓶颈所在。 – 哪些程序是开发者最没有信心的。 测试何时结束 基于测试用例的规则 基于 “ 测试期缺陷密度 ” 的规则 基于 “ 运行期缺陷密度 ” 的规则 测试奖励机制 根据缺陷的危害程度 , 把奖金分等级。 每个新缺陷对应一份奖金 , 把奖金发给第一个发现该缺陷的人。 奖金额要适当 , 太低了人们不感兴趣 , 太高了会让项目破产的。 Page 14 5. 测试规范 测试流程 第一步:制定测试计划。 该计划被批准后转向第二步。 第二步:设计测试用例。 该用例被批准后转向第三步。 第三步:如果满足 “ 启动准则 ” , 那么执行测试。 第四步:撰写测试报告。 第五步:消除软件缺陷。 如果满足 “ 完成准则 ” , 那么正常结束测试。 制定测试计划 设计测试用例 执行测试 撰写测试报告 消除软件缺陷 审批 审批 回归测试 完成 测试 完成准则 启动准则 Page 15 5. 测试规范 测试启动准则 同时满足以下条件 , 允许开始测试: – ( 1) 测试计划已经制定并且通过了审批; – ( 2) 测试用例已经设计并且通过了审批; – ( 3)被测试对象已经开发完毕并等待测试。 测试完成准则 对于非严格系统可以采用 “ 基于测试用例 ” 的准则。 同时满足以下条件允许结束测试: – ( 1) 功能性测试用例通过率达到 100% ; – ( 2) 非功能性测试用例通过率达到 90% 时。 对于严格系统 , 应当补充 “ 基于测试期缺陷密度 ” 的规则: – ( 3)相邻 n个 CPU小时内 “ 测试期缺陷密度 ” 全部低于某个值 m。 例如 n大于 10, m小于等于 1。 测试文档模板 测试计划参考模板 测试用例参考模板 测试报告参考模板 Page 16 测试 计划的参考模板 Page 17 测试 用例 Page 18 测试 报告的参考模板 Page 19 6. 软件系统的主要测试内容及技术 接口与路径测试 功能测试 健壮性测试 性能测试 用户界面测试 信息安全测试 压力测试 可靠性测试 安装 /反安装测试 Page 20 6. 软件系统的主要测试内容及技术 接口与路径测试 数据一般通过接口输入和输出,所以接口测试是白盒测试的第一步。 每个接口可能有多个输入参数,每个参数有 “ 典型值 ” 、 “ 边界值 ” 、 “ 异常值 ” 之分,所以输入的组合数可能并不少。 根据接口的定义,可以推断某种输入应当产生什么样的输出。 输出包括函数的返回值和输出参数。 如果实际输出与期望的输出不一致,那么说明程序有错误。 白盒方式的接口测试和黑盒方式的功能测试,其方法十分相似。 一个函数体内的语句可能只有十几条,但逻辑路径可能有成千上万条。 想遍历测试几乎是不可能的,不测试或者胡乱找几条路径测试却又不行。 对于非严格系统而言,在分析路径方面化费很多精力是不值得的。 我认为在构造接口测试的同时已经建立了测试路径。 因为每一种输入将产生唯一的输出,输入与输出之间的路径也是唯一的。 由于接口测试中的输入是有代表性的,因此相应的路径也具有代表性,不用得着费煞苦心地去找测试路径。 路径测试的检查表 – 数据类型、变量值、逻辑判断、循环、内存管理、文件 I/O、 错误处理 由于接口测试是枚举的 , 有可能漏掉某些状况 , 导致一些重要的路径没有被测试。 预防措施有: – 观察是否有程序语句从来没有被执行过。 如果发生在这种情况 , 要么是程序有错误 , 存在无用的代码;要么是接口测试不充分 , 漏掉了一些路径。 – 要特别留意函数体内的错误处理程序块(如果存在的话),这是最易被人疏忽的路径,隐患最多。 Page 21 6. 软件系统的主要测试内容及技术 接口与路径测试用例的参考模板 Page 22 6. 软件系统的主要测试内容及技术 功能测试 功能测试的基本方法是构造一些合理输入(在需求范围之内),检查输出是否与期望的相同。 如果两者不一致,即表明功能有误。 也有例外的情况,如《需求规格说明书》中的某个功能写错了,而实际上软件的功能却是正确的,这时要更改的是《需求规格说明书》。 功能测试看起来比较简单,只要看得懂《需求规格说明书》,谁都会做。 难点在于如何构造有效的输入。 由于输入空间通常是无限的,穷举测试显然行不通。 那么随便输入一些东西,碰运气行不行。 功能测试有两种比较好的测试方法:等价划分法和边界值分析法。 – 等价划分是指把输入空间划分为几个 “ 等价区间 ” ,在每个 “ 等价区间 ” 中只需要测试一个典型值就可以了。 等价划分法来源于人们的直觉与经验,可令测试事半功倍。 – “ 缺陷遗漏在角落里。软件测试与改错——掌握有效测试的方法与技术林锐博士
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。