软件测试技术总结资料

上传人:xuex****hao 文档编号:164645418 上传时间:2022-10-25 格式:DOC 页数:15 大小:89.51KB
收藏 版权申诉 举报 下载
软件测试技术总结资料_第1页
第1页 / 共15页
软件测试技术总结资料_第2页
第2页 / 共15页
软件测试技术总结资料_第3页
第3页 / 共15页
资源描述:

《软件测试技术总结资料》由会员分享,可在线阅读,更多相关《软件测试技术总结资料(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边界值分析法:用于列出单元功能、输入、状态及控

24、制的合法边界值和非法边界值,对数据进行测试,检查用户输入的信息,返回结果及中间计算结果是否正确。10错误推测法:利用直觉和经验猜测出错的可能类型,列举出程序中所有可能的错误和容易发生错误的情况,然后编写测试用例。11判定表驱动分析法:判定表组成部分:条件桩(问题所有条件)、动作桩(问题规定可能采取的操作)、条件项(左列条件的取值)、动作项(各种条件取值下采取的动作)12因果图法一种适合于描述对于多种条件组合、相应产生多个动作的形式方法。设计测试用例的步骤:(1)分析说明描述中的原因、结果;(2)分析说明描述中语义的内容,找出原因和结果间,原因和原因间关系,根据关系画出因果图;(3)在因果图上用

25、一些记号表明约束或限制条件;(4)把因果图转换为判定表;(5)把判定表的每一列作为依据,设计测试用例。13正交实验设计方法:从大量的数据中挑选适量的、有代表性的点,从而合理安排测试的一种科学实验设计方法。正交实验设计测试用例步骤:(1)提取功能说明,构造因子状态表;(2)加权筛选,生成因素分析表;(3)利用正交表构造测试数据集。14功能图分析法:用功能图形式化地表示程序的功能说明,由状态迁移图和布尔函数组成。15场景法的设计步骤:(1)根据说明描述出程序的基本流及各项备选流(2)根据基本流和各项备选流生成不同的场景(3)对每一个场景生成相应的测试用例(4)对生成的所有测试用例重新复审,去掉多的

26、测试用例,再对留下的测试用例确定值。16.黑盒测试的工具:QACerter、WinRunner17.QACenter主要包括模块:功能测试模块(QARUN)、性能测试模块(QALOAD)、可用性模块(ECOTOOLS)、性能优化模块(ECOSCOPE)、测试数据自动生成模块(TESTBYTES)。18.WinRunner包括的步骤:识别应用程序的GUI、建立测试脚本、对测试脚本除错、在新版本应用程序中执行测试脚本、分析测试结果、回报缺陷。19黑盒测试的步骤:(1)测试计划(2)测试设计(3)测试(4)测试评估。20典型的边界值分析包括;IF语句中的判定值、定义域、值域边界、空或畸形输入。21.

27、错误推测方法常用“0”作为测试数据。22.因果图最终生成的是判定表,适合于检查程序输入条件的各种组合情况。23.判定表是分析和表达多逻辑条件下执行不同操作情况下的操作。第五章 软件测试模型和测试工作指南1.软件测试阶段:需求分析、设计、单元测试、集成测试、功能验证、系统测试、验收测试、维护。2.软件测试模型:V模型、W模型、H模型、X模型。V模型在快应用开发模型基础上演变而来,整个开发过程构造成一个V字形得名,左边是设计和分析,右边是对左边的测试。它强调软件开发的协作和速度,主要反映测试活动与分析设计关系,将软件实现和验证有效地结合起来,在保证较高的软件质量情况下缩短开发周期。局限性是它把测试

28、作为编码后的一个阶段,是针对程序进行的寻找错误的活动,而忽视了测试活动对需求分析、系统设计等活动的验证和确认的功能。W模型由两个V模型组成,分别代表测试与开发过程,它把开发活动看成是从需求到编码结束的一个串行过程,只有完成上一阶段活动后,才能进行下一阶段的活动,不支持迭代、自发性的变更调整。优点:有利于及时了解项目难度和测试风险,及早制定应对措施,从而减少总体测试时间、加快项目进度。缺点:需求分析、设计、编码等被视为串行,测试和开发活动保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一阶段的工作。H模型软件测试的过程活动完全独立,形成了一个完全独立的流程,贯穿于整个产品的周期,与其他

29、流程并发进行,某个测试点准备就绪后就可以从测试准备阶段进行到测试执行阶段。X模型提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接、集成、综合成为可执行的程序。3软件测试工作指南用于说明测试工作的目标,以及如何实施测试的方法和技术。第六章 单元测试技术1.单元测试又称模块测试,以程序设计说明书为指导,测试模块范围内的重要控制路径,以揭露错误。测试的最小单位模块。2. 单元测试目的在于发现各模块内部可能存在的各种差错。3测试工作由程序员进行。4测试人员、QA人员对单元测试工作的要求:对所有局部和全局的数据结构、外部接口、程序代码的关键部分进行桌前检查和严格的代码审查。5.单元测试

30、的内容(6个方面):接口模块测试、局部数据结构测试、路径测试、边界条件测试、错误处理测试、代码书写规范测试。6.单元测试是对每个程序的单体调试,主要步骤:程序语法检查、程序逻辑检查。7.程序测试说明书的主要内容有:1)说明程序测试数据制作的方法、2)测试方法3)测试过程中所产生的问题第八章 网络测试和软件安装测试技术1.网络测试两方面:网络产品测试和网络本身测试。2.软件安装测试两方面:共享软件安装测试和用户应用系统软件安装测试。3.网络测试包括在整个网络内不同区域间的性能、网络所实现的功能、各区域所采用的安全策略设置等进行测试。测试内容:ISDN用户-网络接口的测试、用户线的测试、网上ISD

