北大测试全套课件和教案 软件测试概述课件

上传人:我*** 文档编号:145364748 上传时间:2020-09-19 格式:PPT 页数:42 大小:660KB
返回 下载 相关 举报
北大测试全套课件和教案 软件测试概述课件_第1页
第1页 / 共42页
北大测试全套课件和教案 软件测试概述课件_第2页
第2页 / 共42页
北大测试全套课件和教案 软件测试概述课件_第3页
第3页 / 共42页
北大测试全套课件和教案 软件测试概述课件_第4页
第4页 / 共42页
北大测试全套课件和教案 软件测试概述课件_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《北大测试全套课件和教案 软件测试概述课件》由会员分享,可在线阅读,更多相关《北大测试全套课件和教案 软件测试概述课件(42页珍藏版)》请在金锄头文库上搜索。

1、Lesson 1软件测试基本概念与流程,胡运友,Agenda,基本概念(Bug, 软件测试, Etc) 软件测试生命周期 软件测试基本方法 测试流程概述 测试常用文档,在软件开发过程中5个常见的问题是什么?,需求说明差 (poor requirements) 不切实际的时间表 (unrealistic schedule) 测试不充分 (inadequate testing ) 不断增加功能 (featuritis) 交流问题 (miscommunication),针对软件开发过程中的问题,有5个解决办法:,可靠的需求 (solid requirements) 合理的时间表 (realistic

2、 schedules) 适当的测试 (adequate testing) 尽可能坚持最初的需求 (stick to initial requirements as much as possible) 沟通 (communication ),What is Bug?,Bug一词的原意是“臭虫”或“虫子”。但是现在,在电脑系统或程序中,如果隐藏着的一些未被发现的缺陷或问题,人们也叫它“Bug” ,Bug的由来,从计算机诞生之日起,就有了Bug,第一个有记载的Bug是美国海军的编程员,编译器的发明者格蕾斯哈珀(Grace Hopper)发现的。哈珀后来成了美国海军的一个将军,主持了著名计算机语言Co

3、bol的开发。 1945年9月9日,下午3点,哈珀中尉正领着他的小组构造一个称为“马克二型”的计算机。这还不是一个完全的电子计算机,它使用了大量的继电器,是一种电子机械装置。第二次世界大战还没有结束,哈珀的小组夜以继日地工作。机房是一间第一次世界大战时建造的老建筑,那是一个炎热的夏天,房间没有空调,所有窗户都敞开散热。 突然,“马克二型”死机了。技术人员试了很多办法,最后定位到70号继电器出错。哈珀观察这个出错的继电器,出现一只飞蛾躺在中间,已经被继电器打死。他小心地用摄子将蛾子夹出来,用透明胶布粘到“事件记录本”中,并注明“第一个发现虫子的实例。” 从此以后人们将计算机错误戏称为虫子(Bug

4、),而把找寻错误的工作称为(Debug)。 哈珀的事件记录本,连同那个飞蛾,现在陈列在美国历史博物馆中。,什么是软件测试?,定义:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例运行软件,以发现软件错误的过程。 IEEE在1983年提出的:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别,软件测试目的,如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接 针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目 的是为了给最终用户提供具有一定可信度的质量评价,那么测试就

5、应该直接针对在实际应用中会经常用到的商业假设 。 在谈到软件测试时,许多人都引用Grenford J. Myers在The Art of Software Testing一书中的观点: (1)软件测试是为了发现错误而执行程序的过程; (2)测试是为了证明程序有错,而不是证明程序无错误 (3)一个好的测试用例是在于它能发现至今未发现的错误 (4)一个成功的测试是发现了至今未发现的错误的测试,软件测试的重要性,软件中的错误密度也需要测试来进行估计测试是所有工 程学科的基本组成单元,是软件开发的重要部分。自有 程序设计的那天起测试就一直伴随着。统计表明,在典 型的软件开发项目中,软件测试工作量往往占

6、软件开发 总工作量的40以上。而在软件开发的总成本中,用在 测试上的开销要占30到50如果把维护阶段也考虑在 内,讨论整个软件生存期时,测试的成本比例也许会有 所降低,但实际上维护工作相当于二次开发,乃至多次 开发,其中必定还包含有许多测试工作 。,软件所带来的悲剧,“冲击波”计算机病毒11 火星登陆事故 爱国者导弹防御系统 迪斯尼的圣诞节礼物 Windows2000安全漏洞,21世纪什么最贵软件测试工程师,软件测试工程师,目前IT行业极端短缺的金贵人才,未来5年IT行业最炙手可热的高薪职位。中国软件业每年新增约20万测试岗位就业机会,而企业、学校培养出的测试人才却不足需求量的1/10,这种测

7、试人才需求与供给间的差距仍在拉大。 软件测试产品质量的保证 软件测试控制成本的关键 软件测试软件可靠性确认 软件测试让企业具备国际竞争的实力 ,软件测试的认识误区,1)软件开发完成后进行软件测试 2)软件发布后如果发现问题,那是软件测试人员的错 3)软件测试要求不高,随便找个人都行 4)软件测试是测试人员的事情,与程序员无关 5)项目进度吃紧是时少做测试,时间富裕时多做测试 6)软件测试是没有前途的工作,只有程序员才是软件高手 这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度 才可能提高软件产品的质量。,软件测试生命周期, 测试信息流 软件测试模型 软件开发周期 软件测试周期,测试信

