测试基础知识总结_第1页
测试基础知识总结_第2页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、目录:第一章、软件工程学第二章、软件测试基础第三章、基于生命周期软件测试第四章、软件测试分类与分级第五章、软件缺陷管理(*)常见缺陷状态说明(*)第六章、软件测试过程及管理(*)测试计划(*)第七章、软件静态测试第八章、动态测试第一章、软件工程学1. 软件的定义:软件由数据:该程序能够具体满意地处理信息的数据结构程序:当运行时,能够提供所要求功能和性能的指令或计算机程序集合;文档:描述程序功能需求以及程序如何操作和使用文档。2. 软件危机的产生:软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。3. 软件危机的原因1)需求不明

2、确2)缺乏正确的理论指导3)软件开发规模越来越大4)软件开发复杂度越来越高4. 消除软件危机的办法对计算机软件有一个正确的认识(软件工程序)充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目推广使用在实践中总结出来的开发软件成功技术和方法开发和使用更好的软件工具5. 软件工程方法项目计划与估算需求分析数据结构总体设计编码、测试与维护等工具软件工具软件支撑环境计算机辅助软件工程(CASE)等过程方法使用的顺序需交付的文档变更管理里程碑管理等软件生命周期(*)SRS:计划,分析,设计,编码,测试,运行和维护。软件生命周期模型(*)瀑布

3、模型:迭代模型:V模型强调软件开发的协作和速度,将软件实现和验证有机地结合起来,在保证较高的软件剃蚪1试/nsstr/质量情况下缩短开发周期。4.1敏捷开发的定义是一种以用户的需求进化为核心、迭代、循序渐进的开发方法。敏捷开发的特点:变强调软件开发对未来可能出现的变化和不确定性做出全面反应早总体目标是尽可能早地、持续地对有价值软件的交付快主要是用于需求模糊或快速变化的前提下,小型开发团队的软件开发活动软件开发主流技术主机终端模式文件服务器模式C/S模式客户/服务器模式胖客户/瘦服务器QQ、微信、王者荣耀B/S模式浏览器/服务器模式瘦客户/胖服务器WebQQ、洛克王国第二章、软件测试基础(一共有

4、三个)现代定义:是对软件需求分析、设计、编码的最终复查的一系列过程,是软件质量保证的关键步骤目的:1发现缺陷,提高质量2验证是否满足需求3建立软件质量的信心3测试的7个原则:1测试显示缺陷存在2穷尽测试是不可能的3测试尽早介入4缺陷集群性5杀虫剂悖论6测试活动依赖于测试背景7没有失效不代表系统是可用的缺陷的原因1人本身容易犯错误2时间的压力3复杂的外部系统4技术的革新5复杂的代码6.复杂的系统架构软件测试工作是验证软件系统是否满足软件用户的需求测试流程工具商业化的测试工具:测试管理工具:HPALM/QC自动化测试工具:HPUFT(QTP&ServiceTest)性能测试工具:HPLoa

5、drunner安全测试工具:HPFortify、Weblnspect开源测试工具:Testlink、禅道、Mantis、BugZilla、selenium、Jemeter、JUnit、CppUnit认识误区1软件开发完成后进行软件测试2软件发布后如果发现质量问题,那是软件测试人员的错3. 软件测试是软件开发的对头4. 软件测试是没有前途的工作,只有程序员才是软件高手5. 期望用测试自动化代替大部分人工劳动6. 认为软件测试文档不重要第三章、基于生命周期软件测试生命周期测试方法意味着测试与软件开发平行生命周期测试应伴随整个软件开发周期,此时测试的对象不仅仅是程序,需求、功能和设计同样要测试软件开