31、N设备的测试、ISDN网络的性能测试。4.网络产品测试包括防火墙产品测试、入侵检测产品测试、入侵防护测试、漏洞扫描测试、防病毒测试、交换机测试 、服务器测试。5.防病毒测试需要注意的内容:功能测试、查毒测试。6.功能测试包括安全性,信息反馈,增强功能、系统升级、监控定制、查杀定制、性能等。7.服务器测试注意内容:服务器的稳定性;服务器的压力测试;服务器的可靠性测试;服务器的可管理性测试;服务器的可用性测试;服务器的易用性测试;服务器的可扩展性测试;服务器的安全性测试。8测试方法从宏观角度分三类:一致性测试、性能测试和功能测试。9一致性测试:检验协议的实现与其协议标准是否一致而进行的测试。10一

32、致性测试方法:本地测试法、分散测试法、协调测试法、远程测试法。11ISDN的网络测试包括:单局测试、局间测试 和互通测试。12网络测试的方式:协议监视;协议的模拟和仿真13协议测试分:仿真和模拟14协议的仿真:仿真测试是将协议分析作为ISDN交换机或ISDN终端与被测实体相接,这样被测实体可以与协议分析仪直接进行信息交换。仿真的优点是被测实体无需接入实际的网络,就可以检验其运行的正确性,因此,协议仿真在开发和安装过程中起着重要的作用。15.协议的模拟:协议的模拟与仿真测试的区别在于模拟没有呼叫建立、保持及拆线的完整的状态转移机制。模拟测试的优点是可以检测被测实体对异常情况及差错状态的处理能力,

