软件测试技术总结资料.doc





《软件测试技术总结资料.doc》由会员分享,可在线阅读,更多相关《软件测试技术总结资料.doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章 软件测试概述1软件工程:开发、运行、维护和修复软件的系统方法。2软件工程研究内容是软件开发技术和软件开发管理。3软件工程面临的问题:软件费用、软件可靠性、软件可维护性、软件生产率、软件重用4.软件生存周期:指一个软件从提出开发要求开始直到该软件报废为止的整个时期。6.软件生存周期分6个阶段:制定计划、需求分析、软件设计、程序编码、软件测试和运行维护。7.软件生存周期模型:瀑布模型、原型法模型、螺旋模型、喷泉模型、智能模型。8.瀑布模型:是一种线性模型、整体的开发模型、适合开发大型项目,但不灵活,需求不明确时不能用该模型。9.原型法模型:称渐进法或迭代法,在获得用户需求后,快速地建立系统
2、的一个原型,交用户试用,通过反复评价和修改原型系统,从而完成系统的开发。适合需求不明确的小型项目,但是需求在开发过程中难控制。10.螺旋模型:是瀑布模型与原型模型的结合,加入了风险分析,它将开发过程分为几个螺旋周期,每个周期四个活动,包括:制定计划、客户评价、风险分析、实施工程。因风险分析需相当丰富的经验人士,难于支持面向对象。11.喷泉模型:是一种以用户需求为动力、以对象作为驱动的模型,使开发过程具有迭代性和无间隙性。适用于面向对象的开发过程。12智能模型称基于知识的软件开发模型,把瀑布模型和专家系统结合在一起。13.软件开发方法:结构化方法、Jackson方法、维也纳方法(VDM)、面向对
3、象的开发方法。14. 结构化方法:面向数据流的开发方法,由结构化分析,结构化设计,结构化程序设计组成。指导思想:自顶向下、逐步求精。基本原则:功能的分解与抽象。方法简单实用、应用广、技术成熟,是最早的开发方法,适用于数据处理类软件,不适用于大型项目,不支持重用。15. Jackson方法:面向数据结构的开发方法,适合小规模的项目。16. 维也纳方法:基于模型的方法。17. 面向对象的开发方法:以对象作为最基本的元素,是分析问题、解决问题的核心。主要有:Booch方法、Coad方法、OMT方法和Jacobson方法。18.软件生存周期的过程分为:主要过程、支持过程、组织过程。主要过程有:获取过程
4、、供应过程、开发过程、运行过程、维护过程支持过程有:文档编制过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审核过程、问题解决过程。组织过程:管理过程、基础设施过程、改进过程、培训过程。19软件工程标准:国际标准(ISO)、国家标准(GB)、行业标准(IEEE、GJB)20软件开发文档:可行性研究报告、项目开发计划、软件需求说明书、数据要求说明书、概要设计说明书、详细设计说明书、数据库设计说明书、用户手册、操作手册、模块开发卷宗、测试计划、测试分析报告、开发进度月报、项目开发总结报告21.软件质量分为:正确性、可靠性、功效、完整性、可用性、可维护性、灵活性、可测试性、可移植
5、性、可复用性、互操作性22.CMM(软件过程能力的成熟度模型)的5个成熟等级:初始级、重复级、已定义级、已定量管理级、优化级。23.CMMI(实现能力成熟度模型集成)指引一个组织去改进它用于开发、维护、购买产品和服务的过程。两种表现方法:连续模型和阶段模型。两者不同是:过程区域的组织方式及对成熟度级别的判断方式。连续模型:每个过程区域有6个级别(0-5),不完整、已执行、已管理、已定义、量化管理、优化。阶段模型:5个成熟度等级(1-5),初始、已管理、已定义、量化管理、优化。24. 软件测试:.使用人工或自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实
6、际结果之间的差别。25软件测试作为一种能够保证软件质量的有效手段。26.软件测试的步骤:测试需求分析、测试过程设计、测试实现、测试实施、测试评价、测试配置管理、测试维护。27.软件错误按性质分类:功能错误、系统错误、加工错误、数据错误、代码错误。28.软件测试工具:测试设计工具、测试管理工具、静态分析工具、动态分析工具、覆盖测试工具、负载和性能测试工具、GUI测试驱动和捕获/回放工具、基于故障的测试工具。29.软件测试的方法:试题测试法(先建立输入数据模型)、新旧两个系统进行平行处理测试和软件测试自动化工具测试。3080-20原则:80%的软件缺陷可以借助人工测试发现。20%的软件缺陷可以借助
7、自动化测试发现。或:80%的软件缺陷存在于软件20%的空间里。31.测试:是指在软件开发人员缺席的情况下内部进行的模拟的或者实际的操作性测试。32.测试:是指在软件开发人员缺席的情况下进行的操作性测试。33.白盒测试(结构测试或逻辑驱动测试):它把被测试对象看成一个打开的盒子,按照程序内部的结构测试程序,检验程序中的每条通路是否都能按预定的要求正确工作。34.黑盒测试(功能测试或数据驱动测试):它把被测试对象看成一个不能打开的盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息
8、,并且保持外部信息的完整性。35灰盒测试:界于白盒测试和黑盒测试间的一种测试。通过用户界面进行测试,但是测试人员已经对该软件或某种软件功能的源代码程序是怎样设计的有所了解。36.单元测试(模块测试):以程序设计说明书为指导,测试模块范围内的重要控制路径,以揭示错误。37.集成测试(组装测试):是在所有模块都通过了单元测试和子系统测试的功能测试成功的基础上,按照系统设计说明书的要求组合起来进行的测试,检验各部分工作是否达到或实现了相应技术指及要求的功能。38确认测试(有效性测试):用于检验所开发的软件是否按照软件需求规格说明书中确定的软件功能、性能、约束及限制等技术条件、要求进行工作。39.系统
9、测试:是指将通过集成测试的软件系统或子系统,作为基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素组合在一起所进行的测试工作。40验收测试:以用户为主,验证软件系统的功能、性能及其他特性是否与用户的要求一致。41功能测试:从用户角度来进行的功能验证,以确认每个功能是否都能正常使用、是否实现了产品规格说明书的要求,是否能适当地接收输入数据而产生正的输出结果。42性能测试:用于检验软件是否达到需求规格说明中规定的各类性能指标,并满足一些与性能相关的约束和限制条件。43动态测试:通过运行软件来检验软件的动态行为和运行结果的正确性。44静态测试:指无须执行被测代码,而
10、是借助专用的软件测试工具评审软件文档或程序,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率。44回归测试:对软件修改后进行的测试。目的是检验对软件进行的修改是否正确。45安全性测试:用于测试与系统相关的安全问题,并且能够给出安全漏洞的解决方案。46边界条件测试:是环绕边界值的测试,通常意味着测试软件各功能是否能正确处理最大值、最小值、或者所设计软件能够处理的最长的字符串等。47测试用例:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。48峰
11、谷测试:确定从高负载恢复转为几乎空闲、然后攀升到高负载再降低的能力的测试。49可靠性测试:测试软件系统能否在既定的环境条件下运行并实现所期望的结果50路径测试:是设计足够的测试用例,覆盖程序中所有可能的路径。51人工测试:是采用人工的手段对软件实施测试。52.数据驱动测试:把测试数据写入到简单表格中。53.稳定性测试:是指网站的运行中整个系统是否运行正常,主要采用将测试服务器长时间运转的方法进行测试。54.用户界面测试:用于测试软件用户界面的设计是否合乎用户期望或要求。55.自底向上的测试:是指集成测试时先测试最底层的组件,然后用最低层的组件来帮助测试更高层组件的一种方法。这个过程一直重复进行
12、,直到最高层的组件被测试到。56.自顶向上的测试:是指集成测试策略从软件的主控模块入手,将直接调用的模块首先与其集成,并将该子系统所调用的过程和所使用的数据用一些简单的代码,在模块的帮助下,可以运行并测试这一子系统,直至测试结果满足要求为止,然后,将这一子系统所调用的模块与该系统集成,并重复上述过程,直到测试完毕。57.自动化测试:是把以人为驱动的测试行为转化为机器执行的一种过程。58强度测试(Stress Test): 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。59负载测试(Load Test):负载测试是一种性能测试,指
13、数据在超负荷环境中运行,程序是否能够承担。60容量测试(Volume Test):确定系统可处理同时在线的最大用户数。61软件测试的任务:制定测试大纲、制作测试数据、程序测试、功能测试、子系统测试、系统测试、系统接口测试、写出系统测试报告书。62.软件测试人员需要的素质:沟通能力、技术能力和较高的洞察力。63软件测试的目的:帮助开发人员、测试工程师发现问题、分析问题;减少软件的缺陷数目或者降低软件的缺陷密度;提高软件的可靠性;评估软件的性能指标;增加用户对软件的信心;测试的最终目的是为了避免错误的发生,确保应用程序能够正常高效的运行。64软件测试组织结构:软件测试部,其下有系统测试组,系统测试
14、组由功能测试组、性能测试组、文档工作组组成 65软件测试人员结构:由测试经理、测试文档审核师、测试工程师、操作人员组成。测试经理管理测试文档审核师、测试工程师、操作人员。第二章 软件测试的质量要求1.软件测试的成熟度模型主要有:TCMM、TSM、TMM2.TCMM定义的级别:初始级、可重复级、已定义级、受管理级、优化级3.TMM定义的级别:初始级、定义级、集成级、管理和测量级、优化预防缺陷和质量控制级。(1)初始级:测试是一个混乱无序的过程;是代码完成后以随意方式进行的;目标是表面软件有效;发行的软件产品没有质量保证;缺乏资源、工具和合适的工作人员;(2)定义级:制定测试与调试目标;具备测试策
15、划过程;制度化的测试技术和方法;(3)集成级:建立一个软件测试组织;测试集成进入软件生命周期;控制和监控测试过程;(4)管理和测量级:建立一个面向组织的评价程序;建立一个技术培训程序;建立一个测试度量程序;软件质量评价(5)优化预防缺陷和质量控制级:将过程数据用于缺陷预防;实施质量控制度量;优化测试过程;4.软件测试的组成:确定、验证和测试。确认:用于评估将要开切的软件产品是否正确无误、可行和有价值。验证:用于检测软件开发的每个阶段、每个步骤的结果是否正确无误、是否与软件开发各阶段的要求或期望的结果相一致。测试:通常包括单元测试、集成测试、系统测试等。5.软件测试的流程:需求阶段、设计编码阶段
16、、测试阶段、用户测试阶段。第三章 白盒测试技术1. 白盒测试的原则:(1)保证一个模块中的所有独立路径至少被测试一次;(2)所有逻辑值均需要测试真和假;(3)检查程序的内部的数据结构,保证其结构的有效性;(4)在上、下边界及可操作范围内运行所有循环。2白盒测试在不同阶段的测试侧重点:(1)单元测试:代码检查、逻辑覆盖(2)集成测试:增加静态结构分析、静态质量度量(3)系统测试:根据黑盒测试结果,采用白盒测试。3.白盒测试的流程:界面对象流程(界面对象-业务对象-数据管理对象-DB Server端)、业务对象流程(DB Server端-数据管理对象-业务对象-界面对象)。4.白盒测试的测试用例设
17、计方法:代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法(运用最广泛)、域测试法、符号测试法、Z路径覆盖法、程序变异测试法。5代码检查法分:桌面检查、走查、代码审查。桌面检查:程序员对源代码分析、检验并补充文档,发现错误的过程。走查:由程序员和测试员组成的审查小组通过逻辑运行程序发现问题的过程。代码审查:由程序员和测试员组成的审查小组阅读、讨论、分析技术对程序进行静态分析的过程。36静态结构分析法主要分析的内容:可以检查函数的调用关系是否正确;是否存在孤立的函数而没有被调用;明确函数被调用的频繁度,对调用频繁的函数可以重点检查。6静态质量度量法通过软件质量、质量度量、度量
18、规则进行分析。7软件质量包括:功能性、可靠性、可用性、有效性、可维护性、轻便性。8软件质量等级:优秀(可以接受)、良好(可以接受)、一般(可以接受)、较差(不可以接受)9.逻辑覆盖法涉及:测试覆盖率、逻辑覆盖、面向对象的覆盖、测试覆盖准则。10测试覆盖率:功能点覆盖率和结构覆盖率。11逻辑覆盖分为(重点掌握的):语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖、修正条件判定覆盖、组合覆盖、路径覆盖。12语句覆盖:每条语句至少被执行一次。13.判定覆盖:使判定中真假各被执行一次。14.条件覆盖:是判定中的条件真假取值各被执行一次。15.条件判定组合覆盖:每个条件的所有情况(真/假)至少
19、出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。16.组合覆盖:使程序中每个判定的所有可能的条件取值组合都至少出现一次。17.路径覆盖:使程序中所有可能路径各被执行一次。18面向对象的覆盖分为:继承上下文覆盖、基于状态的上下文覆盖。19测试覆盖准则:错误敏感测试用例分析ESTCA、线性代码序列与跳转LCSAJ。20基本路径测试法步骤:(1)画出程序的控制流图;(2)计算程序的环路复杂度,导出程序基本路径集中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。(3)导出基本路径集,确定程序的独立路径;(4)根据(3)中的独立路径,设计用例的输入数据和
20、预期输出。21环路复杂度(圈复杂度):一种为程序逻辑复杂度提供量尺度的软件度量。求法:V(G)E-N+2或判定结点数+122独立路径:程序中至少引入了一个新的处理语句集合或一个新条件的程序通路。23域测试法:基于程序结构的测试方法,基于对程序输入空间的分析,选择测试点进行测试。主要错误有:域错误、计算型错误、丢失路径错误。24符号测试法:允许程序的输入可是具体数据,也可是符号值,而符号值是基本的符号变量值,或符号变量值的表达式。25Z路径覆盖法:使循环机制简化,考虑执行时进入循环体一次和跳过循环体。26程序变异测试法:错误驱动测试。27. 白盒测试工具根据工具原理分:代码测试工具、静态测试工具
21、、动态测试工具。28代码测试工具的功能:性能分析;测试覆盖率分析;内存分析;执行追踪分析。30代码的静态分析:静态结构分析和静态质量度量。31.静态测试方法分:人工测试方法、计算机辅助静态测试方法。(静态测试大约可找出30%70%的逻辑测试错误)32.桌面检查:走读、走查、代码的静态分析、审查和评查。33.动态测试方法分:结构测试和正确性测试。34.动态测试的三个程序:测试覆盖监视程序、断言处理程序、符号执行程序35断言指变量应满足的条件,它分局部性断言和全局性断言。第四章 黑盒测试技术1.黑盒测试的两种结果:通过测试和测试失败。2. 黑盒测试时发现的错误:功能不对或遗漏、界面错误、数据结构或
22、外部数据库访问错误、性能错误、初始化和终止错误。3黑盒测试优点:有针对性地找问题,并且定位问题更准确;黑盒测试可以证明产品是否达到用户要求的功能,符合用户的工作要求;能重复执行相同的动作,测试工作中最枯燥的部分可交由机器完成。4黑盒测试缺点:要充分了解产品用到的技术,测试人员需要具有较多经验;在测试过程中很多是手工测试操作;测试人员要负责大量文档、报表的制订和整理工作。5黑盒测试针对软件界面和软件功能进行测试。6黑盒测试与白盒测试的区别主要有:(1)已知产品的因素:黑盒测试已知产品的功能设计规格;白盒测试已知产品的内部工作结构。(2)检查测试的主要内容:黑盒测试检划功能、接口、数据结构或数据库
23、访问错误、初始化可终止错误;白盒测试检查路径、逻辑判定、循环边界、内部数据结构有效性。(3)静态测试方法;黑盒测试对文档测试。白盒测试对源代码、数据字典、系统设计文档、环境设置等。(4)动态测试方法:黑盒测试通过数据输入并运行程序来检查输出结果,如功能测试;白盒测试通过驱动程序来调用,如单元测试。7.黑盒测试的测试用例设计的方法:等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、正交实验设计方法、功能图分析方法、场景设计方法。8等价类划分法:把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。9边界值分析法:用于列出单元功能、输入、状态及控
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 技术 总结 资料

限制150内