6、发的所有阶段进行测试,被设计用来减少测试成本测试与开发同步进行,有利于尽早地发现问题,同时缩短项目的开发建设周期2、软件生命周期的六个阶段: 需求:(需求阶段测试很重要)验证和确认需求说明书、制定测试计划测试需求、组织团队、测试计划 设计:(包括概要设计和详细设计)验证和确认设计文档、模型等,测试设计及评审测试方案、测试案例等 编程:代码、评审、搭建环境、单元测试测试案例及缺陷等 测试:执行测试、缺陷管理缺陷报告和测试报告 安装:安装测试、确认产品安装程序、安装文档、用户手册等 维护:培训、维护、变更管理、测试维护手册、测试报告等第四章、软件测试分类与分级软件测试分类:一般分类是否关心内部结构

7、白盒测试、黑盒测试、灰盒测试开发过程级别单元测试、集成测试、系统测试、验收测试是否执行程序静态测试、动态测试执行过程是否需要人工干预手工测试、自动化测试测试实施组织开发测试、用户测试、第三方测试软件配置缩写为CSCI分类计算机软件配置项:定义是为独立的配置管理而设计的且能满足最终用户要求的一组软件,简称软件配置项软件开发过程中,代码、文档、报告等工作成果软件配置管理控制软件配置项的投放和变更,并且记录并报告配置的状态和变更要求,验证配置的完整性、正确性和一致性基线即:软件技术状态基线任何软件配置项,一旦形成文档并审议通过,即成为基线每个基线都是下一步开发的出发点和参考点里程碑人为的,时间的虚点

8、。质量特性分类:功能性、可靠性、可用性、效率、维护性、可移植性重点非功能测试:负载测试性能测试容量测试压力测试稳定性测试兼容性测试文档测试软丼幵软杵测武过程崛软件测试的分级:W/一4WKI;Adm1IT1A单.元(迅详细Bt计1fal114)SI-试第1级错误第2级错误-第3级错误第4级错误第5圾错误严重牍陷,即应用系统崩溃或系统资源使用严重不足.较严車缺陷即系统因软件严重缺陷导数下列问题V性缺陷r即系统因软件陷导致下列问题口较小缺陷即系统因软件操柞不便方面旅陷。其他缺陷,即系统辅助功能缺陷.第五章、软件缺陷管理(*)常见缺陷状态说明(*)软件缺陷定义计算机软件或程序中存在的某种破坏正常运行能

9、力的问题、错误,或者隐藏的功能缺陷。错误:不符合文档编制与编码规定测试过程不足规程错误文档编制错误需求的不完善定义编码错误逻辑设计错误客户开发者通信失败对软件需求的故意偏离缺陷基本信息:标识(Identifier)报告人报告日期程序的名称版本号缺陷类型(Type)严重性(Severity)优先级(Priority)关键词缺陷描述重现步骤结果对比附件1、按软件生命周期分类有用户需求错误、产品需求错误、设计错误、编码错误、数据错误、发行错误2、按软件使用分类有功能错误、性能错误、界面错误、流程错误、数据错误、提示错误、常识错误以及其他错误3、按GB/T15532-2008分类有程序问题、文档问题、

10、设计问题及其它问题优先级High缺陷应该立即被解决(不符合系统的设计或某一主要功能无法实现)Middle缺陷需要正常排队等待修复或列入软件发布清单(某些非总要的功能未能实现,但不影响其他功能)Low缺陷可以在方便的时候被纠正(不影响系统的功能实现,如提示信息错误,错别字等)严重程度UrgentVeryHighHighMediumLow缺陷报告的主要内容缺陷的标题与简单描述缺陷的基本信息复现缺陷的操作步骤缺陷的实际结果描述、期望的正确结果描述注释文字和截取的缺陷图像缺陷报告的撰写标准准确清晰简洁一致完整软件测试过程度量测试覆盖率设计测试用例的需求数/需求总数测试执行率已执行的测试用例数/设计的测

