最终软件测试_第1页
最终软件测试_第2页
最终软件测试_第3页
最终软件测试_第4页
最终软件测试_第5页
全文预览已结束

下载本文档

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

文档简介

第_章软件测试:是由“验证”和“有效性确认”活动构成的整体。“验证”是检验软件是否正确地实现了产品规格书所定义的系统功能和特性。“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。软件测试被认为是对软件系统中潜在的各种风险进行评估的活动。从风险的角度看,软件测试就是对风险的不断评估,引导软件开发工作,进而将最终发布的软件所存在的风险降到最低。测试的风险观点:在尽力做好测试工作的前提下,工作有所侧重,在风险和开发周期限制上获得平衡。测试的经济观点就是以最小的代价获得最高的软件产品质量,正是风险观点在软件开发成本上的体现,通过风险的控制来降低软件开发成本。经济观点也要求软件测试尽早开展工作,发现缺陷越早,返回的工作量就越小,所造成的损失就越小。软件测试和软件开发构成一个全过程的交互、协作之关系,两者自始至终一起工作,共同致力于同一个目标一一按时、高质量的完成项目。(瀑布模型所带来的误区一一软件测试是在代码完成之后进行的。)第二章软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,没有满足用户的需求。软件缺陷的产生:①技术问题;②软件本身;③团队工作。在软件缺陷构成的示意图中:规格说明书(54%),系统设计结果(25%),编程的代码(15%),其他(6%)。修复软件缺陷的代价:缺陷发现或解决得越迟,成本就越高。评审是对软件元素或者项目状态的一种评估手段,以确认其是否与计划的结果保持一致,并使其得到改进。6.SQA(软件质量管理)与软件测试之间相辅相成,存在包含和交叉的关系。软件测试的分类:⑴按测试的对象或范围(单元/组件、文档、子系统、系统等)分类:①单元测试;②程序测试;③系统测试;④文档测试;⑤Web应用测试、客户端测试;⑥数据库测试、服务器测试;⑵按测试目的分类:①集成测试;②功能测试;③压力测试;④性能测试;⑤可靠性测试;⑥灾难恢复性测试;⑦安全性测试;⑧兼容性测试;⑨回归测试;⑩验收测试;0安装测试。⑶其他分类:①静态测试;②动态测试;③白盒测试;④黑盒测试。测试阶段:整个测试过程包括规格说明书审查、系统和程序设计审查、单元测试、集成测试(组装测试)、功能测试、系统测试、安装测试和验收测试8个阶段软件测试工作范畴,可以分为2个层次:软件测试工作的组织与管理:制定测试策略、测试计划,确认所采用的测试方法与规范,控制测试进度,管理测试资源;测试工作的实施:编制符合标准的测试文档,搭建测试环境,开发测试脚本、与开发组织协作实现各阶段的测试活动。测试工作流程:①测试组织和管理;②测试计划;③测试用例设计;④测试实施;⑤测试结果分析;⑥测试评审与报告。第三章白盒测试,也称结构测试或逻辑驱动测试,也就是已知产品的内部工作过程,清楚最终生成软件产品的计算机程序结构及其语句,按照程序内部的结构测试程序,测试程序内部的变量状态、逻辑结构、运行路径等,检验程序中的每条通路是否都能按预定要求正确工作,检查程序内部动作或运行是否符合设计规格要求,所有内部成分是否按规定正常进行。其具体方法有逻辑覆盖、循环覆盖、基本路径覆盖等。逻辑覆盖又可进一步分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖。白盒测试主要用于单元测试。黑盒测试方法:也称功能测试或数据驱动测试方法,在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部和内部特性的情况下,测试人员针对软件直接进行测试,检查系统功能是否按照需求规格说明书的规定正常使用、是否能适当地接收输入数据而输出正确的结果,检查相应的文档是否采用了正确的模板、是否满足规范要求等。⑴等价类划分法:是指某个输入域的一个特定的子集合,在该子集合中各个输入数据对于揭露程序中的错误都是等效的。⑵边界值分析法:是在某个输入输出变量范围的边界上,验证系统功能是否正常运行的测试方法。⑶判定表方法;⑷因果图法:借助图形,着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”;⑸正交试验法;⑹功能图法;⑺错误推测法;①静态测试:就是静态分析,对模块的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和仿真运行。②动态测试:就是通过真正运行程序发现错误,通过观察代码运行过程,来获取系统行为、变量实时结果、内存、堆栈、线程以及测试覆盖度等各方面的信息,来判断系统是否存在问题,或者通过有效地测试用例,对应的输入输出关系来分析被测程序的运行情况,来发现缺陷。①主动测试方法:就是测试人员主动向被测试对象发生请求,或借助数据、事件驱动被测试对象的行为,从而验证被测试对象的反应或输出结果。②在被动测试方法中,软件产品运行在实际环境中,测试人员不干预产品的运行,而是被动地监控产品的运行,通过一定的被动机制来获得系统运行的数据,包括输入、输出数据。被动测试适合性能测试和在线监控。基于风险的测试是指评估测试的优先级,先做高优先级的测试,如果时间或精力不够,低优先级的测试可以暂时先不做。模糊测试(Fuzztesting)方法:就是构造大量的随机数据作为系统的输入,从而检验系统在各种数据情况下是否会出现问题。模糊测试方法可以模拟黑客来对系统发动攻击测试,在安全性测试上发挥作用之外,还可以用于对服务器的容错性测试。⑴ALAC(act-like-a-customer),像客户那样做,ALAC测试方法是一种基于客户使用产品的知识开发出来的测试方法。它的出发点是著名的Pareto80/20规律。第五章单元测试:是对软件基本组成单元进行的测试,而且软件单元是在与程序的其他部分相隔离的情况下进行独立的测试。单元测试的对象可以是软件设计的最小单位一一一个具体函数或一个类的方法,也可以是一个功能模块、组件。软件测试的目的之一就是尽可能早地发现软件中存在的错误,从而降低软件质量成本,测试越早进行越好,单元测试就显得更重要,也是系统的功能测试的基础。总有一些自认为很棒的程序员充满了信息,对单元测试很漠然,认为代码没有什么小问题,而只会出现一些集承上的大问题,而这些问题要依赖测试人员来发现。单元测试的目标:单元的代码规范性、正确性、安全性、性能等进行验证。单元测试的任务:主要任务包括逻辑、功能、数据和安全性等各方面的测试,具体的说,就是包括单元中所有独立执行路径、数据结构、接口、边界条件、容错性等测试。①单元中所有独立执行路径测试;通常在代码完成并无错误地通过编译或汇编后进行,采用工具扫描分析、代码评审等方法。代码评审:代码评审也是一种有效的测试方法。代码中60%以上的缺陷可以通过代码审查发现出来。代码审查不仅能有效地发现缺陷,而且为缺陷预防获取各种经验,为改善代码质量打下坚实的基础。①代码走查;②正式会议审查;③走查与会议审查的对比;④检查表。⑴驱动程序(Driver),也称驱动模块,用以模拟被测模块的上级模块,能够调用被测模块。在测试中,驱动模块接受测试数据,调用被测模块并把相关的数据传送给被测模块。⑵桩程序(Stub),也称桩模块,用以模拟被测模块工作过程中所调用的下层模块。桩模块有被测模块调用,他们一般只进行很少的数据处理,例如打印入口和返回,以便于检验被测模块与其下级模块的接口。弟六早集成测试是将已分别通过测试的单元按设计要求组合起来再进行再进行测试,以检查这些单元之间的接口是否存在问题。集成测试基本可以概括为以下2种:⑴非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。⑵渐增式测试模式:把下一个要测试的模块痛已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。⑶它们有各自的优缺点:(判断题)渐增式测试模式需要编写的软件较多,工作量较大;而非渐增式测试模式开销小。渐增式测试模式发现模块间接口错误早;而非渐增式测试模式晚。非渐增式测试模式发现错误,较难诊断;而使用渐增式测试模式,如果发生错误则往往和最近加进来的那个模块有关。渐增式测试模式测试更彻底。渐增式测试模式需要更多的机器时间。使用非渐增式测试模式,可以并行测试。⑴自顶向下法(驱动模块):从主控模块(主程序)开始,沿着软件的控制层次向下移动,从而逐渐把各个模块结合起来。自顶向下法的主要有点是:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且在早期发现上层模块的接口错误。其缺点是:需要桩程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力。⑵自底向上法(桩模块):从“原子”模块(即在软件最低层的模块)开始集成以进行测试。自底向上法的优缺点与自底向下法刚好相反。功能测试主要是根据产品规格说明书,来检验被测试的系统是否满足各方面功能的使用要求。黑盒测试也常被称为功能测试。回归测试的目的是在程序有修改的情况下保证原有功能正常的一种测试策略和方法,因为这时的测试不需要进行全面测试,从头到尾测一遍,是根据修改的情况进行有效测试。系统测试是将经过集成测试过后的软件,作为计算机系统的一个部分,与计算机硬件、某些支持软件、数据和人员等系统元素结合起来,在实际运行环境下对计算机系统进行一系列的严格有效的测试来发现软件的潜在问题,保证系统的运行。非功能测试有:性能测试、压力测试、容量测试、安全性测试、可靠性测试、容错性测试。第七章验收测试是在软件产品完成了功能测试和系统测试之后,产品发布之前所进行的软件测试活动,它是技术测试的最后一个阶段,也称为交付测试。验收测试主要包括易用性测试、兼容性测试、安装测试、文档测试等内容。a测试是指软件开发公司组织内部人员模拟各类用户对即将面市的软件产品进行测试,试图发现错误并修正。P测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用8版本,并要求用户报告异常情况、提出批评意见。3.好的用户界面包括7个要素:符合标准和规范、直观性、一致性、灵活性、舒适性、正确性、实用性。第十一章自动化测试是相对手工测试而存在的概念。主要是通过所开发的软件测试工具、脚本等来实现,具有良好的可操作性、可重复性和可靠性等的重要手段,测试自动化是软件测试不可分割的一部分。(主义手工测试的局限性P224)第十二章1.测试团队的地位和其他团队的关系⑴以开发为核心,测试人员只是开发团队的一部分,也就是开发团队中有测试人员,但没有形成独立的团队;⑵以项目经理为核心,开发小组和测试小组并存,隶属于项目经理领导;⑶项目经理、开发经理和测试经理“三足鼎立”,测试团队具有独立的、权威的地位。第十三章1.测试环境:包括设计环境、实施环境和管理环境。第十五章软件缺陷生命周期:指的是一个软件缺陷被发现、报告到这个缺陷被修复、验证直至最后关闭的完整过程。在整个软件缺陷生命周期中,通常是以改变软件缺陷的状态来体现不同的生命阶段。一个基本的软件缺陷生命周期包含了3个状态:“新打开的”、“已修正”和“已关闭”:①发现f打开;②打开…修复;③修复…关闭。软件缺陷状态:①激活或打开;②已修正或修复;③关闭或非激活;④重新打开;⑤推迟;⑥保留;⑦不能重现;⑧需要更多信息。缺陷严重性级别:①致命的; ②严重的; ③一般的; ③微小的;缺陷优先级:①立即解决(P1级)②高

温馨提示

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

评论

0/150

提交评论