8、息流,软件配置:软件需求规格说明、软件设计规格说明、源代码等; 测试配置:测试计划、测试用例、测试程序等; 测试工具:测试数据自动生成程序、静态分析程序、动态分析程序、测试结果分析程序、以及驱动测试的测试数据库等等。 测试结果分析:比较实测结果与预期结果,评价错误是否发生。 排错(调试):对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档。 修正后的文档再测试:直到通过测试为止。,软件测试过程模型,V模型 W模型 H模型,软件测试过程模型V模型,软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系;,软件测试过程模型W模型,在V模型的基础上,增加千开发阶段的同

9、步测试,形成W模型;测试与开发同步进行,有利用尽早的发现问题,软件测试过程模型H模型,在H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段,测试模型使用,在实际工作中应灵活地运用各种模型的优点 V模型: 强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应;忽略了测试的对象不应该仅仅包括程序,没有明确指出对需求、设计的测试 W模型: 补充了V模型中忽略的内容,强调了测试计划等工作的先行和对系统需求和系统设计的测试;与V模型相同,没有对软件测试的流程进行说明 H模型: 强调测试是独立的

10、,只要测试准备完成,就可以执行测试,测试阶段划分,单元测试 主要目的是针对编码过程中可能存在的各种错误,例如用户输入验证过程中的边界值的错误。 集成测试 主要目的是针对详细设计中可能存在的问题,尤其是检查各单元与其它程序部分之间的接口上可能存在的错误。 系统测试 主要针对概要设计,检查了系统作为一个整体是否有效地得到运行,例如在产品设置中是否达到了预期的高性能。 验收测试 通常由业务专家或用户进行,以确认产品能真正符合用户业务上的需要. 回归测试 是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。,软件测试的基本方法,从测试是否针对系统的内部结构和具体实现算

11、法的角度划分: 白盒测试 黑盒测试 ALAC(Act-like-a-customer)测试,黑盒测试,功能测试(或数据驱动测试) 把程序看作一个不能打开的黑盆子 完全不考虑程序内部结构和内部特性 它只检查程序功能是否按照需求规格说明书的规定正常使用 黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等,主要用于软件确认测试。,白盒测试,也称结构测试或逻辑驱动测试 产品内部工作过程 按照程序内部的结构测试程序 白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。,ALAC(Act-like-a-customer)测试,一种基于客户使用产品的知识开发出来的测试方法,测试的过程及组织,

12、测试的过程及组织: 随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误 为目的的测试工作就显得更加困难。然而,为了尽可能多地找出程 序中的错误,生产出高质量的软件产品,加强对测试工作的组织和 管理就显得尤为重要 当设计工作完成以后,就应该着手测试的准备工作了一般来讲,由 一位对整个系统设计熟悉的设计人员编写测试大纲,明确测试的内 容和测试通过的准则,设计完整合理的测试用例,以便系统实现后 进行全面测试 。,软件测试流程,一般而言,软件测试从项目确立时就开始了,前后要经过以下一些主要环节: 需求分析测试计划测试设计测试环境搭建测试执行测试记录缺陷管理软件评估RTM.,需求分析,需求分析(

13、Requirment Analyzing)应该说是软件测试的一个重要环节,测试开发人员对这一环节的理解程度如何将直接影响到接下来有关测试工作的开展。 一般而言,需求分析包括软件功能需求分析、测试环境需求分析、测试资源需求分析等。,测试计划,测试计划(Test Plan)一般由测试负责人来编写。 测试计划的依据主要是项目开发计划和测试需求分析结果而制定。测试计划一般包括以下一些方面: 测试背景 测试依据 测试资源 测试资源 测试日程,测试设计,测试用例编写 测试场景设计,测试执行,单元测试集成测试系统测试出厂测试,其中每个阶段还有回归测试等。,缺陷管理,缺陷管理方面,很多公司都采取缺陷管理工具来

14、进行管理,常见缺陷管理工具有Test Director、Bugfree等。 测试记录 BUG的提交和描写,缺陷管理 Bug状态改变,软件评估这里评估指软件经过一轮又一轮测试后,确认软件无重大问题或者问题很少的情况下,对准备发给客户的软件进行评估,以确定是否能够发行给客户或投放市场。 软件评估小组一般由项目负责人、营销人员、部门经理等组成,也可能是由客户指定的第三方人员组成。 测试总结 每个版本有每个版本的测试总结,每个阶段有每个阶段的测试总结,当项目完成RTM后,一般要对整个项目做个回顾总结,看有哪些做的不足的地方,有哪些经验可以对今后的测试工作做借鉴使用,等等。测试总结无严格格式、字数限制。

15、应该说,测试总结还是很总要的。 测试维护 由于测试的不完全性,当软件正式release后,客户在使用过程中,难免遇到一些问题,有的甚至是严重性的问题,这就需要修改有关问题,修改后需要再次对软件进行测试、评估、发行,测试常用文档与用法,测试计划 整个测试需要那些资源,时间安排,需要产生哪些文档 测试用例 根据需求编写对应功能模块的测试案例,熟悉系统 测试报告 对每一个完成的模块进行详尽的测试,完成测试报告 bug 跟踪 bug 跟踪,并且进行数据统计和回归,软件测试的复杂性与经济性,程序测试只能证明错误的存在,但不能证明错误不存在 EWDijkstra 不充分的测试是愚蠢的,而过度的测试是一种罪孽,软件测试的心理学问题,1、程序测试的过程具有破坏性 2、程序员应避免测试自己的程序 3、程库设计机构不应测试自己的程序,好的测试工程师应具备的素质 ?,、沟通能力。 、移情能力 、技术能力 、自信心 、外交能力 、幽默感 、很强的记忆力 、耐心 、怀疑精神 、自我督促 11、洞察力,回顾,Bug,软件测试的概念 软件测试生命周期 软件测试有几大模型? 软件测试一般流程, 每个阶段穿插的测试文档 Bug的状态有哪些?,The end, thanks,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号