11、试用例总数测试执行通过率执行结果为通过的测试用例数/实际执行的测试用例数缺陷解决率已关闭的缺陷数/缺陷总数缺陷管理的意义1.通过推广专业的技术找到隐藏的缺陷2. 通过准确的文档报告缺陷3. 通过良好的沟通使缺陷尽快解决4. 通过良好的措施减少和预防缺陷的发生5. 通过合适的工具管理缺陷报告6. 通过优化的流程推进缺陷的生命周期7. 通过缺陷数据的分析及时找到问题和根源8. 通过角色的分工促进团队协作9. 通过明确的分级确保优先的处理10. 通过缺陷三方会审一起做出正确决策。(RelOpenP口slponitd-.A«-jnd:cdxaigJirtTpDtbrdflwpl口pw晦TOM

12、31New测试过程中耕握交的缺陷2Open鼬提交并槪辰给尸发人员处理的域附34皿Ed幵发人虽已帳慕的疑陷.等待测过人凰卷证Reopen甥陷修改未达到目标.更靳指派给幵发人员业理5口osed扳陷已理氣井已经通过8!试人员盘证6Rjgj&cted幵岌拒绝的蚁陷.不需要倏盘或占不足放陷7Pending尝前版本不能懈境的域盟8Distract在上线前仍未檸目.后域跟踪的放附9Cancelled被取消的缺陷软件缺陷的度量分析统计。软件缺陷统计是软件分析报告中的更要内客之一-从统计的角度出发,可以对软4牛过程的缺陷逬行度量软件功能模块缺陷分布、缺陷严重程度分布.战陷类型分布、缺陷优先级分転缺陷率分

13、布、猛陷密度分析、缺陷趋势分布、缺陷注入率/俏除统计的方式表格、散点图、趋势虱因果虱直方虱条形虱罚阴I图等缺陷管理工具mantis(免费)收费:RationalClearQuest,URTracker,TestDirector免费:Bugfree,Bugzilla第六章、软件测试过程及管理(*)测试计划(*)软件测试过程模型开发模型瀑布、增量、迭代、原型、敏捷、螺旋测试模型V定义:不同测试阶段和开发过程期间各阶段的对应关系W特点:增加软件各开发阶段中应同步进行的验证和确认活动V和W的局限性串行活动,无法更好适应变更线性的前后关系,无法有效支持迭代测试完整性不足H的特点测试是一个独立的流程贯穿整

14、个生命周期尽早准备尽早执行测试分层次进行,不同层次的测试按照某个次序先后进行,也可以重复进行测试过程中活动需求分析制定测试计划设计用例执行测试用例追踪缺陷测试报告评估度量指标测试覆盖率已设计测试用例的需求数/需求总数测试执行率已执行的测试用例数/设计的测试用例总数测试执行通过率执行结果为通过的测试用例数/实际执行的测试用例数测试缺陷解决率已关闭的缺陷数/缺陷总数TMM为测试成熟度模型TMM的五个级别:初始级,定义级,集成级,管理和测量级优化、预防缺陷和质量控制级软件成熟度模型(CMM)CMM的五个级别:初始级、可重复级、定义级、管理级、优化级软件测试流程i-2软件测试过程管理软件测试过程主要工

15、件内容顶目启动确定项目雄良进行顼目的苗期准氟测试需或分析一口软件开发需求为斟出r形成可测试的内容.制定测试计划“诵定测试范围、测试策略和方法以屋对风睑、日程表、资源等进行呼怙.m、测试设计和幵发“制宦测试e勺技术方案.设计测试用湫选挥测试工具.写测试脚本等.井目进行审”测试实施和擒行一建立吨设置相关的测试坏境.准备测试数据*执行测试用例并提交发现的缺陷.测试结果前审查和分折-分析测试结果确定产品质量提供发布依据"1)测试计划软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。2)测试计划的编写内容

16、测试环境测试基本原理和策略测试计划阶段划分测试计划要点功能描述和功能覆盖说明测试用例清单测试开始和退出准则3)3)软件测试需求收集途径与被测软件相关的各种文档资料与客户或系统分析员的沟通业务背景资料正式与非正式的培训其他4)4)软件测试需求的评审内容完整性审查准确性审查方式相互评审、交叉评审轮查走查小组评审审查评审人员组成开发经理项目经理测试经理系统分析人员相关开发人员测试人员等5)测试设计与开发的主要内容-制定测试技术方案、设计测试用例-选择测试工具-开发脚本-测试环境的设计6)测试执行分类,测试用例执行的跟踪,BUG的跟踪和管理刀描述要执行的软件测试及测试的结果常见软件测试文档:测试方案、

