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

上传人:e****s 文档编号:243637438 上传时间:2024-09-27 格式:PPT 页数:42 大小:639.50KB
返回 下载 相关 举报
北大测试全套课件和教案 软件测试概述课件3_第1页
第1页 / 共42页
北大测试全套课件和教案 软件测试概述课件3_第2页
第2页 / 共42页
北大测试全套课件和教案 软件测试概述课件3_第3页
第3页 / 共42页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Lesson 1软件测试根本概念与流程,胡运友,Agenda,根本概念(Bug, 软件测试, Etc),软件测试生命周期,软件测试根本方法,测试流程概述,测试常用文档,在软件开发过程中5个常见的问题是什么?,需求说明差 (poor requirements),不切实际的时间表 (unrealistic schedule),测试不充分 (inadequate testing ),不断增加功能 (featuritis),交流问题 (miscommunication),针对软件开发过程中的问题,有5个解决方法:,可靠的需求 (solid requirements),合理的时间表 (realistic schedules),适当的测试 (adequate testing),尽可能坚持最初的需求 (stick to initial requirements as much as possible),沟通 (communication ),What is Bug?,Bug一词的原意是“臭虫或“虫子。但是现在,在电脑系统或程序中,如果隐藏着的一些未被发现的缺陷或问题,人们也叫它“Bug ,Bug的由来,从计算机诞生之日起,就有了Bug,第一个有记载的Bug是美国海军的编程员,编译器的创造者格蕾斯哈珀Grace Hopper发现的。哈珀后来成了美国海军的一个将军,主持了著名计算机语言Cobol的开发。,1945年9月9日,下午3点,哈珀中尉正领着他的小组构造一个称为“马克二型的计算机。这还不是一个完全的电子计算机,它使用了大量的继电器,是一种电子机械装置。第二次世界大战还没有结束,哈珀的小组夜以继日地工作。机房是一间第一次世界大战时建造的老建筑,那是一个炎热的夏天,房间没有空调,所有窗户都敞开散热。,突然,“马克二型死机了。技术人员试了很多方法,最后定位到70号继电器出错。哈珀观察这个出错的继电器,出现一只飞蛾躺在中间,已经被继电器打死。他小心地用摄子将蛾子夹出来,用透明胶布粘到“事件记录本中,并注明“第一个发现虫子的实例。,从此以后人们将计算机错误戏称为虫子Bug,而把找寻错误的工作称为Debug。,哈珀的事件记录本,连同那个飞蛾,现在陈列在美国历史博物馆中。,什么是软件测试?,定义:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例运行软件,以发现软件错误的过程。,IEEE在1983年提出的:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差异,软件测试目的,如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接,针对软件比较复杂的局部或是以前出错比较多的位置。如果测试目,的是为了给最终用户提供具有一定可信度的质量评价,那么测试就,应该直接针对在实际应用中会经常用到的商业假设 。,在谈到软件测试时,许多人都引用Grenford J. Myers在?The Art of,Software Testing?一书中的观点:,(1)软件测试是为了发现错误而执行程序的过程;,(2)测试是为了证明程序有错,而不是证明程序无错误,(3)一个好的测试用例是在于它能发现至今未发现的错误,(4)一个成功的测试是发现了至今未发现的错误的测试,软件测试的重要性,软件中的错误密度也需要测试来进行估计测试是所有工,程学科的根本组成单元,是软件开发的重要局部。自有,程序设计的那天起测试就一直伴随着。统计说明,在典,型的软件开发工程中,软件测试工作量往往占软件开发,总工作量的40以上。而在软件开发的总本钱中,用在,测试上的开销要占30到50如果把维护阶段也考虑在,内,讨论整个软件生存期时,测试的本钱比例也许会有,所降低,但实际上维护工作相当于二次开发,乃至屡次,开发,其中必定还包含有许多测试工作 。,软件所带来的悲剧,“冲击波计算机病毒11,火星登陆事故,爱国者导弹防御系统,迪斯尼的圣诞节礼物,Windows2000平安漏洞,21世纪什么最贵软件测试工程师,软件测试工程师,目前IT行业极端短缺的金贵人才,未来5年IT行业最炙手可热的高薪职位。中国软件业每年新增约20万测试岗位就业时机,而企业、学校培养出的测试人才却缺乏需求量的1/10,这种测试人才需求与供给间的差距仍在拉大。,软件测试产品质量的保证,软件测试控制本钱的关键,软件测试软件可靠性确认,软件测试让企业具备国际竞争的实力,:/,软件测试的认识误区,1软件开发完成后进行软件测试,2软件发布后如果发现问题,那是软件测试人员的错,3软件测试要求不高,随便找个人都行,4软件测试是测试人员的事情,与程序员无关,5工程进度吃紧是时少做测试,时间富裕时多做测试,6软件测试是没有前途的工作,只有程序员才是软件高手,这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。,软件测试生命周期,测试信息流,软件测试模型,软件开发周期,软件测试周期,测试信息流,软件配置:软件需求规格说明、软件设计规格说明、源代码等;,测试配置:测试方案、测试用例、测试程序等;,测试工具:测试数据自动生成程序、静态分析程序、动态分析程序、测试结果分析程序、以及驱动测试的测试数据库等等。,测试结果分析:比较实测结果与预期结果,评价错误是否发生。,排错(调试):对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档。,修正后的文档再测试:直到通过测试为止。,软件测试过程模型,V模型,W模型,H模型,软件测试过程模型V模型,软件开发瀑布模型的变种,主要反映测试活动与分析和设计的关系;,软件测试过程模型W模型,在V模型的根底上,增加千开发阶段的同步测试,形成W模型;测试与开发同步进行,有利用尽早的发现问题,软件测试过程模型H模型,在H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与,其他,流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段,测试模型使用,在实际工作中应灵活地运用各种模型的优点,V模型: 强调了在整个软件工程开发中需要经历的假设干个测试级别,并与每一个开发级别对应;忽略了测试的对象不应该仅仅包括程序,没有明确指出对需求、设计的测试,W模型: 补充了V模型中忽略的内容,强调了测试方案等工作的先行和对系统需求和系统设计的测试;与V模型相同,没有对软件测试的流程进行说明,H模型: 强调测试是独立的,只要测试准备完成,就可以执行测试,测试阶段划分,单元测试,主要目的是针对编码过程中可能存在的各种错误,例如用户输入验证过程中的边界值的错误。, 集成测试,主要目的是针对详细设计中可能存在的问题,尤其是检查各单元与其它程序局部之间的接口上可能存在的错误。, 系统测试,主要针对概要设计,检查了系统作为一个整体是否有效地得到运行,例如在产品设置中是否到达了预期的高性能。, 验收测试,通常由业务专家或用户进行,以确认产品能真正符合用户业务上的需要.,回归测试 是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。,软件测试的根本方法,从测试是否针对系统的内部结构和具体实现算法的角度划分:,白盒测试,黑盒测试,ALAC(Act-like-a-customer)测试,黑盒测试,功能测试或数据驱动测试,把程序看作一个不能翻开的黑盆子,完全不考虑程序内部结构和内部特性,它只检查程序功能是否按照需求规格说明书的规定正常使用,黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等,主要用于软件确认测试。,白盒测试,也称结构测试或逻辑驱动测试,产品内部工作过程,按照程序内部的结构测试程序,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。,ALAC(Act-like-a-customer)测试,一种基于客户使用产品的知识开发出来的测试方法,测试的过程及组织,测试的过程及组织:,随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误,为目的的测试工作就显得更加困难。然而,为了尽可能多地找出程,序中的错误,生产出高质量的软件产品,加强对测试工作的组织和,管理就显得尤为重要,当设计工作完成以后,就应该着手测试的准备工作了一般来讲,由,一位对整个系统设计熟悉的设计人员编写测试大纲,明确测试的内,容和测试通过的准那么,设计完整合理的测试用例,以便系统实现后,进行全面测试 。,软件测试流程,一般而言,软件测试从工程确立时就开始了,前后要经过以下一些主要环节:,需求分析测试方案测试设计测试环境搭建测试执行测试记录缺陷管理软件评估RTM.,需求分析,需求分析Requirment Analyzing应该说是软件测试的一个重要环节,测试开发人员对这一环节的理解程度如何将直接影响到接下来有关测试工作的开展。,一般而言,需求分析包括软件功能需求分析、测试环境需求分析、测试资源需求分析等。,测试方案,测试方案Test Plan一般由测试负责人来编写。,测试方案的依据主要是工程开发方案和测试需求分析结果而制定。测试方案一般包括以下一些方面:,测试背景,测试依据,测试资源,测试资源,测试日程,测试设计,测试用例编写,测试场景设计,测试执行,单元测试集成测试系统测试出厂测试,其中每个阶段还有回归测试等。,缺陷管理,缺陷管理方面,很多公司都采取缺陷管理工具来进行管理,常见缺陷管理工具有Test Director、Bugfree等。,测试记录,BUG的提交和描写,缺陷管理,Bug状态改变,软件评估这里评估指软件经过一轮又一轮测试后,确认软件无重大问题或者问题很少的情况下,对准备发给客户的软件进行评估,以确定是否能够发行给客户或投放市场。,软件评估小组一般由工程负责人、营销人员、部门经理等组成,也可能是由客户指定的第三方人员组成。,测试总结,每个版本有每个版本的测试总结,每个阶段有每个阶段的测试总结,当工程完成RTM后,一般要对整个工程做个回忆总结,看有哪些做的缺乏的地方,有哪些经验可以对今后的测试工作做借鉴使用,等等。测试总结无严格格式、字数限制。应该说,测试总结还是很总要的。,测试维护,由于测试的不完全性,当软件正式release后,客户在使用过程中,难免遇到一些问题,有的甚至是严重性的问题,这就需要修改有关问题,修改后需要再次对软件进行测试、评估、发行,测试常用文档与用法,测试方案,整个测试需要那些资源,时间安排,需要产生哪些文档,测试用例,根据需求编写对应功能模块的测试案例,熟悉系统,测试报告,对每一个完成的模块进行详尽的测试,完成测试报告,bug 跟踪,bug 跟踪,并且进行数据统计和回归,软件测试的复杂性与经济性,程序测试只能证明错误的存在,但不能证明错误不存在,EWDijkstra,不充分的测试是愚蠢的,而过度的测试是一种罪孽,软件测试的心理学问题,1、程序测试的过程具有破坏性,2、程序员应防止测试自己的程序,3、程库设计机构不应测试自己的程序,好的测试工程师应具备的素质 ?,、沟通能力。,、移情能力,、技术能力,、自信心,、外交能力,、幽默感,、很强的记忆力,、耐心,、疑心精神,、自我催促,11、洞察力,回忆,Bug,软件测试的概念,软件测试生命周期,软件测试有几大模型?,软件测试一般流程, 每个阶段穿插的测试文档,Bug的状态有哪些?,The end, thanks,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 幼儿教育


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!