33、与仿真测试相比,模拟具有较强的可操作性和灵活性。16.网络应用系统的测试注意内容:整网性能;流媒体性能;网管系统;网络性能管理;视频及编码格式;图像质量;核心平台系统管理功能;中心平台。17性能测试指标的重点注意事项是吞吐量、延迟、延迟抖动、每秒新建连接数、Http相应时间。18网络性能测试分类:网络层性能和应用层性能。19网络应用系统的测试总体划分为4个阶段:测试方案制定阶段、测试工具部署和准备阶段、测试实施阶段、报告分析阶段。第九章 性能测试技术1.性能测试检验软件是否达到需求规格说明中规定的各类性能指标,并满足一些与性能相关的约束和限制条件。2性能测试的重点:测试环境的建立、前期数据的设

34、计与后期数据的分析。3.性能测试两分类:基本性能和高级性能测试。4.基本性能测试内容:安全可靠性测试、资源占用率测试、兼容性测试、易用性测试、用户文档测试、效率测试、可扩充性测试。5.高级性能测试内容:并发性能测试、系统资源监控测试、大数据量测试、速度测试、疲劳测试等内容,其中,并发性能测试是重点。6.性能测试的目的:1)系统是否满足预期的性能要求;2)作为对系统进行调试的参考;3)系统的可扩展性;4)利用性能测试手段发现系统存在的问题;5)提供部署方案的参考。7.性能测试的指标描述方式:产品需求指标和系统性能指标。8系统性能指标:CPU利用率;内存占用率;磁盘I/O;响应时间9.性能测试方法

35、:能力验证、规划性能、性能调优、压力加载、性能下降曲线分析。10决定性能测试的策略主要因素:指标性能、独立业务性能测试、业务性能组合测试、疲劳强度性能测试、大数据量性能测试、网络性能测试。11性能测试策略从需求设计阶段开始制定,策略的内容决定着性能测试工作投入多少资源、什么时间开始实施等后继工作如何安排。12并发性能测试的目的:评价系统当前性能;预测系统未来性能;通过重复测试寻找瓶颈问题。第10章 集成测试技术1.集成测试主要由:系统设计人员、软件评测人员、开发人员共同完成的。2.集成测试的检测重点包括:子系统功能的关联性测试、链接完整性测试、数据和数据库完整性测试、功能测试、页面完整性测试。

36、3集成后可能出现的问题:子系统接口的数据丢失;单个模块的误差可以接受,但集成后出现累积,影响其它功能;一个子系统对其它子系统造成有害的影响;各个子系统集成起来没有达到预期的功能。4.集成测试一般采用的方法是:数据驱动或者桩驱动。5数据驱动法分:自底向上集成测试、自顶向下集成测试、核心系统先行集成测试、高频集成测试。6.集成测试划分的阶段(根据IEEE标准):计划阶段、设计阶段、实现阶段、执行阶段(实施阶段)。7集成测试的两重含义:检验和集成(组装)第11章 系统测试技术1 系统测试内容:应用的反应时间;客户端、服务器的CPU、Memory使用情况;服务器的响应速度;系统支持的最优负载数量;网络

37、指标;系统可靠性测试。2 可靠性测试用MTBF和MTTR指标衡量。第12章 验收测试技术1验收测试的先决条件:已通过测试评审;已通过试运行工作;合同附件规定的各类文档齐全;被测试系统稳定;验收测试的时间是在系统被封版后进行。2验收测试内容:对功能测试等的测试用例进行回归测试;验收测试依据设计说明书、维护手册等在新系统中演示,查找不足之处;测试文档验收;测试评估;测试建议;文档测试。第13章 WEB测试技术1.WEB功能测试的内容:连接测试、表单测试、数据校验测试、COOKIES测试、数据库测试、应用程序特定的功能需求测试、权限测试。2连接测试在集成测试阶段完成。3权限测试分功能权限、数据权限、

