L第1章软件测试任务.ppt
《L第1章软件测试任务.ppt》由会员分享,可在线阅读,更多相关《L第1章软件测试任务.ppt(86页珍藏版)》请在三一办公上搜索。
1、1,软件测试技术,2,软件测试技术,http:/,3,软件测试工程师,软件测试工程师,中国软件业每年新增约20万测试岗位就业机会,而企业、学校培养出的测试人才却不足需求量的1/10,这种测试人才需求与供给间的差距仍在拉大。软件测试产品质量的保证 软件测试控制成本的关键 软件测试软件可靠性确认 软件测试让企业具备国际竞争的实力,4,市场需求与日俱增,由于市场和用户对软件质量要求的不断提高,软件行业的竞争逐渐加剧,越来越多的软件公司开始重视软件测试,高薪招聘专业软件测试人员成立软件测试部门,或者将软件测试外包出去,由第三方专业测试公司进行测试,客观地寻找和报告软件错误的存在。由此促生了软件测试的兴
2、起和迅速发展,产生了具有较大发展潜力的软件测试市场。,5,软件测试工程师:市场需求与日俱增的职位,有关专家指出,软件测试是正在快速发展、充满挑战的领域,尽管现在单机版桌面软件的测试已经成熟了很多,但对于网络时代的到临,包括知名跨国公司在内的大公司对基于网络的测试也没有一套完整的体系,也是处于探索中,所以说这一行业所面临的机遇与挑战是共存的。,6,软件测试工程师:市场需求,曾在微软亚洲工程院测试组工作过、有三年软件测试经验的软件测试开发工程师刘俐以其自身经验讲:以微软亚洲工程院为例,那里的测试工程师需要和开发工程师、规程经理一起合作,从产品定义到产品开发再到产品维护,在整个产品生命周期中不断贡献
3、各种建议、测试文档以及测试数据。在这样一个开发团队中,测试工程师的地位和开发工程师,规程经理是一样的是软件开发团队中不可或缺的部分。所以测试工程师是一个对专业技术和自身素质都有一定要求的职业。一个优秀的软件测试工程师无论在何处都是千金难求的。,7,国内外现状,在软件发达国家,特别是美国,软件测试已经发展成为一个独立的产业,主要体现在几个方面:(1)国际学术会议;高校开设软件测试专业和测试课程;,8,国外现状,(2)全球软件开发企业:微软、IBM等重视测试:人员1:2;时间50%。,9,国外现状,(3)测试工具全球的主流测试工具:HP Mercury Interactive(MI),IBM Ra
4、tional,Compware,Segue,Empirix等。促进了软件测试的发展。,10,国内现状,我国,软件测试技术研究起步于“六五”期间,由于起步晚,与国际先进水平相比差距较大。但随着我国软件产业的蓬勃发展以及对软件质量的重视,软件测试正处于空前的快速发展时期,正逐步成为一个新兴产业。主要体现在几个方面:,11,国内现状,(1)理论上:每两年召开一次全国软件工程会议,都设有软件测试专题;从2001年起召开全国测试学术会议。,12,国内现状,(2)2003年,国家“软件测评师”资格考试。,13,国内现状,(3)国内著名软件公司:认识,意识;专业测试。,14,国内现状,(4)“以测代评”我国
5、科技项目(5)软件测试培训机构和软件测试专业。,15,软件测试工程师的发展途径,一般有以下三种:一种选择是走软件测试的技术路线,成长为高级软件测试工程师,这时他能够独立测试很多软件,再向上可以成为软件测试架构设计师。第二种选择是向管理方向发展,从测试工程师到组长(Lead),再到测试经理(Manager),以至到更高的职位。第三种选择是可以换职业,做项目管理或做开发人员都可以,很多测试工具软件开发工程师在写测试软件的过程中,因为开发方面积累了经验,同时对软件产品本身产生了自己的看法,很容易转去做产品编程。,16,软件测试的重要性,软件所带来的悲剧测试是软件开发重要环节之一,17,千年虫(Y2K
6、),在上个世纪70年代,程序员为了节约非常宝贵的内存资源和硬盘空间,在存储日期时,只保留年份的后两位,如“1980”被存为“80”。当2000年到来的时候,问题就会出现,比如银行存款程序在计算利息时。就是为了这样一个简单的设计缺陷,全世界付出几十亿美元。,18,奔腾芯片缺陷,(4195835/3145727)*3145727 4195835 0$450 million 4.5亿美元损失.2000年 另外一个缺陷发生在1.13 MHz Pentium III,19,爱国者导弹中的软件缺陷,20,迪斯尼并不总是带来笑声,1994年圣诞节前夕,迪斯尼公司发布了第一个面向儿童的多媒体光盘游戏“狮子王童
7、话”圣诞节后的第一天,迪斯尼客户支持部电话开始响个不停,不断有人咨询、抱怨为什么游戏总是安装不成功,或没法正常使用这个游戏软件只能在少数系统中正常运行,21,火星探测飞船坠毁,机械震动在大多数情况下也会触发着地开关,设置错误的数据位。设想飞船开始着陆时,计算机极有可能关闭推进器,而火星登陆飞船下坠1800米之后没有反推进器的帮助,冲向地面,必然会撞成碎片两个小组本身的工作都没什么问题,就是没有合在一起测试,其接口没有被测,而问题就在这里,22,其他一些例子,2003年“冲击波”计算机病毒Windows2000安全漏洞 放射性治疗仪Therac-25中的软件存在缺陷,导致几个癌症病人受到非常严重
8、的过量放射性治疗,其中4个人因此死亡。,23,问题在哪里?,没有足够测试 缺乏测试平台 不正确的测试环境 缺少集成测试 缺少性能测试 缺少强度测试 缺少可靠性测试,24,为什么要进行软件测试?,软件总存在缺陷。只有通过测试,才可以发现软件缺陷。也只有发现了缺陷,才可以将软件缺陷从软件产品或软件系统中清理出去。软件中存在的缺陷给我们带来的损失是巨大的,这也说明了软件测试的必要性和重要性测试是所有工程学科的基本组成单元,自然也是软件开发的重要组成部分。测试人员水平越高,找到软件问题的时间就越早,软件就越容易更正,产品发布之后越稳定,公司赚的钱也越多,微软就是一个典型的例子,25,软件测试学科的发展
9、,从测试的思想导向来划分为4个阶段:19571978年,以功能验证为导向,测试是证明软件是正确的(正向思维)。19781983年,以破坏性为为导向,测试是为了找到软件中的错误(逆向思维)。19831987年,以质量评估为导向,测试是提供产品的评估和质量度量。1988年起,以缺陷预防为导向,测试是为了展示软件符合设计要求,发现缺陷、预防缺陷。,26,更好的阶段划分,分为3个阶段初期阶段、发展阶段和成熟阶段 初级阶段(19571971)测试通常被认为是对产品进行事后检验,缺乏有效的测试方法发展阶段(19721982),1972年第一次关于软件测试的正式会议,促进了软件测试的发展 成熟阶段(1983
10、到现在),国际标准Std 829-1983,形成一门独立的学科和专业,成为软件工程学科中的一个重要组成部分,27,第一章 软件测试的任务,软件的含义软件测试的重要性软件测试的背景,包括 缺陷是什么软件测试的定义和目的软件测试工程师工作职责工作流程工作产品职业道德,28,软件的含义,能够完成预定功能和性能的、可执行的指令(计算机程序);使得程序能够适当地操作信息的数据结构;描述程序的操作和使用的文档。,软件=程序+数据(库)+文档+服务,29,软件组成,客户需求-Customer Requirements市场需求文档-MRD(Marketing Requirement Document)软件规格
11、说明书-Specifications技术设计文档 Technical Design Docs测试文档-Test Documents在线帮助-Online help产品发布注释-Release Notes/Read Me产品软件包-Release packages,Return,30,软件产品的其他内容,帮助文件 Help files 示例 Samples and examples to illustrate points 产品支持文档 Product support information 错误信息 Error messages 安装手册 Setup and installation inst
12、ructions 用户手册 User manual(s)产品标签 Label and stickers 产品广告或宣传材料 Ads and marketing material,31,软件特点,软件则是逻辑的、知识性的产品集合,是对物理世界的一种抽象,或者是某种物理形态的虚拟化 软件是硬件的灵魂,硬件是软件的基础 软件,是智慧和知识的结晶 软件不会“磨损”,而是逐步完善.,32,软件中的错误是客观存在的,原因人是软件开发中的主角;古话“人非圣贤孰能无过”,33,缺陷是什么,到目前为止,没有标准的定义,不同组织对缺陷的定义不同。有的组织称缺陷为偏差、异常、故障、错误或事故。缺点(defect)偏
13、差(variance)谬误(fault)失败(failure)问题(problem)矛盾(inconsistency)错误(error)毛病(incident)异常(anomy)在实际活动中,最重要的对缺陷有相同的理解.,34,缺陷是什么,在软件测试中,有一组专门用于描述软件中的错误的术语。软件错误:在软件生存期内的不希望或者不可接受的人为错误。软件缺陷:存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差,Bug是口语化的缺陷。缺陷在没有被激活的状态下,软件可以正常运行,但是一旦在某一触发条件下,缺陷被激活,软件内部就会出现故障。,35,缺陷是什么-定义,下面的一些定义已经被大多数
14、专业人员所接受:软件故障:软件运行过程中出现的一种不希望或不可接受的内部状态。此时,如果没有适当的处理措施的话,软件故障就会导致软件失效。软件失效:软件运行时产生的一种不希望或不可接受的外部行为结果。比如死机就是一种严重的软件失效。软件失效是软件用户所能直接感受到的。当软件出现失效时,必然说明软件中存在缺陷。,36,缺陷表现,功能、特性没有实现或部分实现 设计不合理,存在缺陷 实际结果和预期结果不一致 运行出错,包括运行中断、系统崩溃、界面混乱 数据结果不正确、精度不够 用户不能接受的其他问题,如存取时间过长、界面不美观,37,缺陷的代价,缺陷的代价是非常高昂的经济上一项统计数据表明,大约62
15、%的项目成本用于修复软件缺陷。据美国NIST在2002年发布的一项研究估计,美国经济每年因软件Bug会损失600亿美金,约合0.6%的国民生产总值对人类生命的威胁,38,软件缺陷的产生,技术问题算法错误,语法错误,计算和精度问题,接口参数传递不匹配团队工作误解、沟通不充分软件本身文档错误、用户使用场合(user scenario),时间上不协调、或不一致性所带来的问题系统的自我恢复或数据的异地备份、灾难性恢复等问题,39,软件缺陷构成,40,软件缺陷在不同阶段的分布,在真正的程序测试之前,通过审查、评审会可以发现更多的缺陷。规格说明书的缺陷会在需求分析审查、设计、编码、测试等过程中会逐步发现,
16、而不能在需求分析一个阶段发现,41,缺陷成本,42,结论,软件已经越来越多的被使用在日常生活中,我们需要更多的高质量、高可靠性、高安全性的软件产品,但是缺陷,软件世界中的“恐怖分子”,影响着软件的质量,威胁着软件的正常运行。我们无法避免人类犯错,但是可以通过努力将隐藏在软件中的缺陷,尤其是那些致命的,严重的缺陷,尽可能多地寻找出来,尽早定位,尽早解决,避免人间悲剧一次又一次地上演。寻找软件中的缺陷就是软件测试的主要目的,承担这个使命的就是软件测试工程师。,43,软件测试是什么-定义,到目前为止,没有标准的定义。不同组织有不同的定义:Myers程序测试是为了发现错误而执行程序的过程。Bill H
17、etzel 测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。请注意:软件测试的目的就是发现软件中的缺陷测试对象不只包括程序代码,也包括与软件相关的交付件,44,软件测试的目标,软件测试的目的就是寻找软件中的缺陷。为了获得更高质量的软件,软件测试的目标是尽量多的寻找软件中的缺陷。另外,考虑到测试成本,软件测试的目的是在可允许的时间跨度内可管理的工作量的条件下尽可能多地寻找软件中的缺陷。,45,软件测试示例,三角形问题,如何完成测试任务。,46,软件测试方法的分类,站在对被测对象内部实现情况了解程度的角度:白盒测试、灰盒测试和黑盒测试;站在是否执行被测系统的角度:静态
18、测试和动态测试;站在测试工具支持的程度:手工测试和自动测试;站在被测内容的角度:功能测试、结构测试和非功能性测试;站在以显示被测对象是否工作的角度:正向测试和反向测试;站在测试过程推进的角度:单元测试、集成测试、系统测试。,47,白盒测试、灰盒测试和黑盒测试,白盒测试(White-box Testing)是指基于被测对象的内部实现结构进行测试的方法。黑盒测试(Black-box Testing)是指把被测对象看成一个不透明的黑盒,在完全不考虑被测对象内部实现的情况下进行测试的方法。灰盒测试(Grey-box Testing)是白盒测试和黑盒测试的混合体,是指在部分了解被测对象实现的情况下进行测
19、试的方法。,48,静态测试和动态测试,静态测试(Static Testing)是指不运行软件系统,而是通过采用检查或者评审的方式寻找被测对象中的缺陷。动态测试(Dynamic Testing)是指运行系统进行测试的过程。动态测试可能是大多数人认为的测试,即通过运行软件进行的测试,49,手工测试和自动测试,手工测试(Manual Testing)是指在不借助测试工具的情况下,完全由人类完成对软件产品的测试。自动测试(Automated Testing)是指通过测试工具或者其它手段,按照测试工程师的预定计划对软件产品进行自动的测试。,50,正向测试和反向测试,正向测试(Positive Testi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 任务

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