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

链接地址:https://www.31ppt.com/p-5319418.html