38、操作权限、权限变化。4WEB性能测试主要是:基准性能测试、负载测试、稳定性测试、压力测试。5WEB的用户界面测试:页面、页面元素、容错性。6WEB的用户界面测试内容:导航测试、图形测试、内容测试、表格测试、整体界面测试。7WEB兼容性包括操作系统兼容和应用软件兼容、硬件兼容。8WEB兼容性测试:系统平台测试、浏览器测试、分辨率测试。9WEB的安全性测试:目录设置、SSL、登录、日志文件。10WEB的接口测试:服务器接口、外部接口。第14章 自动化测试技术1.自动化成本包括:自动测试开发成本、自动测试运行成本、自动测试维护成本和其他相关任务带来的成本、软件修改带来测试脚本部分或全部修改,就会增加

39、测试维护的开销。实现成本、人力成本、新技术风险、大量手工劳动。2自动化测试前提:(1)进行自动化测试之前需要对软件开发过程进行分析,以观察是否适合使用自动化测试(2)产品本身特征具有长期可维护性(3)软件需求变动不频繁(4)项目周期足够长(5)产品本身非紧迫的大项目(6)产品结构相对复杂(7)资源投入相对充裕(8)在手工测试无法完成、需要投入大量时间与人力时,也需求考虑引入自动化测试。3自动化测试的过程:(1)需求分析(2)制定测试计划(3)设计测试用例(4)执行测试(5)撰写测试报告(6)消除软件缺陷(7)评估测试结果4自动化测试优点:(1)能执行更多、更繁杂的测试,使某些测试任务的执行比手

40、动方式更高效,可以更快地将软件推向市场(2)能执行一些手动测试困难或不可能做的测试(3)更好地利用资源,利用整夜或周末空闲的设备执行自动化测试(4)将任务自动化,让测试人员投入更多的精力设计出更多、更好地测试用例,提高测试的准确性和测试人员的积极性。(5)具有一致性和可重复性的特点,而且测试更客观,提高了软件的信任度。5.自动化测试缺点:(1)不能取代人工测试,不可能自动化所有的测试(2)自动化测试工具本身不具有想象力,只是按命令执行(3)自动化测试对测试质量的依赖性较大,在确保测试质量的前提下,实现自动化测试才有意义(4)自动测试在刚开始执行时,工作效率不一定高于手动测试。6.自动化测试技术

41、主要有:录制/回放、脚本技术、数据驱动、关键字驱动、业务驱动等。7.自动化测试的工具主要有:负载压力测试(Loadrunner、QACenter、ACT、WAS)、功能测试(Winrunner、rational robot、functiona tester)、白盒/黑盒测试(Logiscope、PRQA、QACenter)、测试管理(TestManager)、测试辅助(SmartDraw)、GUI接口自动化测试工具。8自动化测试的级别:(1)级别一:捕获和回放(2)级别二:捕获、编辑和回放(3)级别三:编程和回放(3)级别四:数据驱动的测试(4)级别五:使用动作词的测试自动化。9.自动化测试框

42、架:(1)测试表(2)核心数据驱动引擎(3)成员函数库(4)支持库(5)应用映射表第15章 面向对象的测试技术1.面向对象的基本思想:是使用对象、类、继承、封装、消息、抽象等基本概念来进行程序设计。2.类具有的特性:惟一性、分层性、继承性、封装性、多态性、重载性、共享性。3.类分三个层:概念层、规格层、实现层4.子类只继承父类的数据结构和方法,称为单重继承。子类继承了多个父类的数据结构和方法,称为多重继承。5.面向对象技术的开发方法:Booch、Coad、OMT、Jackson、UML(这个有空填,没填就写前面四种)6. Booch方法的符号体系:(1)类图(类结构静态视图)(2)对象图(对象

43、结构静态视图)(3)状态转移图(类结构动态视图)(4)时态图(对象结构动态视图)(5)模块图(模块体系结构)(6)进程图(进程体系结构)7Booch方法的过程步骤:(1)在给定的抽象层次上识别类和对象(2)识别这些对象和类的语义(3)识别这些类和对象之间的关系(4)实现类和对象8OMT三种模型:对象模型、动态模型、功能模型。9UML结合BOOCH方法、OMT方法、JACOBSON方法而形成。10Coad方法的主要优点是通过大系统开发的经验与面向对象概念的有机结合,在对象、结构、属性和操作的认定方面,提出了一套系统的原则。11Coad方法将开发分为面向对象分析(OOA)、面向对象设计(OOD)、

