您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > CH01-软件测试概述
湖南软件职业学院1软件测试技术CH01软件测试概述主讲人:王康QQ:66583474湖南软件职业学院2目标理解什么是软件和软件测试理解什么是软件缺陷理解什么是测试用例理解什么是测试环境湖南软件职业学院31.1引子:4W1H问题WhoWhatWhenHowWhat因素湖南软件职业学院41.2软件与软件测试软件的定义1969年IBM公司决定给软件和硬件分别定价,开创了软件作为独立产业的先河,1970年全球软件产品的销售额约为2亿美元。软件=程序+数据库+文档+服务湖南软件职业学院51.2软件与软件测试软件的特点软件是硬件的灵魂,硬件是软件的基础软件是智慧和知识的结晶软件的核心是人软件企业是“逐人才而居”,人才是软件矿藏中真正的金沙。软件不会“磨损”湖南软件职业学院61.2软件与软件测试软件的分类按功能分类:系统软件、应用软件按技术架构分类:C/S、B/S按用户分类:产品软件、项目软件按开发规模分类:小型、中型、大型湖南软件职业学院7软件质量软件要符合明确规定的功能和性能需求,符合已清晰文档化的开发标准,并且具有专业人员开发的软件所应有的隐含特征。包括运行时可观察到的正确性、性能、安全性、可用性、易用性;不可观察到可移植性、可修改性、可测试性、可集成性、可重用性。湖南软件职业学院8软件质量保证(SQA)一种质量管理方法,有效的软件工程技术,在整个软件开发过程中采用正式的技术评审;一种多层次的测试策略,对软件文档及其修改的控制,保证软件遵从软件开发标准的规程,度量和报告机制。湖南软件职业学院9软件可靠性在特定环境和特定时间内,计算机程序无故障运行的概率。可以用“平均故障间隔时间”作为软件可靠性的度量。平均故障间隔时间=平均故障时间+平均修复时间湖南软件职业学院对软件测试的错误理解如果发布出去的软件有质量问题,那是软件测试人员的错。软件测试技术要求不高,至少比编程容易多了.软件测试是测试人员的事,与开发人员无关。设计-实现-测试,软件测试是开发后期的一个阶段。测试出没有故障,说明我们的软件没有缺陷。1.2软件与软件测试湖南软件职业学院111.2软件与软件测试软件测试的定义(误区)是证明软件中不存在错误的过程是确信程序做了它应该做的事情是为找出错误而运行程序或系统的过程湖南软件职业学院121.2软件与软件测试软件测试的定义——IEEE1983是使用人工和自动手段来运行或测试某个系统的过程,目的在于检验其是否满足规定的需要或是弄清楚预期结果与实际结果之间的差别。湖南软件职业学院131.2软件与软件测试软件测试的对象:软件测试不等于程序测试,软件测试贯穿于软件定义和开发的整个期间。需求分析,概要设计,详细设计,以及程序编码等各个阶段所得到的文档,包括需求规格说明,概要设计规格说明,详细设计规格说明以及源程序,都是软件测试的对象。湖南软件职业学院软件测试的对象12345用户需求用户:我要什么?理解正确性表达正确性需求说明书需求分析员:我可以提供什么?设计说明书设计员:我要软件做什么?源程序程序员:我要让计算机怎么做?运行结果计算机:程序运行得到的结果理解正确性设计正确性表达正确性理解正确性编码正确性运行正确性输入正确性相符合么?湖南软件职业学院151.2软件与软件测试软件测试的目的从用户(测试人员)的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。湖南软件职业学院161.2软件与软件测试软件测试的重要性寻找软件错误,以进行修正验证软件是否符合要求证明软件符合要求,是可用的指导软件的开发过程提供软件的相关特征湖南软件职业学院171.3软件缺陷典型案例湖南软件职业学院英特尔奔腾CPU计算机芯片被发现有浮点除法软件缺陷。——1994英特尔的1.13MHZ奔腾III处理器可能导致运行程序被挂起,计算机生产商召回已经交付用户的PC机。——2000臭名昭著的软件错误案例湖南软件职业学院爱国者导弹防御系统一个小的系统时钟错误,导致在多哈袭击战中,系统被拖延100多个小时。——1991美国航天局火星极地登陆由于确定何时关闭推进器的程序中某一个数据位被以外修改,飞船在试图登陆火星表面失踪——1999臭名昭著的软件错误案例湖南软件职业学院201.3软件缺陷软件缺陷的定义Bug是未曾预料到的系统行为Bug是程序与规格说明之间的不匹配湖南软件职业学院21Bug湖南软件职业学院22Story——Bug来源故事发生在1945年9月的一天,一个炎热的下午,机房是一间第一次世界大战时建造的老建筑,没有空调,所有窗户都敞开着。Hopper正领着她的研究小组夜以继日地工作,研制一台称为“MARKII”的计算机,它使用了大量的继电器(电子机械装置,那时还没有使用晶体管),一台不是纯粹的电子计算机。突然,MARKII死机了。研究人员试了很多次还是启动不来,然后就开始用各种方法找问题,看问题究竟出现在哪里,最后定位到板子F第70号继电器出错。Hopper观察这个出错的继电器,惊奇地发现一只飞蛾躺在中间,已经被继电器打死。她小心地用摄子将蛾子夹出来,用透明胶布帖到“事件记录本”中,并注明“第一个发现虫子的实例”,然后计算机又恢复了正常。从此以后,人们将计算机错误戏称为臭虫(Bug),而把找寻错误的工作称为“找臭虫”(Debug)。GraceHopper的事件记录本,连同那个飞蛾,现在都陈列在美国历史博物馆中。湖南软件职业学院23湖南软件职业学院241.3软件缺陷软件缺陷的定义——IEEE1983从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题。从产品外部看,软件缺陷是系统所需实现的某种功能的失效或违背。湖南软件职业学院251.3软件缺陷软件缺陷的定义——正式定义软件未达到需求规格说明书中指明的功能软件出现了需求规格说明书中指明不会出现的错误软件功能超出需求规格说明书中指明的范围软件未达到需求规格说明书中虽未指出但应达到的目标软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好湖南软件职业学院26相关概念软件错误:在软件生命周期内不希望或不可接受的人为错误,其结果是软件缺陷的产生。软件缺陷软件故障:软件运行过程中出现的一种不希望或不可接受的内部状态,此时若未及时采取措施加以处理,便产生软件失效。软件失效:软件运行时产生的一种不希望或不可接受的外部行为结果。湖南软件职业学院27由于人为的软件错误,导致软件在开发过程中产生软件缺陷;如果缺陷在交付用户前没能被检测和修正,就会在用户使用过程中的特定条件下被激活,变成软件故障;如果没能及时解决软件故障,便会导致软件失效,给用户带来损失和不好的结果。湖南软件职业学院281.3软件缺陷软件缺陷的定义案例实践一:NextDate的第一次测试输入2001/2/29,输出2001/2/30,实际应提示日期输入有误。湖南软件职业学院291.3软件缺陷软件缺陷的来源软件本身的复杂性开发人员的问题需求的变化进度压力对文档不重视沟通不畅偏差的累积湖南软件职业学院301.3软件缺陷软件缺陷的修复成本几乎呈指数级增长020406080100编制说明书设计阶段编写代码测试发布软件缺陷在不同阶段发现时修复的费用示意图湖南软件职业学院31软件测试计划仔细制定测试计划,能够使测试活动的目标、范围、方法、资源、进度、组织、风险被及早地识别和明确,使得测试活动能够在准备充分且定义清晰地条件下进行。搜集测试资料(软件的项目背景、技术特征、测试背景)制定测试方案(软件的因素、资源的因素、风险因素)撰写测试计划文档(测试目标、测试范围、实施方案、时间和资源安排)评审和更新测试计划湖南软件职业学院321.4测试用例测试用例的定义——IEEE1990是一组测试输入、执行条件和预期结果,目的是要满足一个特定的目标,比如执行一条特定的程序路径或检验是否符合一个特定的需求。湖南软件职业学院331.4测试用例测试用例的组织按照功能模块按照测试用例的类型按照测试用例的优先级按照测试用例的执行部门湖南软件职业学院341.4测试用例测试用例的重要性技术层面指导测试的实施规划测试数据的准备编写测试脚本的“设计规格说明书”降低工作强度湖南软件职业学院351.4测试用例测试用例的重要性管理层面团队交流重复测试检验测试员进度质量评估分析缺陷的标准湖南软件职业学院361.4测试用例测试用例的评价标准有效性经济性可仿效性可修改性独立性可跟踪性湖南软件职业学院371.4测试用例测试用例设计的基本原则测试用例的代表性正常数据边界数据错误数据测试结果的可判定性测试结果的可再现性湖南软件职业学院381.4测试用例测试需求是指在一定的测试策略前提下,对应于验证某个系统的业务需求或功能需求的测试要求。湖南软件职业学院391.4测试用例测试需求的内容确定测什么测试对软件产品的要求测试需求的分类验证业务过程的流程类测试需求验证功能点的功能性测试需求湖南软件职业学院40下列各项中___不是一个测试计划所应包含的内容(B)(A)测试资源、进度安排(B)测试预期输出(C)测试范围(D)测试策略湖南软件职业学院411.5测试环境测试环境的定义测试环境=硬件+软件+网络+历史数据湖南软件职业学院421.5测试环境测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。毫无疑问,稳定和可控的测试环境,可以使测试人员花费较少的时间就完成测试用例的执行,也无需为测试用例、测试过程的维护花费额外的时间,并且可以保证每一个被提交的缺陷都可以在任何时候被准确的重现。湖南软件职业学院431.5测试环境测试环境的重要性加快测试进度准确重现缺陷提高工作效率和软件质量湖南软件职业学院441.5测试环境良好测试环境的要素好的测试模型多样化的系统配置熟练使用工具的测试员湖南软件职业学院451.5测试环境测试环境的维护和管理设置测试环境管理员明确测试环境管理所需的文档管理测试环境的访问权限管理测试环境的变更备份和恢复测试环境湖南软件职业学院46软件测试员究竟做些什么。(C)(A)软件测试员的目的是发现软件缺陷(B)软件测试员的目的是发现软件缺陷,尽可能早一些(C)软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复(D)软件测试员的目的是发现软件缺陷,尽可能早一些,并将其得以修复湖南软件职业学院47为了提高测试的效率,应该(D)(A)随机地选取测试数据;(B)取一切可能的输入数据作为测试数据;(C)在完成编码以后制定软件的测试计划;(D)选择发现错误可能性大的数据作为测试数据。湖南软件职业学院48导致软件缺陷的原因有很多,①—④是可能的原因,其中最主要的原因包括___(55)___。①软件需求说明书编写的不全面,不完整,不准确,而且经常更改②软件设计说明书③软件操作人员的水平④开发人员不能很好的理解需求说明书和沟通不足(55)A.①、②、③B.①、③C.②、③D.①、④湖南软件职业学院49软件质量的定义是_A____(42)____。(42)A.软件的功能性、可靠性、易用性、效率、可维护性、可移植性B.满足规定用户需求的能力C.最大限度达到用户满意D.软件特性的总和,以及满足规定和潜在用户需求的能力湖南软件职业学院50关于软件测试对软件质量的意义,有以下观点:①度量与评估软件的质量;②保证软件质量;③改进软件开发过程;④发现软件错误。其中正确的是____D_(41)____。(41)A.①、②、③B.①、②、④C.①、③、④D.①、②、③、④湖南软件职业学院小结软件包括程序、数据、文档和服务软件测试的目的
本文标题:CH01-软件测试概述
链接地址:https://www.777doc.com/doc-2904632 .html