软件测试理论和方法.ppt
《软件测试理论和方法.ppt》由会员分享,可在线阅读,更多相关《软件测试理论和方法.ppt(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件测试理论和方法由安博测试空间技术中由安博测试空间技术中心心http:/ first Bugv海军中尉,格蕾丝霍波计算机软件第一夫人v1947年夏,哈佛大学vMark II 计算机 v继电器触点,飞蛾,第一只有记载的“电脑虫”软件缺陷-Defectv软件缺陷是对软件产品与其属性的偏离现象:-对产品规格说明的偏离-对用户期望的偏离v软件产品的三类缺陷:-错误:未将规格说明书正确实现-遗漏:规定的或预期的需求未体现在产品中-额外的实现:规格说明书并未规定的需求被纳入产品,并得到实现v软件缺陷不可能完全避免软件缺陷v行业对比-机械制造业-建筑业-软件业v缺陷是软件内部的“裂缝”,在为影响用户和系统
2、运行的情况下是隐蔽的,但是,当缺陷引发运行错误或产生负面影响时,将会构成事故,造成损失或伤害。软件测试理论和方法v软件缺陷v排除软件缺陷的两种重要手段排除软件缺陷的两种重要手段v软件测试的基本概念v测试过程v测试方法v测试类型v测试策略v测试工具软件测试排除软件缺陷的第一个重要手段v测试在软件开发中占有重要地位v测试成本占有近一半的开发成本软件开发成本分布:软件类型开发成本按阶段分部(%)需求与设计实现测试控制软件462034航天航空软件342046操作系统331750科技计算软件442630商业应用软件442828软件项目评审排除软件缺陷的第二个重要手段软件测试理论和方法v软件缺陷v排除软件
3、缺陷的两种重要手段v软件测试的基本概念软件测试的基本概念v测试过程v测试方法v测试类型v测试策略v测试工具软件测试的基本概念v测试的目的v测试的对象v软件测试的原则v软件测试信息流v为什么不可能做到穷举测试v软件测试的现状和局限性测试的目的提高产品的质量。提高产品的商誉,获得更多的销售机会和市场份额。降低客户的售后支持成本以及产品维护成本。v测试是程序执行的过程,目的在于发现错误(缺陷)v好的测试用例能有效地发现别的测试用例未发现的错误(缺陷)v成功的测试是发现了未曾发想的错误(缺陷)测试的对象11、程序测试:发现程序中的缺陷测试的对象22、软件测试:发现程序及前期设计开发的缺陷软件测试的原则
4、v在测试工作开始前,不应设想程序中没有缺陷或找不出缺陷(软件心理学)v测试以前应预知测试的结果数据v尽可能避免测试自己写的程序,坚持独立测试原则,必要的情况下建立独立测试机构v测试用例应兼顾有效输入和无效输入v不仅要检验程序是否做了应该做的事,还应检验是否做了不应该做的事v测试的充分性v测试的有效性v保留一切测试用例v任何已测程序的变更都应重新测试(回归测试)软件测试信息流测试的成本曲线为什么不可能做到穷举测试 1该程序有5条独立路径,含一个循环,最大循环次数为20次分析:v循环次数:0 1 2 3 19 20v独立路径数:51+52+53+5211014(100万亿)v每个测试用例(考虑、执
5、行、验证结果)5分钟v共需测试时间:10亿年为什么不可能做到穷举测试 2v一个功能模块有两个输入A和B,一个输出C。输入A、B:均为最大长度为32的正整数v测试:A1、B1 C1A2、B2 C2 An、Bn Cnn=232 x 232=264 1.84 x 1019软件测试的现状和局限性v目前的软件测试仍然是发现一个缺陷,解决一个缺陷v随着测试工作的进展,隐藏的缺陷将逐渐减少v采用任何测试方法都只能发现某些缺陷v不存在一个理想的测试方法能够发现所有的缺陷v不存在没有缺陷的软件,即使经过了周密的测试、运行的考验和维护的修补。软件测试理论和方法v软件缺陷v排除软件缺陷的两种重要手段v软件测试的基本
6、概念v测试阶段测试阶段v测试过程v测试方法v测试类型v测试策略v测试工具测试阶段-V 模型需求分析系统设计详细设计编码单元测试集成测试系统测试验收测试时间程序员的理解程序员的理解=用户的理解用户的理解 详细程度V 模型的优缺点v优点:文档驱动的开发模型很注重反馈和测试在需求非常明确的前提下可以使用,也适用于有长期专职开发人员的小型项目开发。v不足:严格限定了开发的各阶段,缺乏迭代性。集成测试的时候是发现缺陷最多的时候,在V模型中滞后严重。不支持探测性测试。不适合新领域,缺乏对变化的支持。不支持频繁集成。XP 中的测试简单设计迭代计划测试驱动Pair开发持续集成重构1.N个个Iteration发
7、布计划1.N个个Release小发布发布1.N个个TaskXP 的特点v每日集成:所有的源代码保存在单一的开发服务器上。可运行的程序框架。自动化编译,创建。所有人都可以得到最新、最好的可执行文件v测试优先:先测试后编程组队编程 Pair programming用户在场 On-site缺陷样本管理定期培训v支持重构:代码集体所有增量开发举例:微软的XP元素v微软的一天从几点开始?答:半夜v为什么?答:因为Daily Build是所有工作的核心,而且是在半夜自动启动。举例:微软的XP元素(续)v程序员每天上班前最担心什么?答:由于自己前一天的代码Check-in,造成Blocking Bug。v为
8、什么?因为每天的Build时所有人当天工作的基础 程序员需要Build验证与其他模块的接口 测试需要Build发现新的Bug,并验证新Build中已解决的Bug。举例:微软的XP元素(续)v有Blocking Bug怎么办?答:解决问题,并对今天的Build打Patch。v经历对Build的提心吊胆和争分夺秒后,开发人员的第一件事做什么?答:打开缺陷跟踪工具,查看指定给自己的Bug,解决高优先度的Bug。因为质量重于新功能。举例:微软的XP元素(续)v接下来开发人员会 从版本控制工具中Check Out代码 修改代码(解决Bug或实现新功能)取得版本工具中最新变化,在本机Build,并进行单元
9、测试 请开发组同事做Code Review Check in代码软件测试理论和方法v软件缺陷v排除软件缺陷的两种重要手段v软件测试的基本概念v测试过程测试过程v测试方法v测试类型v测试策略v测试工具测试过程测试计划测试计划测试计划测试计划测试设计测试设计测试设计测试设计测试开发测试开发测试开发测试开发测试执行测试执行测试执行测试执行测试评估测试评估测试评估测试评估测试过程测试计划v测试目标v测试的范围v测试的项目v采用的测试手段v需要的工具、资源v交付物 Artifacts测试设计v确认和详细描述测试用例v确认和设计测试脚本v评估测试覆盖测试开发v建立测试环境v录制或编写测试脚本v开发测试驱动
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 理论 方法
限制150内