44、面向对象编程(OOP)三个阶段。12.OTM方法将开发过程分为4个阶段:分析阶段、系统设计阶段、对象设计阶段、实现阶段。13.面向对象的模型主要分为:对象模型(四类图表示)、动态模型(由状态图表示)、功能模型(由DFD表示)。14. 面向对象设计的准则:(1)模块化(2)抽象(3)信息隐藏(4)低耦合(5)高内聚15.面向对象设计的规则:(1)设计结果清晰(2)设计简单类(3)使用简单的协议(4)使用简单的操作(5)把设计变动减至最小16面向对象设计规则中设计结果清晰应注意的:用词一致、使用已有的协议、减少消息模式的数量、避免模糊的定义。17面向对象设计规则中设计简单类是应注意:避免包含过多的

45、属性、有明确的定义、尽量简化对象之间的合作关系、不要提供太多的操作。18.面向对象测试的主要内容:面向对象分析的测试、面向对象设计的测试、面向对象编程的测试、面向对象单元的测试、面向对象集成的测试、面向对象系统的测试。19.面向对象的测试优点:(1)更早地定义出测试用例(2)早期介入可以降低成本(3)尽早的编写系统测试用例,以便于开发人员与测试人员对系统需求的理解保持一致(4)面向对象的测试模式更注意于软件的实质。20.面向对象的测试方法:基于故障的测试、基于场景的测试、OO类的随机测试、类层次的分割测试、由行为模型(状态、活动、顺序)导出的测试。21传统测试模式与面向对象测试模式的主要区别:

46、面向对象的测试更关注对象,而不是完成输入/输出的单一功能,这样可以在分析与设计阶段先行介入,使得测试更好地配合软件生产过程并为之服务。22面向对象测试整体流程:单元测试(编码人员完成)集成测试(设计人员验证单元测试)系统测试(需求人员验证组合测试)测试(测试部完成)测试(市场中心组织用户完成)递交产品管理部/用户。23面对象分析测试的5个方面:(1)对认定的对象的测试(2)对认定的结构的测试(3)对认定的主题层的测试(4)对定义的属性和实例关联的测试(5)对定义的服务和消息关联的测试。24面向对象设计测试的三个方面:对认定类的测试;对构造的类层次结构的测试;对类库的支持的测试。25. 面对象编

47、程是把功能的实现分布在类中,主要体现在:数据成员是否满足数据封装的要求、类是否实现了要求的功能。26面向对象编程测试主要针对编程风格和程序代码的实现进行测试,其主要的测试内容是在面向对象单元测试和面向对象集成测试中体现。27面向对象单元测试是对OO软件的类测试,它关注模块的算法细节和模块接口间流动的数据,它是由封装在类中的操作和类的状态行为驱动的。28类的测试要求:若类的测试不足、则很多错误不能被查出;通过客户类去测试服务类是很困难的、错误发现越晚,纠正的代价越大。29类测试设计方法分为:方法范围的测试设计、类范围的测试设计、继承的测试设计。30方法范围的测试设计的样式分:范畴划分、组合功能测

48、试、递归功能测试、多态消息测试。31类范围的测试设计可分为:不变量边界、非模态类测试、准模态类测试、模态类测试。32. 单元测试使用的方法分为:故障测试、随机测试、划分测试。33. 面向对象集成测试的目的是:检测出相对独立的、单元测试无法检测出的、类相互作用时才会产生的错误,指关注系统的结构和内部的相互作用。34. 面向对象的集成测试的策略:基于线程的测试策略、基于使用的测试策略。35. 面向对象的集成测试分为两步进行:先进行静态测试,即针对程序的结构进行,检测程序结构是否符合设计要求,再进行动态测试即根据静态测试得出的函数功能调用关系或类关系图作为参考,设计测试用例进行测试。36.面向对象集

