




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、完美测试之完美测试之软件测试概论分析软件测试概论分析第第2 2章章 软件工程基础软件工程基础缺陷指导指导软件测试阶段管理思想质量用例方法目标源泉源泉确定确定寻求寻求设计设计发现发现实施实施清除清除内容进度内容进度2.1 2.1 软件工程软件工程2.1.1 2.1.1 软件工程的目标软件工程的目标2.2 软件开发生命周期模型2.2.1 大爆炸模型2.2.2 边写边改模型2.2.3 瀑布模型2.2.4 螺旋模型2.2.5 敏捷软件开发2.3 软件测试过程模型4 4/51/514/632.1 2.1 软件工程软件工程 编程大师的话 编程大师说:“任何一个程序,无论它多么小,总存在着错误。” 初学者不
2、相信大师的话,他问:“如果一个程序小得只执行一个简单的功能,那会怎样?” “这样的一个程序没有意义,”大师说,“但如果这样的程序存在的话,操作系统最后将失效,产生一个错误。” 但初学者不满足,他问:“如果操作系统不失效,那么会怎样?” “没有不失效的操作系统,”大师说,“但如果这样的操作系统存在的话,硬件最后将失效,产生一个错误。” 初学者仍不满足,再问:“如果硬件不失效,那么会怎样?” 大师长叹一声道:“没有不失效的硬件。但如果这样的硬件存在的话,用户就会想让那个程序做一件不同的事,这件事也是一个错误。”5/632.1 2.1 软件工程软件工程本章重点讨论内容:软件工程的定义软件工程的目标常
3、见的软件开发生命周期模型常见软件测试过程模型6/63软件工程软件工程软件工程(Software Engineering(Software Engineering,简称为,简称为SE)SE)是是一门研究用工程化方法构建和维护有效的、实用一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的科学。它涉及到程序设计语的和高质量的软件的科学。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,言,数据库,软件开发工具,系统平台,标准,设计模式等方面。设计模式等方面。2.1 2.1 软件工程软件工程2.1 2.1 软件工程软件工程1983年IEEE给出的定义是:软件工程是开发、运行、维护软
4、件工程是开发、运行、维护和修复软件的系统方法。和修复软件的系统方法。软件工程具有如下的性质:软件工程具有如下的性质: 软件工程是一门综合性的交叉学科,它涉及计算机科学、工程科学、管理科学、数学等领域。计算机科学中的研究成果均可用于软件工程,但计算机科学着重于原理和理论,而软件工程着重于如何建立建造一个软件系统。 软件工程要用工程科学中的观点来进行费用估算、制定进度、制定计划和方案。 软件工程要用管理科学中的方法和原理进行软件生产的管理。 软件工程要用数学的方法建立软件开发中的各种模型和各种算法,如可靠性模型、说明用户需求的形式化模型等。 软件工程的主要环节有:人员管理、项目管理、可行性与需求分
5、析、系统设计、程序设计、测试、维护等。2.1 2.1 软件工程软件工程9/63软件工程的主要内容软件工程的主要内容2.1 2.1 软件工程软件工程10/63质量合格质量合格高生产率高生产率质量与生产率不存在根本的对立质量与生产率不存在根本的对立在给定成本、进度的前提下,开发出具有可修改在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。操作性并且满足用户需求的软件产品。软件工程的目标是提高软件的质量与生产
6、率是提高软件的质量与生产率, ,最终实现最终实现软件的工业化生产。软件的工业化生产。 2.1 2.1 软件工程软件工程11/63(1 1)可修改性()可修改性(modifiabilitymodifiability)容许对系统进行修改而不增加原系统的复杂性。(2 2)有效性()有效性(efficiencyefficiency)软件系统能最有效地利用计算机的时间资源和空间资源。(3 3)可靠性()可靠性(reliabilityreliability)能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。对于实时嵌入式计算机系统,可靠性是一个非常重要的目
7、标。 2.1 2.1 软件工程软件工程12/63(4 4)可理解性()可理解性(understandabilityunderstandability)系统具有清晰的结构,能直接反映问题的需求。(5 5)可维护性()可维护性(maintainability)maintainability)软件产品交付用户使用后,能够对它进行修改,以便改正潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化等等。(6 6)可重用性()可重用性(reusebilityreusebility)概念或功能相对独立的一个或一组相关模块定义为一个软部件。软部件可以在多种场合应用的程度称为部件的可重用性。 2.1 2.1
8、 软件工程软件工程13/63(7 7)可适应性()可适应性(adaptabilityadaptability)软件在不同的系统约束条件下,使用户需求得到满足的难易程度。(8 8)可移植性()可移植性(portabilityportability)软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。(9 9)可追踪性()可追踪性(traceabilitytraceability)根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力。(1010)可互操作性()可互操作性(interoperabilityinteroperability) 多个软件元
9、素相互通信并协同完成任务的能力。2.1 2.1 软件工程软件工程14/63内容进度内容进度2.1 软件工程2.1.1 软件工程的目标2.2 2.2 软件开发生命周期模型软件开发生命周期模型2.2.1 大爆炸模型2.2.2 边写边改模型2.2.3 瀑布模型2.2.4 螺旋模型2.2.5 敏捷软件开发2.3 软件测试过程模型1515/51/5115/63基本概念软件开发全部过程、活动和任务的结构框架。它能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务。 瀑布模型原型模型螺旋模型敏捷开发模型2.2 2.2 软件开发生命周期模型软件开发生命周期模型16/63内容进度内容进度2.1 软
10、件工程2.1.1 软件工程的目标2.2 2.2 软件开发生命周期模型软件开发生命周期模型2.2.1 2.2.1 大爆炸模型大爆炸模型2.2.2 边写边改模型2.2.3 瀑布模型2.2.4 螺旋模型2.2.5 敏捷软件开发2.3 软件测试过程模型1717/51/5117/632.2.1 2.2.1 直接冲过河去的大爆炸模型直接冲过河去的大爆炸模型简单 或Boom最终产品?大爆炸模式是最简单的软件开发模式大爆炸模式是最简单的软件开发模式2.2 2.2 软件开发生命周期模型软件开发生命周期模型内容进度内容进度2.1 软件工程2.1.1 软件工程的目标2.2 2.2 软件开发生命周期模型软件开发生命周
11、期模型2.2.1 大爆炸模型2.2.2 2.2.2 边写边改模型边写边改模型2.2.3 瀑布模型2.2.4 螺旋模型2.2.5 敏捷软件开发2.3 软件测试过程模型1919/51/5119/632.2.2 2.2.2 摸着石头过河的边写边改模型摸着石头过河的边写边改模型项目小组在未刻意采用其他开发模式时默认的开项目小组在未刻意采用其他开发模式时默认的开发模式。这是在大爆炸模式基础上更进了一步,发模式。这是在大爆炸模式基础上更进了一步,至少考虑到了产品需求。至少考虑到了产品需求。2.2 2.2 软件开发生命周期模型软件开发生命周期模型 这是在大爆炸模式基础上更进了一步,至少考虑到了产品需求。 由
12、于开头几乎没有计划和文档编制,项目小组得以迅速展现成果。因此边写边改模式极其适合意在快速制作而且用完就扔的小项目,例如原型范例和演示程序。即便如此,许多著名的软件仍然才用了边写边改模式。如果文字处理或者电子表格软件存在大量软件缺陷,或者功能不完备,就可能是在边写边改模式下制造出来的。 与大爆炸模式类似,测试在边写边改模式中未特别强调,但是在编写代码和修复缺陷过程中举足轻重。2.2 2.2 软件开发生命周期模型软件开发生命周期模型21/63 作为边写边改的项目的软件测试员,需要和程序员一样清醒地认识到自己将陷入无休止地循环往复。 几乎每一天都会拿到新的软件版本并着手进行测试。几乎每一天都会拿到新
13、的软件版本并着手进行测试。当新版本出来时,旧版本的测试可能尚未完成,而新版本还可能包含新的或者经过修改的功能。最后,终于有机会对几乎所有功能进行测试了,并且发现软件缺陷越来越少,这时某人(或者进度)决定该发布软件了。 在进行软件测试工作期间,边写边改模式是最有可能碰到在进行软件测试工作期间,边写边改模式是最有可能碰到的的。这种模式是软件开发的入门,有助于理解更加正规的方法。2.2 2.2 软件开发生命周期模型软件开发生命周期模型22/63内容进度内容进度2.1 软件工程2.1.1 软件工程的目标2.2 2.2 软件开发生命周期模型软件开发生命周期模型2.2.1 大爆炸模型2.2.2 边写边改模
14、型2.2.3 2.2.3 瀑布模型瀑布模型2.2.4 螺旋模型2.2.5 敏捷软件开发2.3 软件测试过程模型2323/51/5123/632.2.3 2.2.3 制定周密过河计划的瀑布模型制定周密过河计划的瀑布模型 三点特别强调内容 1、强调产品的定义 2、各步骤是分立的、没有交叉 3、无法回溯 2.2 2.2 软件开发生命周期模型软件开发生命周期模型瀑布模式常常是编程学校所教的第一课,现在已经无处不在。它简捷、精致、很有意义,在合适的项目中效果显著。从测试的角度看来,瀑布模式比截至到目前为止的其他模式更有优势。瀑布模式所有一切都有完整细致的说明。当软件提交到测试小组时,所有细节都已确定并有
15、文档记录,而且实现在软件之中。由此,测试小组得以制定精确的计划和进度。测试对象非常明确,在分辨是功能还是缺陷上也没有一点问题。然而,这个优点也带来一个巨大的缺点。因为测试仅在最后进行,所以一些根本性问题可能出现在早期,但是直到准备发布产品时才可能发现。2.2 2.2 软件开发生命周期模型软件开发生命周期模型25/63 采用瀑布模式的项目从最初的构思到最终产品要经过一系列步骤。每一个步骤结束时,项目小组组织审查,并决定是否进入下一步。如果项目未准备好进入下一步,就停滞下来直到准备好。 关于瀑布模式有三点需要强调:2.2 2.2 软件开发生命周期模型软件开发生命周期模型26/63内容进度内容进度2
16、.1 软件工程2.1.1 软件工程的目标2.2 2.2 软件开发生命周期模型软件开发生命周期模型2.2.1 大爆炸模型2.2.2 边写边改模型2.2.3 瀑布模型2.2.4 2.2.4 螺旋模型螺旋模型2.2.5 敏捷软件开发2.3 软件测试过程模型2727/51/5127/632.2.4 2.2.4 计划赶得上变化的螺旋模型计划赶得上变化的螺旋模型开始不必详细定义所有细节6个步骤: 确定目标确定目标/方案和限制条件;方案和限制条件; 明确并化解风险;明确并化解风险; 评估可选方案;评估可选方案; 当前阶段开发和测试;当前阶段开发和测试; 计划下一阶段;计划下一阶段; 确定进入下一阶段的方法。
17、确定进入下一阶段的方法。2.2 2.2 软件开发生命周期模型软件开发生命周期模型螺旋模式的总体思想是一开始不必详细定义多有细节。从小螺旋模式的总体思想是一开始不必详细定义多有细节。从小开始,定义重要功能,努力实现这些功能,接受客户反馈,开始,定义重要功能,努力实现这些功能,接受客户反馈,然后进入下一阶段。重复上述过程,直至得到最终产品。然后进入下一阶段。重复上述过程,直至得到最终产品。螺旋模式中包含了一点瀑布模式(分析、设计、开发和测试的步骤)、一点边写边改模式(螺旋模式的每一次)和一点大爆炸模式(从外界观察)。加上该模式发现问题早、成本低的特点,可以算做相当好的开发模式。软件测试员喜欢该模式
18、。因为通过参与最初设计的设计阶段,可以尽早地影响到产品,可以把产品的来龙去脉弄得很清楚;并且在项目末期,不至于最后一分钟还在匆匆忙忙地进行全面测试。软件测试员地测试一直都在进行,所以最后一步只是一个验证表面所有部分都没有问题。2.2 2.2 软件开发生命周期模型软件开发生命周期模型29/63软件开发流程的优缺点软件开发流程的优缺点开发流程分类开发流程分类优点优点缺点缺点大爆炸模型简单,不用学习就会拍脑门的想法,产品质量无法保证。质量避免使用边做边改模型快速得到可运行的版本计划有些缺乏,导致版本前后变化较大。可选择的模型之一瀑布模型计划周密,专业,按部就班实现相对难于做到快速开发,以抢占市场。可
19、选择的模型之一螺旋模型计划变化同时考虑可选择的模型之一2.2 2.2 软件开发生命周期模型软件开发生命周期模型30/63内容进度内容进度2.1 软件工程2.1.1 软件工程的目标2.2 2.2 软件开发生命周期模型软件开发生命周期模型2.2.1 大爆炸模型2.2.2 边写边改模型2.2.3 瀑布模型2.2.4 螺旋模型2.2.5 2.2.5 敏捷软件开发敏捷软件开发2.3 软件测试过程模型3131/51/5131/632.2.5 2.2.5 敏捷软件开发敏捷软件开发 有一种开发过程,受到许多软件公司的喜爱,叫做敏捷软件敏捷软件开发开发( Agile Software Development)。
20、我们也许听说过它的另外一些名称,如快速原型、极限编程或进化开发等。 20012001年初年初,在犹他州的Snowbird,由于看到很多软件开发团队陷入了不断增长的过程的泥潭,一批业界专家聚集在一起概括出了一些可以让软件开发团队具有快速工作、响应变化能力的价值观和原则,他们称自己为“敏捷联盟敏捷联盟” 敏捷联盟是一个非盈利组织,其宗旨是推广敏捷方法的促进这方面的讨论。 在随后几个月,他们创建了一份价值观声明,也就是敏捷联盟宣言。2.2 2.2 软件开发生命周期模型软件开发生命周期模型32/6333敏捷开发的核心思想是敏捷开发的核心思想是:以人为本,适应变化。以人为本,适应变化。2.2 2.2 软
21、件开发生命周期模型软件开发生命周期模型 敏捷宣言:敏捷宣言:33/63敏捷软件开发的目的是:敏捷软件开发的目的是:通过过程和工具理解个人和交流的作用通过过程和工具理解个人和交流的作用q人是获得成功的最为重要的因素q一个优秀的团队成员未必就是一流的程序员优秀团队的成员可能是平均水平的程序员,但他(她)们能很好的和别人合作、沟通。q合适的开发工具(如IDE、Complier、版本控制系统)对于成功很重要,但工具的作用不宜被过分夸大。2.2 2.2 软件开发生命周期模型软件开发生命周期模型34/63敏捷软件开发的目的是:敏捷软件开发的目的是:通过全面的文档理解运行的软件通过全面的文档理解运行的软件q
22、没有文档的软件是一种灾难;然而,过多的文档比过少的文档更糟糕编制文档需要花费时间,使文档和代码同步,需要花费更多时间。对于团队,维护一份系统原理和结构方面的文档是一个好主意l该文档应该是短小并且主题突出的,应该仅描述系统的高层结构和概要设计原理。为了培训新成员,应该通过团队交互和代码l代码和团队是最好的两份文档。2.2 2.2 软件开发生命周期模型软件开发生命周期模型35/63敏捷软件开发的目的是:敏捷软件开发的目的是:通过合同和谈判得到客户的协作通过合同和谈判得到客户的协作不能向订购日用品一样来订购软件l如果客户仅仅写下一份他需要的软件的描述,然后就让人在固定的时间内以固定的价格去开发它,用
23、这种方式来对待软件项目的尝试都是以失败而告终的。成功的项目需要有序、频繁的客户反馈。不是依赖于合同或者关于工作的陈述,而是让软件的客户和开发团队密切地在一起工作,并尽量地提供反馈。2.2 2.2 软件开发生命周期模型软件开发生命周期模型36/63敏捷软件开发的目的是:敏捷软件开发的目的是:在计划的执行中做出对变更的响应在计划的执行中做出对变更的响应响应变化的能力常常决定着一个项目的成败l当构建计划时,应该确保计划是灵活的、并且易于适应商务和技术方面的变化计划不能考虑的过远l计划没有变化快!较好的作计划的策略是:l为下两周做详细计划;为下三个月做粗略计划;再以后就做极为粗糙的计划。l这种逐渐降低
24、的细致度,意味着仅仅对迫切的任务才进行详细计划,计划的其余部分仍然保持着灵活性。2.2 2.2 软件开发生命周期模型软件开发生命周期模型37/63在任何生命周期模型中,一个好的测试都应该具在任何生命周期模型中,一个好的测试都应该具有下面几个特点:有下面几个特点:每个开发活动都有相对应的测试活动;每个开发活动都有相对应的测试活动;每个测试级别都有其特有的测试目标;每个测试级别都有其特有的测试目标;对于每个测试级别,需要在相应的开发活动过程对于每个测试级别,需要在相应的开发活动过程中进行相应的测试分析和设计;中进行相应的测试分析和设计;在开发生命周期中,测试员在文档初稿阶段就应在开发生命周期中,测
25、试员在文档初稿阶段就应该参与文档的评审。该参与文档的评审。2.2 2.2 软件开发生命周期模型软件开发生命周期模型38/632.2 2.2 软件开发生命周期模型软件开发生命周期模型39/63内容进度内容进度2.1 软件工程2.1.1 软件工程的目标2.2 软件开发生命周期模型2.3 2.3 软件测试过程模型软件测试过程模型2.3.1 V2.3.1 V模型模型2.3.2 W模型2.3.3 H模型2.3.4 其他模型2.3.5 测试模型的使用4040/51/5140/63 2.3.1 V2.3.1 V模型模型 “V”的左端表示传统的瀑布开发模型,而“V”的右端表明相应的测试阶段。 V模型是最具有代
26、表意义的测试模型 。2.3 2.3 软件测试过程模型软件测试过程模型测试是开发之后的一个阶段。 测试的对象就是程序本身。 实际应用中容易导致需求阶段的错误一直到最后系统测试阶段才被发现。 整个软件产品的过程质量保证完全依赖于开发人员的能力和对工作的责任心,而且上一步的结果必须是充分和正确的,如果任何一个环节出了问题,则必将严重的影响整个工程的质量和预期进度 2.3 2.3 软件测试过程模型软件测试过程模型42/63存在局限性,仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段,只针对程序进行的寻找错误的活动,忽视了测试活动对需求分析,系统设计等活动的验证和确认的功能,直到后期的验收测试
27、才被发现。2.3 2.3 软件测试过程模型软件测试过程模型43/63内容进度内容进度2.1 软件工程2.1.1 软件工程的目标2.2 软件开发生命周期模型2.3 2.3 软件测试过程模型软件测试过程模型2.3.1 V模型2.3.2 W2.3.2 W模型模型2.3.3 H模型2.3.4 其他模型2.3.5 测试模型的使用4444/51/5144/632.3.2 W2.3.2 W模型模型在W模型中,既强调了测试方案设计,也强调了测试执行。 2.3 2.3 软件测试过程模型软件测试过程模型W模型由Evolutif公司提出。W模型从V模型演化过来,实际上开发是V,测试也是与此并行的V。相对于V模型,W
28、模型增加了软件各开发阶段中应同步进行的验证和确认活动。2.3 2.3 软件测试过程模型软件测试过程模型46/63 相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。 W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。 W模型有利于尽早地全面的发现问题。但W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作
29、。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。2.3 2.3 软件测试过程模型软件测试过程模型47/63W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。2.3 2.3 软件测试过程模型软件测试过程模型48/63内容进度内容进度2.1 软件工程2.1.1 软件工程的目标2.2 软件开发生命周期模型2.3 2.3 软件测试过程模型软件测
30、试过程模型2.3.1 V模型2.3.2 W模型2.3.3 H2.3.3 H模型模型2.3.4 其他模型2.3.5 测试模型的使用4949/51/5149/63 2.3.3 H2.3.3 H模型模型H模型建立p为了解决V模型和W模型存在的问题,有专家提出了H模型。它将测试活动完全独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动侵袭地体现出来H模型应用 2.3 2.3 软件测试过程模型软件测试过程模型H模型揭示了一个原理:软件测试不仅仅指测试的执行,还包括很多其他的活动。软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。软件测试要尽早准备,尽早执行。软件测试是根据
31、被测物的不同而分层次进行的。不同层次的测试活动可以是按照某个次序先后进行的,但也可能是反复的。2.3 2.3 软件测试过程模型软件测试过程模型软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。当某个测试时间点就绪时,软件测试即从测试准备阶段进入测试执行阶段。内容进度内容进度2.1 软件工程2.1.1 软件工程的目标2.2 软件开发生命周期模型2.3 2.3 软件测试过程模型软件测试过程模型2.3.1 V模型2.3.2 W模型2.3.3 H模型2.3.4 2.3.4 其他模型其他模型2.3.5 测试模型的使用5252/51/5152/632.3.4 2.3.4 其他模型其他模
32、型1.X模型很好地处理测试与开发的交接过程(很好地处理测试与开发的交接过程(交接的过程是一个时间段,而不是一交接的过程是一个时间段,而不是一个点)个点)左边描述的是针对单独程序片段所进左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终合成进行频繁的交接,通过集成最终合成为可执行的程序,然后再对这些可执为可执行的程序,然后再对这些可执行程序进行测试。行程序进行测试。己通过集成测试的成品可以进行封装己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的
33、和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。曲线表示变更可以在各个部分发生。X X模型还定位了探索性测试,这是不模型还定位了探索性测试,这是不进行事先计划的特殊类型的测试,给进行事先计划的特殊类型的测试,给有经验的测试人员在测试计划之外发有经验的测试人员在测试计划之外发现更多的软件缺陷。现更多的软件缺陷。2.3 2.3 软件测试过程模型软件测试过程模型2.3 2.3 软件测试过程模型软件测试过程模型54/39前置测试模型前置测试模型前置测试前置测试模型模型v开发和测试相结合前置测试模型将开发和测试的生命周期整合在一起,标识了项目生命周期从开始到结束之间的关键行为,表示这些行
34、为在项目周期中的价值所在。v对每一个交付内容进行测试每一个交付的开发结果都必须通过一定的方式进行测试。源程序代码并不是唯一需要测试的内容。还包括可行性报告、业务需求说明、系统设计文档等。2.3 2.3 软件测试过程模型软件测试过程模型55/63v 在设计阶段进行测试计划和测试设计 设计阶段是做测试计划和测试设计的最好时机。很多组织要么根本不作测试计划和测试设计,要么在即将开始执行测试之前才飞快地完成测试计划和测试设计。在这种情况下,测试只是验证了程序的正确性,而不是验证整个系统本该实现的东西。v 测试和开发结合在一起 前置测试将测试执行和开发结合在一起,并在开发阶段以编码-测试-编码-测试的方式来体现。也就是说,程序片段一 旦编写完成,就会立即进行测试。一般情况下,先进行的测试是单元测试,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园摄影写真创业计划书
- 慢性扁桃体炎课件
- 生物教师述职报告结尾
- 国风绣球美术课件
- 药学部副主任竞聘述职报告
- 中级个人理财-2025中级银行从业资格考试《个人理财》预测试卷6
- 随行付新产品鑫一付创业计划
- 雷电天气的安全
- 信息技术应用与工作效率改进
- 电力生产事故警示教育
- 2025-2030年中国山葵制品行业运行现状及发展前景分析报告
- 《国防动员实施》课件
- 2025年度教育培训机构股权合作协议范本
- 《个人信息保护法》考试参考试题库100题(含答案)
- 2024年安徽省省情知识竞赛题库及答案
- 2024年苏州职业大学高职单招语文历年参考题库含答案解析
- 2025年甘肃省白银市景泰县公益性岗位招聘9人历年高频重点提升(共500题)附带答案详解
- 三维建模合同
- DB32-T 4351-2022城市轨道交通结构安全保护技术规程
- GDMSS考试题库三副考试正在用的题库
- 某公司安全风险分级管控与隐患排查治理制度
评论
0/150
提交评论