软件测试基础知识(软件测试入门培训)

上传人:痛*** 文档编号:245343049 上传时间:2024-10-08 格式:PPT 页数:39 大小:723KB
返回 下载 相关 举报
软件测试基础知识(软件测试入门培训)_第1页
第1页 / 共39页
软件测试基础知识(软件测试入门培训)_第2页
第2页 / 共39页
软件测试基础知识(软件测试入门培训)_第3页
第3页 / 共39页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,软件测试,第一讲 基础理论知识,班文武,2015,年,4,月,内容简介,第,1,节 测试基本概念,第,2,节 软件测试模型,第,3,节 软件测试方法,第,4,节 测试工具简介,第,1,节、测试基本概念,1.1,软件测试定义,1.2,软件测试的目的,1.3,软件测试原则,1.4,软件测试分类,1.5,测试用例与执行,1.1,软件测试定义,软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。,早期定义:软件测试是为了发现软件中错误而运行软件的过程。(,1979,年,),后期定义:使用人工或者自动的手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或者是弄清预期结果与实际运行结果之前的差别。(,1983,年,,IEEE,),定义:软件测试是在一定的软件、硬件、网络环境下,遵循相对规范的软件测试流程,使用合理的测试方法以及适当的测试工具运行或测试某个系统的过程。,1.2,软件测试目的,软件测试的目的(业界有两种权威定义),第一、评价一个程序和系统的特性或能力,并确定它是否达到预期的结果。,第二、是在软件分发到最终用户手中之前,以最少的时间和人力找出软件中潜在的各种错误和缺陷。,软件测试目的:检验软件是否满足规定的需求或者是弄清预期结果与实际运行结果之间的差别。,1.3,软件测试原则,所有测试的标准都是建立在用户需求之上,尽早定义好产品的质量标准,测试应尽早介入,穷尽测试是不可能的,测试应贯穿于软件整个生命周期,应有第三方或独立的测试团队,1.4,软件测试分类,按照开发阶段划分,1,),单元测试,单元测试(,Unit Testing,,,UT,)又称模块测试,是对软件基本单元(软件设计最小单位)进行正确性进行检验,检查代码语法、格式和逻辑上的错误,验证程序是否符合规范,尽早发现单元内部可能存在的各种缺陷。,2,)集成测试,集成测试(,Integration Testing,,,IT,)又称组装测试或联合测试,是单元测试在集成时是否有缺陷。是单元测试的逻辑扩展,通过测试识别组合单元时出现的问题。,集成测试的目标就是检测系统是否达到需求;对业务流程及数据流的处理是否符合标准;检测系统对业务流处理是否存在逻辑不严谨或者错误;检测需求是否存在不合理的标准及要求。,1.4,软件测试分类,按照开发阶段划分(续),3,),系统测试,系统测试(,System Testing,,,ST,)是将已集成好的软件系统,作为整个计算机系统的一个元素,与支持软件、计算机硬件、外设、数据等其他系统元素结合在一起,在模拟实际使用环境下,对计算机系统进行一系列的测试活动。,4,)验收测试,验收测试(,Acceptance Testing,,,AT,)也称交付测试,是在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动,是技术测试的最后一个阶段。,验收测试目的是验证系统是否达到了用户规格说明书中的要求,并试图尽可能的发现软件中存在的缺陷,从未为软件进一步改善提供帮助,保证系统或软件产品最终被用户接受。,1.4,软件测试分类,按照测试方法划分,1.4,软件测试分类,按照测试方法划分,(续),1,),静态测试,静态测试是指不运行程序,通过人工对程序和文档进行分析与检查。静态测试实际上是对软件中的需求说明书、设计说明书、程序代码等进行评审的一个过程。,2,)动态测试,动态测试是指通过人工或使用工具运行程序进行检查、分析程序的执行状态和程序的外部表现,一般包括白盒测试、黑盒测试和灰盒测试。,1.4,软件测试分类,按照测试方法划分(续),1,白盒测试,白盒测试又称结构测试。白盒测试可以把程序看成装在一个透明的盒子里,也就是清楚的了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常运行。,2,黑盒测试,黑盒测试是把程序看成一个黑盒子,完全不考虑程序内部结构和处理过程。通常在程序界面处进行测试,它只是检查程序或软件是否按照需求规格说明书的规定正常运行。,3,灰盒测试,灰盒测试时介于白盒测试和黑盒测试之间的测试。灰盒测试主要关注输出对输入的正确性;同时也关注内部表现,但这种关注不像白盒测试那种详细、完整。灰盒测试结合了白盒测试和黑盒测试的要素。,1.4,软件测试分类,按照测试测试实施组织划分,1,),开发方测试,开发方测试是开发方在软件开发环境下,通过检测和提供客观证据,证实软件是否满足规定的需求。,2,)用户测试,用户测试是在实际应用环境下,用户通过运行和使用软件找出软件使用过程中发现软件的缺陷和问题,检测与核实软件实现是否符合用户的预期要求,并把信息反馈给开发者。,3,)第三方测试,第三方测试又称为“独立测试”,是介于软件开发和用户方之间的测试组织的测试。也就是由在技术、管理和财务上与开发方和用户方相对独立的组织进行的软件测试。一般情况下是在模拟用户真实应用环境下,进行软件确认测试。,1.5,测试用例与执行,什么是测试用例?,测试用例目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等所形成的文档。,测试用例编号,CALC-ST-SRS001-001,测试项目,测试计算器的加法功能,测试标题,一个数在合法的取值范围,另一个数在最大取值范围外,重要级别,高,预置条件,启动计算器软件,输入,参数,1,:,1,参数,2,:,+,参数,3:65537,参数,4,:,=,执行步骤,用计算机键盘依次输入上述参数,预期输出,参数,1,:,65538,什么是测试执行?,测试执行就是根据测试用例运行被测软件。,一个测试用例或测试用例集的测试执行:,1.5,测试用例与执行,第,2,节、软件测试模型,2.1,V,模型,2.2,W,模型,2.3,X,模型,2.4,H,模型,2.5 前置模型,(1)软件测试执行是在编码实现后才进行的,容易导致从需求、设计等阶段隐藏的缺陷一直到验收测试才会发现,从而将导致发现和消除这些缺陷的代价非常高。,(2)将开放和测试过程划分为固定边界的不同阶段,使得相关人员很难跨过这些边界来采集测试所需的信息。,(3)容易扔人形成“测试是开发之后的一个阶段”、“测试的对象就是程序”等误解。,存在的缺陷,V模型从左到右描述了基本的开发过程和测试行为,明确的标注了测试过程中存在不同的测试类型,并清楚的描述了这些测试阶段与开发过程期间各阶段的对应关系。,2.1,V,模型,基本特征:,1、测试工作贯穿整个软件开发周期,不仅仅是测试程序,需求、设计等都要测试。,2、测试与开发同步进行,能尽早地全面地发现问题。,优点:,W模型是在V模型基础上提出,由两个“V”字重叠而成,其中一个表示开发过程,另一个表示测试过程;软件测试中的各项活动与开发各项阶段的活动相互对应。,2.2 W模型,基本特征:,相对于,V,模型,,W,模型增加了软件各开发阶段中应同步进行的验证和确认活动。,2.2 W模型,W,模型的缺点:,1,、,W,模型也存在局限性。在,W,模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。,2,、对于当前软件开发复杂多变的情况,,W,模型并不能解除测试管理面临着困惑。,2.,3,X模型,特征:,左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终合成为可执行的程序,然后再对这些可执行程序进行测试。,己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。,X,模型还定位了探索性测试,这是不进行事先计划的特殊类型的测试,给有经验的测试人员在测试计划之外发现更多的软件缺陷。,H,模型是为了解决,V,模型和,W,模型所存在的不足额提出来的。,H,模型将测试活动完全独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰的体现出来。,2.,4,H模型,H,模型给出了在整个生产周期中某个层次上的一次测试“微循环”。图中其他流程可以是任意的开发流程。,H,模型揭示了软件测试以下特点:,(,1,)软件测试不仅指测试的执行,还包括很多的其他活动;,(,2,)软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发进行;,(,3,)软件测试要尽早准备,尽早执行;,(,4,)软件测试时根据被测软件的不同而分层次进行的。不同层次的测试活动可以是按照某个次序先后进行的,但也可能是反复的。,2.,4,H模型,2.,5,前置模型,前置模型是一个将测试和开发紧密结合的模型,该模型提供了轻松的方式可以使项目加快速度。,前置模型要点:,1,、开发和测试相结合,2,、对每一个交付内容进行测试,3,、在设计阶段进行设计和测试计划,4,、测试和开发结合在一起,5,、让验收测试和技术测试保持相互独立,6,、反复交替的开发和测试,7,、发现内在价值,2.,5,前置模型,第,3,节、软件测试方法,3.1 白盒测试,3.2 黑盒测试,3.3 灰盒测试,3.4 白盒测试与黑盒测试比较,3.5 静、动态分析,什么是白盒测试,白盒测试可以把程序看成装在一个透明的盒子里,也就是清楚的了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常运行。,3,.,1,白盒测试,为什么要进行白盒测试,(,1,)逻辑错误和不正确假设与一条程序路径被运行的可能性成反比。,(,2,)我们经常相信某逻辑路径不可能被执行,而事实上它可能在正常的基础上被执行。,(,3,)笔误是随机的。,白盒测试主要是想对程序模块进行如下检查:,1,、对程序模块的所有独立的执行路径至少测试一遍。,2,、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。,3,、在循环的边界和运行的界限内执行循环体。,4,、测试内部数据结构的有效性,等等。,3,.,1,白盒测试,白盒测试优点:,1.,迫使测试人员去仔细的思考软件的实现;,2.,可以检测代码中的每条分支和路径;,3.,揭示隐藏在代码中的错误;,4.,对代码的测试比较彻底。,白盒测试缺点:,1.,昂贵(投入成本太高),2.,无法检测代码中遗漏的路径和数据敏感性错误,3.,不验证规格的正确性,3,.,1,白盒测试,什么是黑盒测试,黑盒测试也叫功能测试,这是因为在黑盒测试中,主要关注被测软件的功能实现,而不是内部逻辑。,依据,程序的需求规格说明书,检查程序的功能是否符合它的功能说明。,3,.,2,黑盒测试,为什么要进行黑盒测试,白盒测试在测试的早期采用,黑盒测试在主要用于测试后期。黑盒测试故意不考虑控制结构,而是注意信息域。,黑,盒测试主要用于回答以下问题:,1,、是否有不正确或遗漏的功能,?,2,、在接口上,输入是否能正确的接受,?,3,、能否,输出正确的结果,?,4,、,是否有数据结构错误或外部信息(例如数据文件)访问错误,?,5,、,性能上是否能够满足要求,?,6,、,是否有初始化或终止性错误?,3,.,2,黑盒测试,黑盒测试常用技术,功能测试,的测试数据的选择和测试结果的描述是以软件的功能属性为基础的,即以用户角度去验证软件是否符合功能需求,。尽管黑盒测试是围绕着用户需求文档进行的,但是黑盒测试也不一定必须要有用户来参与测试。,无用户参与的黑盒测试,常见的无用户参与的黑盒测试有:功能性,测试、容量测试、安全性测试、负载测试、恢复性测试、标杆测试、稳定性测试、可靠性测试等,。,有,用户参与的黑盒测试,常见的有用户参与的测试有:实验室测试和外场测试。,3,.,2,黑盒测试,黑盒测试优点:,1.,对于
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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