49、成测试的步骤:先选定检测的类;确定覆盖标准;利用结构关系图确定待测试类的所有关联;根据程序中类的对象构造测试用例,确认使用什么输入激发类的状态、使用类的服务和期望产生什么行为等。37集成测试设计用例的方法:大爆炸集成、自底向上集成、自顶向下集成、协作集成、基干集成、层次集成、客户/服务器集成、分布服务集成。38面向对象系统测试的具体内容:功能测试、强度测试、性能测试、安全性测试、恢复测试、可用性测试。39面向对象软件测试用例设计方法:基于故障的测试、基于场景的测试、面向对象类的随机测试、类层次的分割测试、状态机模型导出的测试、面向UML测试。面向对象软件测试用例设计要求:每个测试用例唯一标识,

50、并显式地和将被测试的类相关联,测试目的被陈述,对每个测试开发一组测试步骤。40.面向对象单元测试是对程序内部单一模块的测试,主要就是对类成员函数的测试。面向对象单元测试是进行面向对象集成测试的基础。41面向对象集成测试主要对系统内部的相互服务进行测试。42.面向对象系统测试时基于面向对象集成测试的最后阶段的测试。43.面向对象测试重点:测试工作的工期、人员安排、设备和测试环境的建立、测试记录统计、问题反馈、纠错处理、接口状态描述、测试用例及其数据描述、测试设计、需求说明书、OOA文档、测试记录、用户反馈意见记录。44.面向对象测试测试记录要求:问题描述正确、错误过程记录完整、界面提示记录完整易

51、懂、错误出现操作步骤详细。45.面向对象分析测试的重点:完整性和冗余性。1.对象:是人们要进行研究的任何事物,是指现实世界中各种各样的实体。2.类:是具有相似内部状态和运动规律的实体的集合。3.消息:是指对象之间进行通信的结构。4.惟一性:每个对象都有自身惟一的标识,通过这种标识,可找到相应的对象。5.继承性:是一个类可以获得另一个类的特性机制。6.多态性:是指同名的方法可在不同的类中具有不同的运动规律(是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果)。7.重载性:是指类的同名方法在传递不同参数是可以有不同的规律。8.软件各公用问题测试的要求主要包括:(1)检查代码与设计对

52、照表(2)检查数据库(3)检查程序参数返回值(4)检查调用程序公用接口(5)检车子系统的设计(6)检车数据库设计(7)检查系统日志(8)检查数据元素的结构(9)检查用户访问(10)检查结构上的分析(11)检查程序是否冗余(12)检查代码整体规范9.SQL语句测试的要求:检查数据库文件集、检查SQL数据库对象、检查SQL语句的书写规范、检查SQL语句的类型转换、检查容量规划、检查变量定义、检查IF语句的定义、检查数据类型、检查数据完整性、检查临时表、检查集合的合并、检查隔离等级、检查安全性管理、检查调度作业、检查指定作业响应、检查报警管理、检查备份、检查数据库还原、检查数据传输、检查分布式数据、

53、检查函数10.界面测试的要求:检查继承类、检查按钮、检查界面是否规范、检查界面的初始化状态、检查编辑控件、检查通用对话框、检查状态栏、检查业务功能、检查界面校验、11.黑盒测试与白盒测试的区别(P96):(1)测试的特点:前者是测试功能,后者是测试程序接口与结构。(2)测试依据:前者是需求规格说明书,后者是软件程序。(3)优点:前者能站在用户的立场上进行测试,后者能对程序内部特定部位进行覆盖测试。(4)缺点:前者不能测试程序内部特定部位,如果程序有误,则无法发现,后者无法检验程序的外部特性。(5)黑盒测试把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,针对软件测试界

