《软件测试基础知识ppt课件》由会员分享,可在线阅读,更多相关《软件测试基础知识ppt课件(108页珍藏版)》请在金锄头文库上搜索。
1、 Title | Description1软件测试基础知识柴晓华 August 2011Title | Description2互相介绍Title | Description3时间安排9:00-10:15培训时间 10:15-10:30课间休息 10:30-11:40培训时间 11:40-13:00午餐时间 13:00-14:30培训时间 14:30-14:45课间休息 14:45-16:00培训时间 16:00-16:30当日回顾Title | Description4课程安排软件缺陷 软件测试的定义 软件测试的目的 软件测试的原则 软件测试的分类 软件测试生命周期、模型及其区别Title
2、| Description5缺陷著名案例迪斯尼的狮子王游戏Intel奔腾浮点除法软件缺陷美国航天局火星极地登陆千年虫Title | Description6迪斯尼的狮子王游戏 时间:19941995 背景:迪斯尼公司首次进军儿童游戏市场,市场宣 传力度很大,前期销售情况很好 出现的问题:该游戏在一些PC机上无法玩 原因:迪斯尼公司没有对市场上已经投入运行的PC 机型进行调研,并且进行测试,导至该游戏只在程 序员开发游戏的系统上可以运行,但在大众使用的 常见系统中无法运行 结果:迪斯尼公司不得不承担客户的投诉、产品退 货、更换光盘、以及又一轮的调试、修改和测试的 所有费用。Title | Des
3、cription7Intel奔腾浮点除法软件缺陷 时间:1994 背景:Intel发布的一款新处理器 问题:在装有这款处理器计算机的计算器中执行算 式(4195835/3145727)3145727-4195835”不等于0 原因:老式奔腾CPU的浮点除法软件有缺陷 结果:Intel事实上在芯片发布之前,已经发现 了这 个缺陷,但认为认为 不严严重,没有修正。被外界发现后, 试图掩饰。最终,迫于舆论压 力公开道歉,花费4亿 美元更换老芯片。Title | Description8美国航天局火星极地登陆 时间:1999年12月3日 背景:火星极地登陆飞船在试图登陆火星表面时失 踪 问题:某一个数
4、据位被意外复位. 原因:为了省钱,采用一个廉价的触点开关来控制关 闭推进器。但是由于飞船脚迅速打开的机械震动, 大多数情况下也会打开触点开关,并设置错误的数 据位。测试过 程分两组:一组是测试飞 船脚的落地 打开过程;另一组是测试飞 船打开后的着陆过程; 前一组没有注意数据位是否被置位,因为这不是他 们负责 的范围。而后一个组在每次测试之前又重置 计算机,清除所有的数据位。双方独立工作都很正常 ,但两个组组没有进进行集成测试测试 。 结果:飞船坠毁Title | Description9千年虫 时间:20世纪90年代 背景:随着21世纪的到来,很多的计算机系统都面 临着千年虫的危害 问题:这样
5、就导致2000年以后的年份的记录出现 问题,如00年是指1900还是2000? 原因:20实际70年代时,由于计计算机存储储空间间很小 ,并且十分昂贵贵,所以在计算机中记录时间 采用了 偷懒的方式,例如将1973缩减为73 结果:世界各地为了更换和升级系统,花费了上百 亿的美元Title | Description10什么是软件缺陷?Title | Description11软件缺陷定义1IEEE定义: 从产品内部看,缺陷是软件产品开发或维护过程中存 在的错误、毛病等各种问题; 从产品外部看,缺陷是系统所需要实现的某种功能的 失效或违背。Title | Description12软件缺陷定义2
6、(1)软件未达到产品说明书中已经标经标 明的功能; (2)软件出现现了产品说明书中指明不会出现现的错误错误 ; (3)软件未达到产品说明书中虽虽未指出但应应当达到的 目标标; (4)软件功能超出了产品说明书中指明的范围; (5)软件测试人员认为软 件难难以理解、不易使用,或 者最终用户认为该软 件使用效果不良。Title | Description13软件缺陷定义-例子1(1) 软件未达到产品说明书中已经标经标 明的功能 ; 计算器的产品说明书声称:它能够准确无误的进行 加减乘除运算。测试人员输入5/0”,如果没有反应 或出现错误的反映,则根据上述规则,这是一个软 件缺陷。(2)软件出现现了产
7、品说明书指明不会出现现的错误错误 说明书声称计算器永远不会崩溃、死锁。如果狂敲 键盘会使计算器停止接受输入,那么根据第2条, 这是一个缺陷。Title | Description14软件缺陷定义-例子2(3)软件未达到产品说明书中虽虽未指出但应应当达到的目标标 ; 对于测试人员来讲,这实际上是为了找出产品说明书中 的遗漏之处。例如,在测试计算器时,发现电池没电时 会导致计算不正确。说明书中可能没有提及这一点,这 是缺陷(4)软件功能超出了产品说明书中指明的范围; 如果计算器产品说明书只说明了其能够完成加减乘除的 运算,而在实际中发现其还可以进行平方根的运算,这 是缺陷。Title | Desc
8、ription15软件缺陷定义-例子3(5)软件测试人员认为软 件难难以理解、不易使用,或 者最终用户认为该软 件使用效果不良。 这是一个含盖比较广的规则。测试人员往往是真正 使用软件的第一人,扮演着客户的角色。如果发现 有什么不对劲的地方,无论什么原因都要认定为是 软件缺陷。例如,某个按钮的位置不好,界面的格 局设计不符合习惯,颜色太刺眼等;Title | Description16软件缺陷定义3缺点(defect) 偏差 (variance)谬误(fault) 失败 (failure)问题(problem) 矛盾(inconsistency)错误(error ) 毛病 (incident
9、)异常(anomy)Title | Description17软软件缺陷的特征看不到 软件的特殊性决定了缺陷不易看到看到但是抓不到 发现了缺陷,但不易找到问题发生的原因所 在Title | Description18软件缺陷的产生原因1技术问题 算法错误,语法错误,计算和精度问题,接口参数传递不匹配团队工作 误解、沟通不充分软件本身 文档错误、用户使用场合(user scenario), 时间上不协调、或不一致性所带来的问题 系统的自我恢复或数据的异地备份、灾难性恢复等问题Title | Description19原始要求正确的规格说明错误的规格说明需求分析设计正确的设计错误的设计对错误说明的
10、设计编码正确编码错误编码对错误设 计的编码对错误说明的 编码测试正确功能 可改正的错误不可改正 的错误潜伏的错误不完善的软件产品Title | Description20软件缺陷的产生原因2Title | Description21软件缺陷的代价 由于质量差导致软件 某项或全部功能/性能 失败 增加了软件开发成本 使软件产品推向市场 的时间滞后 增加了市场交易成本 财产 生命Title | Description22缺陷的代价Title | Description23小组讨论 发现本机构软件潜在的缺陷,风险及其对我们业务 的损害Title | Description24什么是软件测试?Titl
11、e | Description25软件测试定义1根据侧重点的不同,主要有三种观点:1)1983年IEEE将软件测试定义为: 使用人工或自动动手段运行或测测定某个系统统的过程, 其目的在于检验它是否满满足规规定的需求或是弄清预预 期结结果与实际结实际结 果之间间的差别别,该定义明确地提出 了软件测试以检验检验 是否满满足需求为为目标标。Title | Description26软件测试定义22)Myers认为: 是为了发现错误发现错误 而执行程序的过程,明确提出了寻寻 找错误错误 是测试测试 目的。Title | Description27软件测试定义33)从软件质量保证的角度看: 是一种重要的
12、软件质量保证活动,其动机是通过一 些经济、高效的方法,捕捉软软件中的错误错误 ,从而达到 保证软证软 件内在质质量的目的。Title | Description28测试目的1 软件测试是为为了发现错误发现错误 而执执行程序的过过程 一个好的测试能够在第一时间时间 发现程序中存在的 错误 一个好的测试是发现发现 了至今尚未发现发现 的错误错误 的测 试。软件测试是质量控制的重要手段,保证客软件测试是质量控制的重要手段,保证客 户拿到或用户使用高质量的软件产品户拿到或用户使用高质量的软件产品Title | Description29测试目的2 测试并不仅仅是为了找出错误.通过分析错误产错误产 生
13、的原因和错误错误 的发发生趋势趋势 ,可以帮助项目管理者发 现当前软件开发过程中的缺陷,以便及时时改进进 这种分析也能帮助测试测试 人员设计员设计 出有针对针对 性的测测 试试方法,改善测试的效率和有效性 没有发现错误发现错误 的测试测试 也是有价值值的,完整的测试 是评定软件质量的一种方法 根据测试目的的不同,还有回归测试 、压力测试、 性能测试等,分别为了检验修改或优化过程是否引 发新的问题、软软件所能达到处处理能力和是否达到预预 期的处处理能力等。 Title | Description30软件测试的原则(1)尽早地和及时地测试; (2)测试用例应当由测试数据和与之对应的预期结果 这两部
14、分组成; (3)在程序提交测试后,应当由专门的测试人员进行 测试; (4)测试用例应包括合理的输入条件和不合理的输入 条件; (5)严格执行测试计划,排除测试的随意性; (6)充分注意测试当中的群体现象; (7)应对每一个测试结果做全面的检查; (8)保存测试计划、测试用例、出错统计和最终分析 报告,为维护工作提供充分的资料。Title | Description31Verification & Validation软件测试主要工作内容是Verification & Validation Verification:Are we building the product right? 是否正确地
15、构造了软件?即是否正确地做事,验证开发 过程是否遵守已定义好的内容。验证产 品满足规格设 计说明书的一致性 Validation: Are we building the right product? 是否构造 了正是用户所需要的软件?即是否正在做正确的事。验 证产品所实现的功能是否满足用户的需求Title | Description32软软件测试测试 分类类方法目标/特性单元测试系统测试验收测试性能测试强壮性测试功能测试 白盒测试黑盒测试测试阶段或层次兼容测试可靠性测试集成测试安全性测试Title | Description33软软件测试测试 分类类-测试阶测试阶 段 单元测试:针对每个单元
16、的测试,以确保每个模块 能正常工作为目标。 集成测试:对已测试过的模块进行组装,进行集成 测试。目的在于检验与软件设计相关的程序结构问 题。 系统测试:检验软件产品能否与系统的其他部分( 比如,硬件、数据库及操作人员)协调工作。 验收(用户)测试:检验软件产品质量的最后一道 工序。主要突出用户的作用,同时软件开发人员也 应有一定程度的参与。Title | Description34为什么要做单元测试?Title | Description35为为什么要进进行单单元测试测试 ?尽早发现错误错误发现越早,成本越低.开发人员过于自信,后期复杂 度高,发现解决BUG困难.检查代码是否符合设计和规范12小时6小时3小时单元测试集成测试系统测试Title | Description36单单