书签 分享 收藏 举报 版权申诉 / 50
上传文档赚钱

类型《软件测试技术 》课件课程简介及第1章软件测试基础.ppt

  • 上传人(卖家):momomo
  • 文档编号:7671606
  • 上传时间:2024-06-27
  • 格式:PPT
  • 页数:50
  • 大小:922.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《软件测试技术 》课件课程简介及第1章软件测试基础.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    软件测试技术 软件测试技术 课件课程简介及第1章软件测试基础 软件 测试 技术 课件 课程 简介 及第 基础
    资源描述:

    1、软件测试技术课程性质:专业必修课学时安排:54+10任课教师:联系电话:QQ:办公地点:1软件测试技术软件测试,What?软件测试是为了发现错误而执行程序,软件测试通过的程序可以认为是基本安全的。2软件测试技术软件测试师的“钱”景:软件测试一般占整个项目开销的30%到50%!一般软件企业目前没有专门的软件测试师!国家的目标是软件测试师与程序员1:1!对软件测试师的要求更高!3软件类型开发成本按阶段分布%需求与设计实现测试控制软件462034航空航天软件342046操作系统331750科技计算软件442630商业应用软件442828课程导论 本课程的学习任务 本课程的主要教学内容 学习本课程后达

    2、到的目的 学习本课程所需的铺垫知识 本课程的学习方法 本课程的考核方法4本课程的学习任务通过学习本课程来了解软件测试领域的新知识、新技术和关键技能,同时学习软件测试领域最常用的相关工具软件的使用。5本课程的主要教学内容1 软件测试基础2 测试用例设计(单元测试)3 软件缺陷管理4 软件测试管理5 软件功能测试6 软件性能测试7 测试实践6本课程的主要教学内容1 软件测试基础2 2 测试用例设计(单元测试)测试用例设计(单元测试)3 软件缺陷管理4 软件测试管理5 5 软件功能测试软件功能测试6 6 软件性能测试软件性能测试7 7 测试实践测试实践7重点内容学习本课程后达到的目的能针对一个小型的

    3、被测试软件独立地或与他人协作完成测试工作。8学习本课程所需的铺垫知识软件工程和程序设计语言(C/C+、Java)。9本课程的学习方法本课程所涉及的软件工具较多,而且有的软件工具还涉及到在不同操作系统环境中的使用。要在理解的基础上学习这些软件工具,并且在学习过程中要学会举一反三。10本课程的考核方法期末考试占50%,平时占30%,实验占20%。说明:说明:平时成绩评定见平时成绩考核方案。11第1章 软件测试基础1.1 软件与软件危机1.2 软件测试基本概念1.3 软件测试的分类1.4 软件测试流程121.1软件与软件危机例1用C语言编写的实现“计算每个同学各门课程成绩的平均分”的程序。13程序在

    4、什么地方完成输入和输出?#includevoid main()int scores40;int total,average;int i;total=0;for(i=0;i40;i+)scanf(%d,&scoresi);total=total+scoresi;average=total/40;printf(%d,average);getch();缺陷一:输入、输出没有提示。1.1软件与软件危机例1用C语言编写的实现“计算每个同学各门课程成绩的平均分”的程序。14能完成一个学生多少门课程的平均分求取?这个值是怎么提供的?#includevoid main()int scores40;int to

    5、tal,average;int i;total=0;for(i=0;i40;i+)scanf(%d,&scoresi);total=total+scoresi;average=total/40;printf(%d,average);getch();缺陷二:课程门数不能改变。1.1软件与软件危机例1用C语言编写的实现“计算每个同学各门课程成绩的平均分”的程序。15当输入学生成绩时不小心输入了负数或非法字符,有没有应对方案?#includevoid main()int scores40;int total,average;int i;total=0;for(i=0;i40;i+)scanf(%d,

    6、&scoresi);total=total+scoresi;average=total/40;printf(%d,average);getch();缺陷三:输入成绩为负或非法字符,没有错误提示,只是不能得到合理的结果。1.1软件与软件危机16既然程序有问题,那我修改!你的程序需要一个个输入成绩,但我的成绩保存在数据库。好,我再修改!我的成绩在教务处的服务器中,要通过网络访问,这个程序应该是web方式,在浏览器中运行。这么多要求,你怎么不早说?你在编程之前有真正了解过我的要求吗?。1.1软件与软件危机什么是软件?17软件=程序?1.1软件与软件危机18软件=程序+数据结构+文档程序是能够完成事先

    7、设计的功能和性能的可执行的指令序列。数据是使程序能正常操纵信息的数据结构。文档是程序开发、维护和使用有关的图文资料。1.1软件与软件危机19软件是:人的智力劳动成果;人的思维结果;计算机的逻辑部件,而不是物理部件。1.1软件与软件危机20软件的特性:(1)软件是一种逻辑实体,具有抽象性。(2)软件的开发和制造是一个统一的过程。(3)软件开发是一项经济活动。(4)软件不会磨损、老化,但会退化。(5)软件的复杂度随着规模的增大迅速增加。1.1软件与软件危机21软件危机:自20世纪60年代以来,软件的应用越来越广泛,需求越来越迫切,规模也越来越大,但是软件的生产率一直得不到提高,甚至出现了种种难以解

    8、决的问题,严重影响了软件产业的健康发展,这一系列现象被称为“软件危机”。随着硬件水平的不断提高、软件规模的不断扩大,维护软件成为了系统管理员的噩梦!1.1软件与软件危机22软件危机的表现:(1)软件开发的进度和成本难以预估和控制。1995年,美国共取消了810亿美元的商业软件项目,其中31的项目未做完就被取消,53的软件项目进度通常要延长50%的时间,只有9的软件项目能够及时交付并且费用也控制在预算之内。1.1软件与软件危机23软件危机的表现:(1)软件开发的进度和成本难以预估和控制。微软公司2001年10月发布了Windows XP系统,同时宣布启动Vista的开发,最初预计2003年完成。

    9、在经历了2005年初、2006年中的多次推迟,直到2007年1月31日才正式发布,历时五年,投入了60亿美元。1.1软件与软件危机24软件危机的表现:(1)软件开发的进度和成本难以预估和控制。2008年上半年的统计数据显示,中国软件开发商不能按时完成软件开发任务的比率超过50%,只有6.7%的企业对项目有严格的基于预算的财务管理和核算体系。1.1软件与软件危机25软件危机的表现:(2)软件的质量和可靠性差。1996年6月4日,欧洲航天局研制的阿里亚娜五型火箭(Ariane 5)的初次航行产生了灾难性的后果。发射后仅仅37秒,火箭偏离它的飞行路径,爆炸并解体了。火箭上载有价值5亿美元的通信卫星,

    10、连同火箭本身6亿美元付之一炬。后来的调查显示,控制惯性导航系统的计算机向控制引擎喷嘴的计算机发送了一个无效数据。在将一个64位浮点数转换成16位有符号整数时,产生了溢出。在设计Ariane 4火箭的软件时,软件开发人员小心地分析了数字值,并且确定该数据绝不会超出16位。不幸的是,他们在Ariane 5火箭的系统中简单地重新使用了这一部分,而没有检查它所基于的假设。1.1软件与软件危机26软件危机的表现:(3)软件开发的结果常常不能满足用户需求。美国政府统计署(GAO)2000年的数据:全球最大的软件消费商-美国军方-每年要花费数十亿美元购买软件,其中可直接使用的只占5%,另外5%需要做一些修改

    11、,其余90%都成了垃圾(Rubbish)。1.1软件与软件危机27软件危机的表现:(4)软件维护费用逐渐升高。1992年惠普公司的数据显示,80的人员和60的费用用于软件维护。维护需求来源于软件错误、硬件系统的迅速更新和用户需求的快速变化。1.1软件与软件危机28软件危机的表现:(5)软件产业发展落后于硬件的发展速度。软件开发的生产率提高速度则远远慢于硬件,平均只有硬件的6,导致信息系统中软件的成本逐年上升,20世纪50年代,软件成本在整个计算机系统成本中所占的比例为10%-20%。目前已经达到85以上。1.1软件与软件危机29软件危机的表现:(6)对软件的需求越来越强,软件规模越来越大。19

    12、92年,微软发布的第一个成功的Windows系统Windows 3.1,其代码规模是250万行,Windows 95上升到1500万行,Windows 98有1800万行,Windows XP则为3500万行,Windows Vista的代码行数达到了惊人的5000万行。Windows 7 开发从2006年开始启动,2009年10月22日正式发布,历时3年。1.1软件与软件危机30软件危机产生的原因:(1)软件开发人员继承下来的不良传统。不注重软件开发过程,忽视了分析、设计、测试、维护的工作。软件确实容易修改,但难以正确地修改且不引入新的错误。越到软件开发后期,软件修改的代价越大。对于进度已落

    13、后的软件开发计划,增加人员只会让其更加落后(Brooks法则)。缺少规范性,不注意信息交流,导致开发人员难以合作,软件难以维护。1.1软件与软件危机31软件危机产生的原因:(2)大型软件开发问题。大型软件开发项目需要组织很多的人力共同完成,而多数管理人员缺乏开发大型软件系统的经验,而多数软件开发人员又缺乏管理方面的经验。各类人员的信息交流不及时、不准确,有时还会产生误解。软件项目开发人员不能有效地、独立自主地处理大型软件开发的全部关系和各个分支,因此容易产生疏漏和错误,这也是导致软件危机产生的一个原因。1.1软件与软件危机32软件危机产生的原因:(3)用户需求难以明确。在软件开发出来之前,用户

    14、自己也不清楚软件开发的具体需求;用户对软件开发需求的描述不精确,可能有遗漏、有二义性,甚至有错误;在软件开发过程中,用户还提出修改软件开发功能、界面、支撑环境等方面的要求;软件开发人员对用户需求的理解与用户本来愿望有差异。1.1软件与软件危机33软件危机产生的原因:(4)缺乏正确的理论指导,缺乏有力的方法学和工具方面的支持。由于软件开发不同于大多数其他工业产品,其开发过程是复杂的逻辑思维过程,其产品极大程度地依赖于开发人员高度的智力投入。由于过分地依靠程序设计人员在软件开发过程中的技巧和创造性,缺乏正确的理论指导,缺乏有力的方法学和工具方面的支持,从而加剧了软件开发产品的个性化,这也是产生软件

    15、危机的一个重要原因。1.1软件与软件危机34消除软件危机的方法:(1)应该对计算机软件有一个正确的认识。(2)必须充分认识到软件开发应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。还有最重要的一点,及早开展软件测试及早开展软件测试工作对消除软件危机有很大的作用!1.2软件测试基本概念35软件测试的发展历史:软件测试是伴随着软件的产生而产生的。早期因为软件规模小、复杂程度低,测试的含义比较狭窄,开发人员将测试等同于“调试”。到了20世纪80年代初,软件趋向大型化、复杂化,软件的质量越来越重要。这个时候,一些软件测试的基础理论和实用技术开始形成。1.2软件测试基本概念36软件测

    16、试的概念:Bill Hetzel在软件测试完全指南中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量”。1983年IEEE提出的软件测试的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。”1.2软件测试基本概念37软件测试的概念:软件测试(Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出实际输出与预期输出间的审核或者比较间的审核或者比较过程。百度软件测试的经典定义是:在规定的条件下对程

    17、序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。1.2软件测试基本概念38软件测试的意义:软件测试的意义在于保证发布出去的产品达到了一定的质量标准达到了一定的质量标准。软件测试是帮助识别开发完成的计算机软件的正确度、完全度和质量的软件过程;是SQA(software quality assurance)的重要子域。1.2软件测试基本概念39软件测试的目的:软件测试的最终目的确保最终交给用户的产品的功能符合用户的需求符合用户的需求,把尽可能多的问题在产品交给用户之前发现并改正。1.2软件测试基本概念40软件测试的原则:(1)所有的测试都应追溯到用户需求。(2)应

    18、尽早地和不断地进行软件测试。(3)在有限的时间和资源下进行完全测试。(4)测试只能证明软件存在错误而不能证明软件没有错误。(5)充分关注测试中的集群现象。(6)程序员应避免检查自己的程序。(7)尽量避免测试的随意性。1.2软件测试基本概念41软件测试的质量度量:软件测试质量度量的目的是改进软件测试的质量,提高测试效率,改进测试过程的有效性。开展软件测试质量度量,最关键的一项工作就是对软件测试人员的工作质量度量。1.3软件测试的分类42软件测试的分类:“白盒”测试与“黑盒”测试根据是针对软件系统的内部结构,还是针对软件系统的外部表现行为来采取不同的测试方法,分别称为“白盒”测试方法和“黑盒”测试

    19、方法。1.3软件测试的分类43软件测试的分类:静态测试与动态测试 根据程序是否运行,测试可以分为静态测试和动态测试。1.3软件测试的分类44软件测试的分类:手工测试与自动化测试:根据用人工的方法手动运行被测试软件还是用工具自动控制被测试软件运行将测试分为手工测试和自动化测试。1.3软件测试的分类45软件测试的分类:基于生命周期的软件测试:生命周期测试伴随着整个软件开发周期,此时测试的对象不仅仅是程序,需求、功能和设计同样要测试。如在项目需求分析阶段就要开始参与,审查需求分析文档、产品规格说明书;在设计阶段,要审查系统设计文档、程序设计流程图、数据流图等;在代码编写阶段,需要审查代码,看是否遵守

    20、代码的变量定义规则、是否有足够的注释行等。测试与开发同步进测试与开发同步进行行,有利于尽早地发现问题,同时缩短项目的开发建设周期。1.3软件测试的分类46其它软件测试的分类方法:按测试层次,可以将测试分为底层测试(单元测试),接口层次(集成测试),系统层次(系统测试),用户层次(验收测试)4个。1.3软件测试的分类47其它软件测试的分类方法:按被测试的对象,可以将测试分为单元测试,程序测试,系统测试,文档测试,Web应用测试,客户端测试,数据库测试,服务器测试等。1.3软件测试的分类48其它软件测试的分类方法:按测试目的,可以将测试分为功能测试,压力测试,性能测试,可靠性测试,灾难恢复性测试,安全性测试,兼容性测试,回归测试,安装测试等。491.需求评审阶段2.测试计划阶段3.测试方案阶段4.测试设计阶段5.测试执行阶段1.4软件测试流程50软件开发模式以及对软件测试的影响:1.大棒开发模式5.螺旋开发模式2.边写边改模式6.RUP模型3.瀑布开发模式7.IPD流程开发模式4.快速原型法8.敏捷开发模式 不同的过程模型,适合于不同的类型的软件项目。所选择不同的过程模型对软件测试都有着直接的影响。1.4软件测试流程

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《软件测试技术 》课件课程简介及第1章软件测试基础.ppt
    链接地址:https://www.163wenku.com/p-7671606.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库