54、面和软件功能进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用。 白盒测试了解产品内部工作过程,从检查程序的逻辑着手,检验程序的每条通路是否都有能按预定要求正确工作,通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。第16章 软件缺陷测试和测试评估1缺陷定义:软件没有达到产品说明书表明的功能;程序中存在语法错误、拼写错误、不正确的程序语句;软件出现了产品说明书中不一致的表现;软件功能超出产品说明书的范围;软件没有达到用户期望的目标;测试员或用户认为软件的易用性差。2按照定义将缺陷分为:文档缺陷、代码缺陷、测试缺陷、过程缺陷。3软件缺陷的特征:单一准确、可以重现、完整统一、短

55、小简练、特定条件、补充完整、不做评价。4BUG(缺陷)状态:激活或打开、已提交、已修改、不修改(保留)、延迟、待讨论、已验证、关闭、重新打开。5BUG(缺陷)等级(4级):严重、较高、一般、轻微。6严重需立即修改、较高需尽快修改、一般需排队修改、轻微修改或不修改。7BUG(缺陷)优先级:1级(严重)、2级(较高)、3级(一般)、4级(轻微)。8缺陷标识是指某个缺陷的唯一表示,可用数据序号表示。类型10-40是比较简单的编码缺陷,类型50-100是较复杂的设计缺陷。9缺陷的起源:缺陷引起的故障或事件第一次被检测到的阶段。10缺陷的来源:指缺陷所在的地方。11缺陷的根源:造成软件错误的根本因素。1

56、2软件缺陷的生命周期:指一个软件缺陷被发现、报告到这个缺陷被修改、验证直至最后关闭的完整过程。13简单的软件缺陷生命周期的过程:发现-打开-修复-关闭。14缺陷的6个生命状态:打开、缺陷修改、缺陷验证、缺陷删除、缺陷关闭、缺陷延期。15报告软件缺陷的原则:尽快报告软件缺陷,并有效地描述软件缺陷,报告缺陷时不做任何评价。16软件缺陷描述要求:简单与短小、明确指明错误类型、单一、使用专业术语和表达方式。17IEEE软件缺陷报告模板:1 软件缺陷报告标识符 2 软件缺陷总结 3 软件缺陷描述 3.1输入 3.2期望结果 3.3实际结果 3.4异常情况 3.5日期和时间 3.6软件缺陷发生步骤 3.7

57、测试环境 3.8再现测试 3.9测试人员 3.10见证人 4 影响18.软件缺陷跟踪系统:用于记录、跟踪、归并类处理软件开发过程出现的BUG和硬件系统中存的缺陷。目的:保持进度、保证质量、提高整个机构的生产效率。19软件缺陷跟踪系统的优点:保持高效率的测试过程;提高软件缺陷报告的质量;实施实时管理、安全控制;利于项目组成员间协同工作。20软件测试的评测方法:测试覆盖评估、质量评估、缺陷评估、性能评估。21测试覆盖评估分为:基于需求测试覆盖评估、基于代码测试覆盖评估。22软件测试质量评估的过程:测量、评级、评估。23缺陷评估是对测试过程中缺陷达到的比率或发现的比率提供一个软件可靠性指标。缺陷评估

58、时常用参数:状态、优先级、严重性、起源。24软件测试缺陷评估的度量形式:缺陷发现率、缺陷潜伏期、缺陷分布、整体软件缺陷的清除率。24软件测试的性能评估包括:动态监测、响应时间和吞吐量、百分比报告、比较报告、追踪和配置文件报告。第17章 测试用例设计和电子政务应用平台测试用例设计实例1测试用例:对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略;内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。目的:确定应用程序的某个特性是否正常的工作,并且达到程序所设计的结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例是软件测试的核心,不同类别

