W-Y-1-2 软件测试基础知识_第1页
W-Y-1-2 软件测试基础知识_第2页
W-Y-1-2 软件测试基础知识_第3页
W-Y-1-2 软件测试基础知识_第4页
W-Y-1-2 软件测试基础知识_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单元一软件测试基础之软件测试基础知识目录目录CONTENTS软件测试01软件测试过程模型02软件测试的原则03软件测试的分类04软件测试01软件测试1.软件测试的定义IEEE对软件测试(SoftwareTesting)的定义是:“使用人工或自动手段运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。”软件测试是与软件质量有着密切的联系,软件测试的最终目的是保证软件质量。IEEE提出的软件测试定义明确提出了软件测试以检验是否满足需求为目标。软件测试2.测试用例设计测试用例是为了有的放矢地对软件进行测试,设计目标是用最少的测试用例发现尽可能多的软件缺陷,以提高测试的效率。测试用例(TestCase)是对一项特定测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试环境、输入数据、测试步骤、预期结果、测试脚本等。简单来说,测试用例是为核实是否满足某个需求点而编制的一组测试输入、执行条件以及预期结果。测试用例重点包含以下四个内容:(1)用例标题描述测试的某个功能点。(2)前置条件是指在执行测试步骤前需要满足的条件。(3)执行步骤描述用例的操作步骤。(4)预期结果符合预期(开发规格书、需求规格说明书、用户需求等)需求。软件测试过程模型软件测试过程模型主要包含以下5种:V模型,W模型,H模型,X模型及前置测试模型。图1-2-1V模型

需求分析系统设计概要设计详细设计单元测试集成测试系统测试验收测试编码1.V模型V模型反映了测试活动与需求分析、设计的关系,从左到右描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系,如图1-2-1所示。2.W模型V模型的局限性在于没有明确地说明开发完成前的测试活动。在V模型中增加软件各开发阶段同步进行的测试,演化为如图1-2-2所示的W模型。实际上是开发的V模型与测试的V模型组合成的“双V”模型。软件测试过程模型图1-2-2W模型

需求分析概要设计详细设计单元测试集成测试系统测试验收测试编码系统测试设计集成测试设计单元测试设计设计模块集成系统集成验收交付软件测试过程模型3.H模型H模型将测试活动独立出来,如图1-2-3所示,该模型将测试准备活动和测试执行活动清晰地体现出来,贯穿于整个产品周期,与其他流程并发进行。测试准备测试就绪点测试执行测试流程其他流程图1-2-3H模型

软件测试过程模型4.X模型X模型的基本思想是由马里克(Marick)提出的。他认为V模型的缺点是无法引导项目的全过程。如图1-2-4所示,X模型的左边描述的是相互分离的单独程序片段(1~n)的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序。图的右上方体现了对集成后可执行程序的测试,已通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。图的右下方的虚线体现了探索性测试,探索性测试不是事先计划的特殊类型的测试,这一方式能帮助有经验的测试人员在测试计划之外返现更多的软件缺陷。多根并行的曲线表示变更可以在各个部分发生。程序片段1程序片段n测试设计工具配置执行测试编码完成测试设计工具配置执行测试封版执行测试测试设计工具配置集成程序片段1..n探索性测试执行测试图1-2-4X模型

软件测试过程模型5.前置测试模型前置测试模型是一个将测试和开发紧密结合的模型。图1-2-5所示,该模型将开发和测试的流程整合在一起,展示了整个项目从开始到结束之间的关键行为,并且表示了这些行为在项目周期中的价值。技术测试计划可行性分析可行性报告系统分析验收测试计划验收标准业务需求说明基于测试的需求执行系统设计设计文档正式走查黑/白盒单元测试集成测试系统测试专项测试独立(QA)测试编码、调试非正式走查验收测试运行与维护(生命周期)开发图1-2-5前置测试模型

软件测试的原则为进行有效的软件测试,测试人员需掌握软件测试的基本原则,遵循这些原则可帮助测试人员有效地利用时间和精力来发现软件项目的缺陷。通常有以下7条软件测试的基本原则。(1)测试是为了证明软件存在缺陷(2)穷尽测试是不可能的(3)尽早介入测试(4)2/8原则(5)杀虫剂悖论(6)测试是上下文相关的(7)无错误谬论软件测试的分类1.按是否运行被测软件分类(1)静态测试静态测试(StaticTesting,ST)是指不需要运行被测软件,依靠分析或检查源程序的语句、结构、过程等来检查程序是否有错误。(2)动态测试动态测试(DynamicTesting,DT)是指需要根据测试用例运行被测试程序,对运行结果与预期结果进行比较判断,同时分析运行效率和健壮性等。软件测试的分类2.按是否查看代码分类按照是否查看代码来划分,可将软件测试分为白盒测试、黑盒测试和灰盒测试三类。(1)白盒测试白盒测试把被测程序看作一个透明的盒子,它是从被测程序的内部结构和工作原理出发进行测试。(2)黑盒测试也叫数据驱动测试,在测试时把程序看作一个不能打开的黑盒子,不用考虑程序内部结构和工作原理,测试者只需要通过输入数据、进行操作、观察结果。(3)灰盒测试灰盒测试介于黑盒测试和白盒测试之间。软件测试的分类3.按是否需要人工干预分类按照测试执行时是否需要人工干预来划分,可将软件测试分为人工测试和自动化测试。(1)人工测试人工测试(英文:ManualTesting,MT)是测试人员手动地对被测对象进行验证的过程。测试人员根据设计的测试用例执行测试,得出执行结果,并将其与预期结果进行比对,最后形成测试结果报告。(2)自动化测试自动化测试(英文:AutomaticTesting,AT)是将以人驱动的测试行为转化为机器执行的一种过程。即在预先设定的条件下运行被测程序,以程序测试程序,以程序代替思维,以程序的运行代替人工测试,并能分析运行结果形成测试结果报告。软件测试的分类4.按测试阶段分类按照测试所处的阶段来划分,可将软件测试分为单元测试、集成测试、系统测试和验收测试。(1)单元测试单元测试主要是对该软件的单元模块进行测试,以发现该单元模块的编码错误和与需求功能不符合的问题。(2)集成测试单元测试完成后,需要将各单元按照一定的方式组合起来同时进行测试,验证各单元组合后的功能是否达到预期的功能需求,发现和接口有关的问题。(3)系统测试系统测试将被测试的软件作为整个基于计算机系统的一项元素,与计算机硬件、外部设备、支持软件、数据和人员等其他系统元素结合在一起,在软件产品实际运作的环境下进行测试,全面查找被测试系统的缺陷,该类测试是从客户或最终用户的角度来看待系统的。(4)验收测试验收测试是测试的最后一个阶段,是软件产品投入正式运行前要进行的验证工作。软件测试的分类5.按测试目的分类按测试目的来划分,可将软件测试分为UI测试、功能测试、安全测试、兼容性测试、易用性测试和性能测试等。(1)UI测试也叫界面测试,测试被测系统界面是否和设计一致。(2)功能测试测试各功能模块是否正常。(3)安全测试测试系统的安全性,如测试是否存在SQL注入攻击,非法访问等。(4)兼容性测试测试在不同的环境、系统下被测系统是否正常。(5)易用性测试测试系统操作是否方便、易于理解。(6)性能测试测试单位时间内用户量或数据量剧增,软件是否正常,比如负载测试、压力测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论