17、测试计划、测试需求、测试用例、缺陷报告、测试报告等第七章、软件静态测试1、概念通常是指不执行程序代码而寻找代码中可能存在的错误或评估程序代码的过程。2、对象各种与软件相关的有必要进行测试的产物,比如各类文档、源代码等。3、引入的目的1、软件产品内部结构复杂、混乱,代码的编写也没有规范,使得软件内部存在一些不易被察觉的错误。2、软件产品需要升级维护时,由于程序的复杂度和代码编写的混乱,维护工作很难进行。3、静态测试所要做的就是对代码标准以及质量进行监控,以此来提高代码的可靠性,使系统的设计符合模块化、结构化、面向对象的要求。4、特点1、不必动态地运行程序。2、可以人工进行,充分发挥人的思维优势。

18、3、不需要特别的条件,容易展开。4、对测试人员要求比较高。5、主要内容1、各阶段的评审一般评审包括:培训评审、同行评审,我们所关心的是同行评审1、概念同行评审是由开发软件产品作者以外的其他人检查工作产品,以发现缺陷并寻找改进的机会2、同行评审的方法评审方法是评审参与者通常采用一行一行仔细阅读被评审对象的形式发现被测对象中的缺陷1、临时评审(最不正式)作者找团队同事帮忙,不一定是一对一,可以找很多人帮忙2、同级桌查一对一,没有标准的流程,过程由作者主持3、走查一对多,没有标准的流程,过程由作者主持4、小组审查轻量级的比较正式的审查,没有相应的评审标准5、审查(最正式)有会前准备和严格的评审标准,

19、发现问题最多,代价最高3、评审的时间点一般设在工作产品到达了一个完成的里程碑并即将进入下一个开发阶段时2、代码检查主要检查代码和设计的一致性、代码对标准的遵循、代码的可读性、代码的逻辑表达正确性,代码的合理性3、软件复杂性分析主要包括软件复杂性度量与控制,面向对象的软件复杂性度量4、软件质量度量就是从整体上对软件质量进行评测,用于软件开发中对软件进行质量控制,并最终对软件产品进行评价和验收第八章、动态测试白盒测试“白盒”测试又称为结构测试或逻辑驱动测试是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的一种测试方法。静态白盒测试技术同行评审审查小组审查走查桌查临时评审代码检查逻辑覆盖语

20、句覆盖语句覆盖是最起码的测试要求,使得每一条语句至少被执行一次对程序的逻辑覆盖很少,只关心判定表达式的值,是很弱的逻辑覆盖标准。判定覆盖要求设计足够的测试用例,使得程序中的每一个分支至少通过一次即每一条分支语句的“真”值和“假”值都至少执行一次。条件覆盖不仅每一个语句至少执行一次,使得判定中的每个条件获得各种可能的结果。判定覆盖只关心整个判定表达式的结果,条件覆盖关心的则是每个条件各种取值的结果判定/条件覆盖设计足够多的测试用例,使得判定中每个条件的所有可能取值至少能够获取一次,同时每个判断的所有可能的判定结果至少执行一次。条件组合要求设计足够多的测试用例,使得每个判定中条件的各种组合至少出现