59、的软件测试的用例是不同的.2测试用例的四性:代表性、针对性、可判断性、可重现性。3测试用例在软件测试中的作用:指导测试的实施;根据测试的要求设计测试用例;提供评估测试结果的度量基准。4设计测试用例依据的文档资料:需求说明及相关文档;设计说明书;与开发组交流对需求理解的记录;已经基本成熟的测试用例。第18章 测试文档的写作1测试文档:对要执行的软件测试及测试的结果进行描述、定义、规定和报告的任何书面或图示信息。2测试文档的写作目的:提高测试工作的整体水平,对软件产品测试过程中发现的问题进行分析,为开发人员以后的修改,升级提供一个预防问题的依据,通过测试文档总结测试阶段的工作,并积累测试经验。测试

60、文档的写作要求:针对性、正确性、准确性、完整性、简洁性、统一性、易读性。测试需求说明书写作三种:(1)利用结构化和自然语言编写文本型文档(2)建立图形化模型(3)编写形式化规格说明,参照开发文档模板编写测试需求说明书。4性能需求测试要求:包括测试精度、时间特性、适应性。5测试任务说明书是经理或开发项目的负责人编写的,传递给软件测试人员、软件开发人员、软件管理人员。6测试质量包括产品的测试质量和测试小组的测试质量。7测试计划说明书:经理或开发项目的负责人编写的,传递给用户、系统集成人员、软件测试人员、软件开发人员、软件管理人员8测试计划定义为:一个叙术了预定的测试活动的范围、途径、资源及进度安排

61、的文档。9测试计划的目的:粗略地估计测试大致需要的周期和最终测试报告递交的时间。10测试大纲写作的内容由熟悉的设计人员编写的。测试大纲的作用为测试单位的经营目标服务的,起着承接测试任务的作用。11测试用例的编写和设计方法:一般测试用例编写方法、需求测试用例编写方法、接口测试用例编写方法、路径测试的检查用例编写方法、功能测试用例编写方法、健壮性测试-容错能力/恢复能力测试用例编写方法、性能测试用例编写方法、界面测试用例编写方法、信息安全测试用例编写方法、压力测试用例编写方法、可靠性测试用例编写方法、安装/反安装测试用例编写方法。12集成测试报告由测试小组写的内容。集成测试报告写作模板(详见P32

62、7)13单元测试报告的写作目的:对单元测试结果进行整理和汇总,形成正式的测试文档;为软件单元的评审验收提供依据;纳入软件产品配置管理库。14单元测试报告写作内容包括那几个方面:1.软件单元描述2.单元结构3.单元控制/时序流图4.测试过程5.测试15系统测试总结报是测试阶段的最后文档。测试总结报告的目的是总结测试活动的结果,并根据这些结果对测试进行评价,由测试人员进行总结。第19章 软件的其他测试技术1可用性的概念:是最终用户使用产品的可用程度。可用性的基本评价标准:效率、满意和安全。2安全性测试的概念:安全性是软件程序在其设计、运行环境中,不会引起诱发对人员或设备的危害。软件的安全性包括那两

63、个方面:1.应用程序级别的安全性2.系统级别的安全性3强度或压力测试是在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量。以确定系统所能承受的最大负载压力,以检查程序对异常情况的抵抗能力,找出性能瓶颈。4容错测试是一种对抗性的测试过程。5安全性结果分析:分析所有测试用例是否通过;测试代码是否按照要求分析,并达到相应的测试覆盖率;对测试结果进行分析以验证所有安全性需求是否得到了满足。6压力测试分:稳定性测试、破坏性测试。7确认测试主要包括功能和性能两部分。8容错性测试包括两个方面:1.输入异常数据或进行异常操作,以检验系统的保证性2.灾难恢复性测试。9回归测试集包括三种类测试用例:能够测试软件的所有功能的代表性测试用例;专门针对可能会被修改影响的软件功能的附加测试;针对修改过的软件成分

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!