21、一次。满足条件组合覆盖标准的测试用例,也一定满足判定覆盖、条件覆盖和判定/条件覆盖标准路径覆盖要求设计足够多的测试用例,使得程序中所有的路径都至少执行一次。路径测试概念根据程序的逻辑控制所产生的路径进行测试用例设计的方法。控制流图定义程序流程图又称框图,是我们最熟悉,也是最容易理解的一种程序控制结构的图形表示。在这种图上的框里面常常标明了处理要求或者条件,但是,这些标注在做路径分析时是不重要的。为了了更加突出控制流的结构,需要对程序流程图做一些简化,这种简化了的程序流程图叫做控制流图。在控制流图的两种图形符号节点以标有编号的圆圈表示。它代表了程序流程图中矩形框(处理)、菱形(两个到多个出口判断

22、)以及两条到多条流线相交的汇合点。控制流线或弧以箭头表示。它与程序流程图中的流线是一致的,表明了控制的顺序。为了方便讨论,控制流线通常标有名字,如图中所标的a、b、c等。控制流图简化化简:若在一个节点序列中没有分支,则可以把这个序列的节点都合并成一个节点。McCabe圈复杂度定义把程序结构的控制流程图转化为有向图(即程序图),然后计算强连通有向图的环数来衡量软件的质量,用此方法得到的复杂度称为圈复杂度(。为了使之强连通,我们可以从出口点到入口点画一条虚弧。)公式V(G)=m-n+pG是强连通有向图V(G)是强连通有向图G中的环数m是G中的弧数n是G中的节点数p是G中分离部分的数目,对于一个正常

23、的程序来说,程序图总是连通的,即p=1基本路径测试步骤1) 根据过程设计结果画出相应的流图2) 计算控制流图的圈复杂度3) 确定线性独立路径的基本集合4) 设计可强制执行基本集合中每条路径的测试用例黑盒测试定义把测试对象当作看不见内部的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性作用黑盒测试法注重于测试软件的功能需求,主要试图发现以下错误1. 初始化和终止错误;2. 功能不正确或遗漏;3. 界面错误;4. 输入和输出错误;5. 数据库的访问错误;测试用例方法等价类划分法定义等价类,把所有可能的输入数据,即程序的输入域划

24、分成若干部分,划分,从每一部分中选取少数有代表性的数据做为测试用例,代表性数据等同于该类中的其他值等价类划分有效等价类对于程序规格说明来说,是合理的,有意义的输入数据构成的集合无效等价类对于程序规格说明来说,是不合理的,无意义的输入数据构成的集合划分方法按区间划分按数值划分按数值集合划分按限制条件或规划划分按处理方式划分边界值分析定义边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法,稍高于其边界值及稍低于其边界值的一些特定情况分析方法边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法,稍高于其边界值及稍低于其边界值的一些特定情况分析原则如果输入条件规定了值的范围,则应

25、取刚达到这个范围的边界值,以及刚刚超越这个范围的边界值作为测试的输入数据。如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一比最大个数多一的数作为册数数据。根据规格说明的每个输出条件,使用原则1)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。分析规格说明,找出其他可能的边界条件。因果图定义是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,该方法充分考虑了输入情况的各种组合及输入条件之间的相互制约关系。基本步骤分析软件规格说明描述:原因、结果、标识符分析软件规格说明描述中的语义:找出逻辑关系由于语法或环境限制,

26、有些原因与原因之间,原因与结果之间的组合情况不可能出现,添加必要的约束条件把因果图转换成判定表把判定表的每一列拿出来作为依据,设计测试用例因果图关系恒等若C1是1,则E1也是1;否则E1为0。非若C1是1,则E1是0;否则E1是1。或若c1或c2是1,则E1是1;否则E1为0,或”可有任意个输入。与若c1和c2都是1,则E1为1;否则E1为0,与”也可有任意个输入。因果图约束E约束(互斥/异)a和b中至多有一个可能为1,即a和b不能同时为1。I约束(或)a、b和c中至少有一个必须是1,即a、b和c不能同时为0。O约束(唯一)a和b必须有一个,且仅有1个为1。R约束(要求)a是1时,b必须是1,即不可能

温馨提示

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

评论

0/150

提交评论