软体产品测试

软体产品测试【软体产品测试】软体工程:採用工程的概念、原理、技术和方法来开发与维护软体,把经过时间考验而证明正确的管理技术和当前能得到的最后的技术方法结合起来 。,2、基準配置又称为基线配置,是经过阶段评审后的软体配置成分,3、软体工程强调生命周期方法学和各种结构分析及结构设计技术
基本介绍中文名:软体工程
外文名:Software Engineering
简称:SE
类别:学科
相关专业:通信工程、计算机科学与技术
複习资料1、 软体工程:採用工程的概念、原理、技术和方法来开发与维护软体,把经过时间考验而证明正确的管理技术和当前能得到的最后的技术方法结合起来 。2、基準配置又称为基线配置,是经过阶段评审后的软体配置成分3、软体工程强调生命周期方法学和各种结构分析及结构设计技术4、软体工程的七条基本原理(1983年,由B.W.BOEHM提出):(1)用分阶段的生命周期计画严格管理 。(2).坚持阶段评审 。(3).实行严格的产品控制 。(4).採用现代程式设计技术 。(5).结果应能清楚的审查 。(6).开发小组人员应少而精 。(7).承认不断改进软体工程实践的必要性 。5生命周期应该知道严格的六类计画:(1).项目概要计画 。(2).里程碑计画 。(3).项目控制计画 。(4).产品控制计画 。(5).验证计画 。(6).运行维护计画 。6、软体生命周期由软体定义(细分三个阶段问题定义、可行性研究、需求分析)、软体开发(细分总体设计、详细设计、编码、单元测试、综合测试)和软体维护三个时期组成 。7、软体维护通常有四类维护活动:a.改正性维护 。b.适应性维护 。c.完善性维护 。d.预防性维护 。8、软体设计文档包含:构架、数据流示意图、状态变化示意图、流程图、注释代码 。9、软体测试文档:测试计画、测试用例、软体缺陷报告、归纳、统计和总结 。10、开发进度表:Gantt图表11、软体产品组成:帮助档案、用户手册、样本和示例、标籤、产品支持信息、图示和标誌、错误信息、广告和宣传材料、软体的安装说明、软体说明档案、测试错误提示信息 。12、软体是计算机系统中硬体相互依存的另一部分,它包括程式、相关数据及其说明文档 。13、测试人员在软体开发过程中的任务:寻找BUG;避免软体开发过程中的缺陷;衡量软体的品质;关注用户的需求 。14软体测试的目的:第一是确认软体的质量,第二提供信息,第三软体测试包括软体产品的测试还有软体开发过程 。15、软体与工业产品相比具有的特性:软体是一种逻辑实体,具有抽象性;软体没有明显的製作过程;软体在实用过程中没有磨损,老化的问题;软体对硬体和环境有着不同程度的依赖性;软体的开发至今尚未完全摆脱手工式的开发方式生产效率低;软体是複杂的,以后会更加複杂;软体的成本相当贵软体工作的牵涉到很多社会因素16、软体危机是计算机软体在它的开发和维护过程中所遇到的一系列严重问题,概括地说,主要包含主要包含两个方面:如何开发软体,怎幺满足日益发展的需求;如何维护数量不断膨胀的已有软体 。17、软体危机的主要表现:对软体开发成本和进度的估计常常不準确;用户对已完成的软体系统不满意的现象经常发生;软体产品的质量靠不住;软体常常是不能维护;软体通常没有适当的文档资料;软体成本在计算机系统总成本中所占比例在上升;软体开发生产率提高的速度跟不上计算机套用迅速普及深入的趋势 。18、软体危机的内在原因:软体生产本身存在着複杂性;软体开发使用的方法和技术19、符合下面任一个就是软体错误:软体未达到产品说明书中已经标明的功能;软体出现了产品说明书中指明不会出现的错误;软体功能超出了产品说明书指明的範围;软体未达到产品说明书虽未指出但应达到的目标;软体测试员认为软体难以理解不易使用或者用户认为软体使用效果不好20、软体测试使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求,或弄清预期结果与实际结果之间的差别 。21、软体质量的衡量:在正确的时间用正确的方式把一个工作做正确 ;符合一些套用标準的要求;质量本身是软体达到最开始所设定的要求;质量代表它符合客户的需要 。22、软体测试的总目标是确保软体的质量23、TMM测试成成熟度的5个级别:Phase 0:.测试和调试没有区别Phase 1:测试的目的是为了表明软体能工作Phase2:测试的目的是为了表明软体不能正常工作Phase3:测试的目的不是为了证明什幺,而是为了把软体不能正常工作的预知风险减低到能够接受的程度Phase4:测试不是行为,而是一种自觉的约束 不用太多的测试投入到产生风险的软体上23、测试工程师服务对象有四类人:软体用户、项目经理、程式设计师、技术文档工程师市场开发人员和技术支持工程师24、软体测试能做好的三件事:(1)证明获取系统在可接受风险範围内可用的信心尝试在非正常情况和条件下的功能和特性保证产品的完整性(2) 检测发现错误和系统不足定义系统的能力和局限性提供组件、工作产品和系统的质量信息( 3 )预防澄清系统的规格和性能儘可能减少错误的信息在过程中儘早坚持错误确认问题和风险,并提前发现解决问题25、软体测试的原则:从用户角度是希望通过软体测试能充分暴露软体中存在的问题和缺陷,从而考虑是否可以接受该产品 。从开发者的角度是希望测试能表明软体产品不存在错误,已经正确地实现了用户的需求,确立人们对软体的信心 。26、达到原则需注意的地方:(1)应当把“儘早和不断地测试”作为开发者的座右铭(2)程式设计师应该避免检测自己的程式,测试工作应该由独立的专业的软体测试机构来完成 。(3)设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况要製造极端状态和意外状态 。(4)一定要注意测试中的错误集中发生现象,这和程式设计师的编程水平和习惯有很大关係 。(5)对测试错误结果一定要有一个确认的过程,一般由A测试出来的错误,一定要由一个B来确认,严重的错误可以召开评审会进行讨论和分析 。(6)制定严格的测试计画,并把测试时间安排得儘量宽鬆,不要希望在极短的时间内完成一个高水平的测试 。(7)回归测试的关係性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见 。(8)妥善保存一切测试过程文档,27、软体测试的对象:需求分析、概要设计、详细设计以及程式编码等各段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程式 。所以软体测试贯穿整个软体定义与开发期间 。28、软体测试过程模型(1)V模型,单元和集成测试应检测程式的执行是否满足软体设计者的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软体的实现是否满足用户的要求 。局限:他仅仅把测试作为爱编码之后的一个阶段,是针对程式进行的寻找错误的活动,而忽略了测试活动对需求分析、系统设计等活动的验证和确认的功能 。(2)W模型,测试伴随着整个软体开发周期,而且测试的对象不仅仅是程式,需求、设计等同样要测试,也就是说,测试与开发是同步进行的 。有利于今早的、全面的发现问题 。局限:无法支持叠代的开发模型 。对与当前软体开发複杂多变的情况,W模型并不能解决管理面临的困惑 。(3)H模型,软体测试是一个独立的流程,贯穿产品的整个周期,与其他流程并发的进行 。29、黑盒测试的定义:黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试,是一种从用户观点出发的测试,把测试对象看做一个黑盒子在不考虑程式内部结构和内部特性,测试者只知道该程式输入和输出之间的关係或程式功能的情况下,依靠能够反映这一关係和程式功能需求规格的说明书,来确定测试用例和推断测试结果的正确性 。30、白盒测试定义:白盒测试又称结构测试、逻辑驱动测试或基于程式的测试 。它依赖于程式细节的严密检验,针对特定条件和循环设计测试用例,对软体的逻辑路径进行测试 。在程式的不同点检验程式的状态,来判定其实际情况是否与预期的状态相一致 。31、最常见的程式覆盖有:(1)语句覆盖 。它要求被测试程式的每一条可执行语句在测试中至少执行一次,这是最弱的逻辑覆盖準则 。(2)分支覆盖或判定覆盖 。要求程式中所有判断的分支至少执行一次 。(3)条件覆盖 。当判断式中含有多个条件时,要求每个条件的取值至少一次为真 。一次为假(4)判定/条件覆盖 。设计足够的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次 。(5)路径覆盖 。设计测试用例,覆盖程式中所有可能的路径 (6)条件组合 。设计测试用例,使得每个判定条件结果的所有可能组合至少出现一次 。32、黑盒测试主要发现的错误:是否有不正确或遗漏的功能、在接口上输入是否能正确地接受能否输出正确的结果、是否有数据结构错误或外部信息访问错误、性能上是否能够满足要求、是否有初始化或终止性错误 。33、白盒测试主要检查的地方:对程式模组的所有独立的执行路径至少测试一遍、对所有的逻辑判定真假取值各至少测一遍、在循环的边界和运行的界限内执行循环体、测试内部数据结构的有效性 。34、两都比较比较内容黑盒测试白盒测试规划方面针对功能的测试针对结构的测试优势方面能确保从用户的角度出发进行测试能够对程式内部的特定部位进行覆盖测试欠缺方面无法测试程式内部特定部位如果规划说明有误,则无法发现问题无法检验程式的外部特性,无法对未来实现规格说明的程式内部欠缺部分进行测试套用举例边界值分析、等价值划分、错误推断法、因果图法语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、路经覆盖35、 静态分析技术:是一种不通过执行程式而进行测试的技术 。功能是检查软体的表示和描述是否一致,没有冲突或者没有歧义 。工具有:语法分析器、符号执行器 软体检视36、 动态分析技术:动态分析技术的主要特徵是计算机必须真正运行被测试的程式,通过输入测试用例对其运行情况进行分析 。在动态分析技术中,最重要的是路径和分支测试 。路径测试度量程式的最主要的质量特性是複杂度 。分支测试需要程式中的每个分支至少被经过一次37、软体测试的过程:单元(模组)测试、集成(组装或联调)测试、确认(合格性)测试、系统测试和验收测试 。38、软体质量是与软体产品满足明确或隐含需求的能力有关的特徵和特性的总和 。软体质量可用六个特性来评价:功能性、可靠性、易用性、效率、可维护性和可一致性39、全面质量管理含义:是一个组织以质量为中心,以全员参与为基础,目的在于通过顾客满意和本组织所有成员及社会受益而达到长期成功的管理途径 。40、全面质量管理特点:全员参加;全过程;全面运用一切有效方法;全面控制质量因素 。(三全:全员、全过程、全方位)41、全面质量管理活的科学程式——PDCA(plan计画,do实施,check检查,action处理)42、单元测试是软体开发过程中要进行的最低级的测试活动,在单元测试活动中,软体的独立单元将在与程式的其他部分像个的情况下进行测试 。在结构化语言编程中,要测试的单元是函式或子过程 。面向对像语言中要测试的基本单元是类 。第四代语言中测试的基本单元它被典型划分一个选单或显示界面 。43.静态分析:是对软体的原始码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行 。44、动态分析:是通过观察软体运行时的动作,来提供执行跟蹤、时间分析以及测试覆盖度方面的信息 。45.对单元测试认识的误区1).它浪费了太多的时间 。2).它仅仅证明了这些代码做了什幺 。3).一个很优秀的程式设计师是不是可以不进行单元测试 。4).不管怎幺样,集成测试将会被抓住对方的Bug 。5).它的成本效率不高 。46、单元测试的目的1).保证局部代码质量 。2).保证代码整体结构良好 。3)单元测试使排除代码错误的成本最小化 。4).单元测试大幅度降低了后期测试和升级维护的时间成本 。5).单元测试自然的使开发流程变得“敏捷”,可以适应频繁变动的需求,因为整体结构良好的代码具有较好的可扩展性,自动回归测试又能保证修改不会引入新的错误 。47、单元测试工具分类:代码检查工具、覆盖率测试工具、.记忆体检查 、性能检查、质量分析工具48、Visual Unit,简称VU,新一代单元测试工具,功能强大,使用简单,完全可视化,不需要写测试代码 。49、单元测试的内容1).模组接口、;测试模组的数据流 。测试项目有:(1)调用所测模组时的输入参数与模组的形式参数在个数、属性、顺序上是否匹配;(2) 所测模组调用子模组时,它输入给子模组的参数与子模组中的形式参数在个数、属性、顺序上是否匹配 。(3).是否修改了只做输入用的形式参数 。(4)输出给标準的参数在个数、属性、顺序上是否正确 。(5).全局量的定义在各模组中是否一致 。(6).限制是否通过形式参数来传送 。2).局部数据结构测试:模组的局部数据结构是最常见的错误来源,应设计测试用例以坚持以下错误:(1).检查不正确或不一致的数据类型说明(2).使用的未赋值或尚未初始化的变数(3) 。错误的初始值或错误的默认值(4).变数名拼写错误或书写错误(5).不一致的数据类型3)路径测试;对基本执行路径和循环进行测试会发现大量的错误 。根据白盒测试和黑盒测试用例设计方法设计测试用例 。(1)常见的不正确计算.(2).常见的比较和控制流错误4)错误处理测试(1).出错的描述难以理解(2).出错的描述不足以对错误定位和确定出错的原因(3).显示的错误与实际的错误不符(4).对错误的条件处理不正确(5).在对错进行处理之前,错误条件已经引起系统的干预等5)边界测试50、进行单元测试的必要性(1).即使在没有工具支持的情况下,单元测试能够节约时间(2).有效的单元测试同时也是在审查软体的规格说明(3).最优秀的程式设计师也会犯错误,也得惊醒单元测试(4).集成测试不可能解决所有的缺陷(5).单元测试的成本效率高51、单元测试和集成测试的区别(1)测试对象有所区别 。集成测试的被测对象是在概要设计中规划的模组及这些模组间的组合 。单元测试的测试对象是这些模组下实现具体功能的单元,一般是对应详细设计中所描述的设计单位 。(2)集成测试关注的是模组间的接口,接口之间的数据传递关係,以及单元组合后是否实现预计的功能,集成测试组装的对象比单元测试的对象级别高 。52、单元测试和系统测试的区别两者比较明显,一般来说单元测试属于白盒测试,关注的是单元的具体实现、内聚的逻辑结构、数据流向等,系统测试属于黑盒测试,是站在用户角度上面看待系统,对系统进行测试,证明系统是否已经满足用户要求,其测试是基于需求规格说明书 。53、单元测试的用例设计思路一个完整的单元测试不仅仅要进行正向测试,即测试被测单元是否做了它应该做的事情,同时还应该做逆向测试,即被测单元有没有做并不希望它做的事情 。(1).为系统运行设计用例(2).为正向测试设计用例(3).为逆向测试设计用例(4).为满足特殊需求设计用例(5).代码覆盖设计用例(6).覆盖率指标完整设计用例可使用的测试分析技术:分支测试、条件测试、数据定义使用测试和状态转换测试54、白盒测试的目的:通过检查软体内部的逻辑结构,对软体中的逻辑路径进行覆盖测试;再程式不同地方设立检查点,检查程式的状态,以确定实际运行状态与预期状态是否一致 。55、白盒测试的特点:依据软体说明书进行测试,对程式内部细节惊醒严密检验,针对特定条件设计测试用例,对软体逻辑路径进行覆盖测试 。56、白盒测试实施步骤:测试计画阶段、测试设计阶段、设计执行阶段、测试总结阶段 。57、白盒测试方法:静态分析法和动态分析法 。58、VU特点使用VU,黑盒方面,可以轻鬆完成功能测试、边界测试、速度测试:白盒方面,可以轻鬆完成语句覆盖、条件覆盖、分支覆盖、路径覆盖、使用VU随时可以用回归测试检验修改是否引入新的错误59、单元测试用例设计方法(1)规範导出法规範导出的测试是根据相关的规範描述来设计测试用例的,每一个测试用例用来测试一个或多个规範陈述语句 。(2)等价类划分等价类划分是一种正式的测试用例设计方法,它基于被测单元的输入,输出所做的划分,对每一个划分中的所有输入、被测单元有等价的行为,划分也可以根据软体所存取的数据确定,包括时间、输入输出顺序、状态 。(3)边界值分析法边界值分析使用与等价类测试方法相同的等价类划分,只是边界值分析假定错误更多地存在于两个划分的边界上,相应地为边界上及其两侧的情况设计测试用例 。(4)状态转移测试法对于以状态机为模型或设计为状态机的软体,该测试是合适的测试方法 。测试用例通过能导致状态迁移的事件来测试状态之间的转换 。用这种方法可设计逆向的测试用例,如状态和事件的非法组合 。(5)分支测试法在分支测试中,根据单元中的控制流分支或判断点来设计测试用例,通常用来达到一定的判定覆盖率(6)条件测试法条件测试中包含了许多测试用例设计技术,它们都致力于弥补在遇到複杂逻辑条件时分支测试的弱点(7)数据定义-使用测试法(8)错误猜测法它是基于经验和其他一些测试技术的方法 。60、六种覆盖方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖 。(1)语句覆盖主要特点:语句覆盖是最起码的结构覆盖要求,语句覆盖要求设计足够多的测试用例,使得程式中每条语句至少被执行一次 。(2.) 判定覆盖主要特点、;判定覆盖又称分支覆盖,它要求设计足够多的测试用例,使得程式每个判定至少执行有一次为真值,有一次为假值,即:程式中每个分支至少执行一次,每个判断的取真、假至少执行一次 。(3). 条件覆盖主要特点:条件覆盖要求设计足够多的测试用例,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值,一次为假值、(4. )判定条件覆盖主要特点:设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次次 。每个判定本身设计有可能结果至少出现一次 。(5).组合覆盖主要特点:要求设计足够多的测试用列,使得每个判定中的条件结果的梭鱼喔肯能组合至少出现一次 。(6.)路径覆盖主要特点: 设计足够多的测试用例,覆盖程式中所有可能的路径61集成测试(组装测试)其测试对象包括单元间的接口以及集成后的功能和性能,依据软体概要设计说明书 。62集成测试的含义(组装测试):在单元测试的基础上,应根据概要设计的要求将软体中的各单元组装成子系统或系统,在单元的组装过程中,应对单元进行整体上测试,发现并清除各单元中出现的问题,确保集成到一起的各单元能作为一个整体完成预期的功能 。63集成测试应考虑:a将各模组组装起来的过程中穿越模组接口的数据是否会丢失b各子功能组合起来能否达到预期的父功能c某模组的功能是否会对另一个模组的功能产生不利的影响d全局数据结构是否存在问题e单个模组的误差累积起来是否会放大到不可接受的程度 。64接口的分类:函式接口,讯息接口,其它接口 。65集成测试的优点:a针对性强,较易发现错误并找出错误的原因和位置 。b能有效的模拟几乎所有的实际执行的流程故能更有效的发现软体中的错误c 发现错误的修复成本要远远小于系统测试阶段的错误修复成本 。66、集成测试和系统测试区别:集成测试的的集成过程中对功能和性能的测试,它主要依据是软体的概要设计说明书 。系统测试是对全部模组集成完毕的软体进行功能、性能及其他特性的测试,检测其与系统中其他元素能否协同工作,以满足用户的各种需求,它主要依据软体需求规格说明书和相关行业标準 。67灰盒测试:一种介于黑盒测试和白盒测试之间的测试策略,它基于程式运行的外部表现,同时又结合程式内部逻辑结构来设计测试用例 。68灰盒测试的优点:a能够进行基于需求的测试和基于路径的覆盖测试 。B可深入被测对象的内部,便于错误的识别分析和解决c能够保证设计的黑盒测试用例的完整性 防止功能或功能组合的遗漏d能够减小需求或设计不详细或不完整性对测试有效性造成影响 。69集成测试的策略:a一次性集成(大爆炸集成)b自顶向下集成c自底向上集成d混合式集成e核心繫统先行集成f高频集成g基于讯息的集成h基于使用的集成、、70一次性集成:又称大爆炸集成,是一种非增值式集成方式;71一次性集成策略:首先对每个单元进行单元测试然后一次性的将所有单元集成在一起,对它们进行测试,发现并清除在单元连线过程中出现的问题,得到最终要求的软体系统.72自顶向下集成方式:根据软体的模组结构图按控制层次从高到低的顺序对模组进行集成,也就是从高到低向下逐步集成,并在集成过程中进行测试,直至组装成符合要求的的最终软体系统 。73自顶向下集成的步骤:a以主模组为被测模组,主模组的下属模组则用桩模组代替 。b採用深度优先或宽度优先的策略,用实际模组代替相应的桩模组,它们的直接下属模组则又用装模组代替与一侧模组或子系统集成为新的子系统 。C对新形成的子系统进行测试 。发现和排除模组集成过程中引起的错误,并做回归测试d若所有的模组都已集成到系统中,则结束,否则转b.74.自顶向下集成方式的优点:可以及早地发现和修复模组结构图中的主要控制点存在的问题,以减少以后的返工;能较早地验证功能或行性;最多只需一个驱动模组,减少了驱动模组的开发成本;支持故障隔离 。75、自顶向下集成方式的缺点:需要开发和维护大量的桩模组;由于桩模组很难模拟实际子模组的功能,到组装后期易出错,会导致大量的回归测试;为了在效性地进行集成测试,软体系统的控制结构应具有较高的可测试性;易导致底层模组的测试不够充分 。76高频集成方式:指同步于软体开发过程,每隔一段时间开发人员的现有代码进行一次集成测试 。77自底向上集成方式:根据软体的模组结构图按控制层次从低到高的顺序对模组进行集成,也就是从最底层模组向最高层逐步集成,并在集成过程中进行测试,直至组装成符合要求的的最终软体系统 。78自底向上集成方式的步骤:a为最底层模组开发驱动模组对最底层模组进行测试 。B用实际模组代替驱动模组,与直属其子模组集成一个子系统 。C为新形成的子系统开发驱动模组,对该子系统进行测试 。D若该子系统以对应为主控模组,即最高层模组,则测试结束 。否则转B 。79自底向上集成方式的优点:a大大减少的驱动模组的开发,虽然需要开发大量的驱动模组,但其开发成本毕竟比装模组的成本小 。B设计複杂算法和真正输入输出的模组往往在底层,它们是最容易出现问题的的模组,最先对底层模组进行测试,减少了回归测试的成本 。C在集成的早期很可能实现对模组的并行测试,这提高了集成测试的效率 。D支持故障隔离 。80、自底向上集成方式的缺点:需开发大量的驱动模组,帮带来了一定的测试成本;不能及早地发现和修复模组结构图中的主要控制点存在的问题;对底层模组的异常很难测试到 。81混合式集成方式:结合了自顶向下集成方式和自底向上集成方式的优点,在对一个软体的集成测试过程中,综合使用了此两种集成方案 。82核心繫统先行集成方式:先对核心软体部件进行测试,在此基础上在按各外部软体部件的重要程度逐个集成到核心繫统中83基于讯息的集成方式:对于许多基于状态机的系统如嵌入式系统面向对象方式开发系统,模组间的接口主要通过讯息来实现因而验证讯息路径的正确性在这类软体系统的集成测试中具有重要意义 。84、基于使用的集成方式:先对各个类间的依赖关係进行分析,测试独立的类再测试使用一些伺服器类的类,逐步测试具有依赖性的类,直至整个系统构造完成,从而验证类间接口的正确性 。85、集成测试策略的选取:一次性集成多用于系统规模小的测试项目;自顶向下集成、自底向上集成、混合式集成多用于採用结构化方法开发的软体项目;基于讯息的集成方式用于嵌入式系统、面向对象系统;基于使用的集成方式用于面向对象系统中;核心繫统先行集成和高频集成方式用于许多複杂软体项目 。86、按以下思路可确定集成模组:确定当前主要希望测试的模组:确定与该模组关係密切的模组;将该模组与关係最紧密的模组进行集成;再依次考虑集成模组的外围模组 。87、在集成测试中合理的模组划分的特点:被集成的模组关係紧密,共同完成某功能:外围模组便于屏弊;外围模组发给被集成模组的讯息能模拟大部分情况;模拟外围模组发给被集成模组的讯息便于构造、修改 。88、关键模组具有的特徵:完成需求规格说明中的关键功能:中软体模组结构图中处于较高层次;较複杂,易出错;有明确的性能要求;被频繁使用 。89集成测试的的步骤:a计画集成测试b设计集成测试c执行集成测试d分析测试结果并提交测试报告90制定集成测试计画应考虑的因素:a测试的类容b集成测试策略c模组代码编制和测试进度是否于集成测试的顺序一致d测试过程中需要的软体工具及硬体设备 。91集成测试完成的标誌:a成功执行了集成测试计画中所规定的多有测试内容b修正了集成测试中发现的错误c测试结果通过了专门小组的审评 。92.确认测试又称为有效性测试 。它的任务是验证软体的功能和性能,以及其特性是否与用户的要求一致 。93.系统测试是将已集成好的软体系统,作为计算机系统的一个元素,与计算机硬体、外设、 支持软体、数据和操作人员等其他系统元素结合在一起,在实际使用环境下,对计算机系统进行一系列的组装和确认测试 。系统测试实际上包含确认测试94.系统测试的目的在于通过与系统的需求定义作比较,发现软体与系统定义不符合与之矛盾的地方,以验证软体系统的功能和性能等满足其规约所指定的要求 。测试用例依照需求规格说明书设计 。95、系统测试的种类:功能测试、性能测试、GUI测试96、功能测试是系统测试中最基本的测试,它不管软体内部的实现逻辑,主要根据产品的规格说明书和测试需求列表,验证产品的功能实现是否符合产品的需求规格 。97、功能测试内容:是否有不正确或遗漏的功能:功能实现是否满足用户需求和系统设计的隐藏需求;能否正确地接受输入;能否正确地输出结果;98、黑盒测试试图发现一下类型的错误:功能错误或遗漏;界面错误;数据结构或外部数据访问错误;性能错误;初始化和终止错误99、黑盒测试的测试用例设计方法:(1)等价类划分是把所有可能的输入数据,即程式的输入域划分成若干部分,然后从每一个子集中选取少数具有代表性的数据作为测试用例 。划分等价类:等价类是指某个输入域的子集合 。有效等价类:是指对于程式的规格说明来说是合理的、有意义的输入数据构成的集合无效等价类:和有效等价类的定义恰巧相反(2)边界值分析法(3)错误推测法:列举程式中所有可能有的错误和容易发生错误的特殊情况,来设计测试用例 。(4)因果图方法:因果图生成测试用例步骤:A分析软体规格说明描述中,确定原因和结果,并给每个原因和结果赋予一个标识符B分析软体规格说明描述中的语义,找出原因与结果间,原因与原因间的关係,画出因果图C由于语法和环境限制,在图上用一些记号表明约束或限制条件D把因果图转换为判定表E把判定表的每一列拿出来作为依据,设计测试用例 。(5)判定驱动分析方法判定表的组成:条件桩、动作桩、条件项、动作项规则:是指任何一个条件组合的特定取值及其相应要执行的操作判定表的建立步骤:确定规则的个数;列出所有的条件桩和动作桩;填入条件项;入动作项,等到初始判定表;简化 。100.WinRunner是一种用于检验应用程式能否如期运行的企业级软体功能测试工具 。101、WinRunner的特点在于:与传统的手工测试相比,它能快捷、批量地完成功能点测试;能针对相同测试脚本,执行相同的动作,从而消除人工测试所带来的理解上的误差;102.WinRunner的工作流程大致可以分为六个步骤①识别应用程式的GUI ②建立测试脚本 ③对测试脚本出错 ④在新版应用程式执行测试脚本 ⑤分析测试结果 ⑥回报缺陷103.GUI测试指测试用户界面的风格是否满足客户要求,文字是否正确,页面美工是否好看,文字、图片组合是否完美,背景是否美观,操作是否友好等等 。104、性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件按来对系统的各项性能指标进行测试 。105性能测试目的是验证软体系统是否能够达到用户提出的性能指标,同时发现软体系统中存在的性能瓶颈,最佳化软体,最后起到最佳化系统的目的 。主要包括以下几个方面: 。评估系统的能力 。识别体系中的弱点 。系统调优 。检测软体中的问题 。验证稳定性和可靠性106.性能测试主要测试软体的性能,包括负载测试,强度测试,资料库容量测试,基準测试以及竞争测试等 。107、负载测试指数据在超负荷中运行,查程式是否能承担108、强度测试指在系统资源特别低的情况下软体系统运行情况18、资料库容量测试指通过存储过程往资料库表中插入一定数量的数据,看相关页面的显示 。109、基準测试与现有系统比较,检验是否与类似的产品有竞争性110、竞争测试指使用各种资源,看其与其他相关係统对资源的争夺能力111、系统测试的过程(1)完成系统测试计画(2)完成系统测试用例的设计(3)评审/审批系统测试计画系统测试计画的目的是对系统测试全过程的组织、资源、原则等进行描述和约束,并制定系统测试过程的各个阶段的确认和验证任务以及时间进度安排,并提出对各项任务的评估、风险分析和管理需求 。为了保证系统测试质量,必须在测试设计阶段就对系统进行严密的测试设计 。这就需要我们在测试设计中,从多方面来综合考虑系统规格的实现情况 。通常需要从以下几个层次来进行设计:用户层、套用层、功能层、子系统层、协定层 。112、WinRunner是功能测试工具113.WinRunner的测试过程分六个步骤①教WinRunner识别被测软体中的对象 ②录製脚本 ③调试测试 ④执行测试⑤查看测试结果 ⑥报告发现的错误114、软体测试文档就是为将软体测试当作一个项目一样实施计画和管理而引入的,它为测试项目的组织、规划和管理提供了一个规範化的架构 。115、软体测试文档主要包括测试计画、测试用例、测试规程、测试事件报告、测试总结报告等 。测试文档总所规定的内容可以作为对测试过程完备性的对照检查表,有助于提高测试工程每个阶段的能见度,极大地提高了测试工作的可管理性 。为了统一测试文档的书写标準,IEEE/ANSI制定了829-1983标準,还有其他的一些也用于指导软体测试文档的编写,如我国制定的《计算机软体测试档案百年之规範(GB/T 9386-1988)》116、 测试文档编写规範(GB/T 9386-1988)简介(1).引用标準该规範的引用标準为:GB/T 11457 软体工程术语GB 8566 计算机软体开发规範 GB 8567 计算机软体产品开发档案编制指南(2).关键术语定义设计层:软体项的设计分解(如系统,子系统,程式,模组)通过準则:一个软体项或软体特性的测试是否通过的判别依据软体特性:软体项的显着特性(如功能,性能或可移植性)软体项:原始码,目标代码,作业控制代码,控制数据或这些项的集合 。测试项:作为测试对象的软体项(3).规範的主要内容该规範确定了各个测试档案的格式和内容,所提出的档案类型包括测试计画,测试说明和测试报告 。测试计画免除测试活动的範围,方法,资源和进度,他规定被测试的项,被测试的特性,应完成的测试任务,担任各项工作的人员职责及与本计画有关的风险等 。117、测试说明包括三类档案测试设计说明:详细描述测试方法,规定该设计及其有关测试所包括的特性,还规定完成测试所需的测试用例和测试规程,并规定特性的通过準则 。测试用例说明:列出用于输入的具体值以及预期的输出结果,并规定在使用具体测试用例时,对测试规程的各种限制 。将测试用例与测试设计封开,可以使它们用于多个设计并能在其它情形下重複使用 。测试规程说明:规定对于运行系统和执行指定的测试用例来实现有关测试设计所要求的所有步骤 。118、测试报告则包括四类档案:测试项传递包括:指明在开发组和测试组独立工作的情况下或者在希望正式开始测试的情况下为进行测试而传递的测试项 。测试日誌:测试组用于记录测试执行过程中发生的情况 。测试事件报告:描述在测试执行期间发生并需进一步调查的一切事件 。测试总结报告:总结与测试设计说明有关的测试活动 。119.对规範的实施使用该规範的每个单位,要规定测试阶段所应有的特性档案,并在测试计画中规定测试完成后所能提交的全部档案 。使用该规範的每个单位应该补充规定对内容的要求和约定,及便反映总结在测试,档案控制,配置管理和质量保证方面所用的特定方法,设备工具 。一下是规範中的档案编制实施及使用指南(1) 实施指南在实施测试档案编制的初始阶段可先编写测试计画于测试报告档案 。测试计画将为整个测试过程提供基础 。测试报告将鼓励测试单位以良好的方式记录整个测试过程的情况 。(2) 用法指南在项目计画及单位标準中,指明在那些测试活动中需要那些测试档案,并可在档案中加入一些内容,使各个档案适应一个特定的测试项及一个特定的测试环境 。120《软体测试档案编制规範》中的内容要求以下是规範中各个测试档案的书写格式及内容 。a测试计画(1) 测试计画名称(该计画的第1章)(2) 引言(该计画的第2章)(3) 测试项(4) 被测试的特性(5) 不被测试的特性(6) 方法(7) 项通过的準则(8) 暂停标準和再启动要求(9) 应提供的测试档案(10) 测试任务(11) 环境要求 (12) 职责(13) 人员和训练要求(14) 进度(15) 风险和应急(16) 批准b测试设计说明(1) 测试设计说明名称(2) 被测试的特性(3) 方法详述(4) 测试用例名称(5) 特性通过準则c测试用例说明(1) 测试用例说明名称(2) 测试项(3) 输入说明(4) 输出说明(5) 环境要求(6) 特殊的规程要求 (7)用例间的依赖关係d测试规程说明(1) 测试规程说明名称(2) 目的(3) 特殊要求(4) 规程步骤e测试项传递报告(1) 传递报告名称(2) 传递项(3) 位置(4) 状态(5) 批准f测试日誌(1) 测试日誌名称(2) 描述(3) 活动和事件条目g测试事件报告名称(1) 测试事件报告取一个专用名称(2) 摘要(3) 事件描述(4) 影响h测试总结报告1. 规定该报告必须由哪些人(姓名和职务)审批,并为签名和日期留出位置 。121、自动化测试就是通过自动化测试工具或其他手段,按照测试工程师的预定计画进行自动的测试,其目的是减轻手工测试的的劳动量,并且提高软体质量。自动化的5个级别级别说明优点缺点用法一级录製和回放自动化的测试脚本能够被自动的生成,而不需要有任何编程知识 。需要大量的脚本,当需求和套用发生变化相应的脚本也需要重新录製当测试的系统部会发生变化时实现小规模的自动化 。二级录製,编辑回放减少了脚本的数量和维护的工作量需要一定的编程知识,频繁的变化难于维护回归测试时,用于被测试的应用有很小的变化 。三级编程和回放确定了测试脚本的设计,在项目的早期就可以开始自动化的测试要求测试人员具有很好的软件技能,包过设计开发大规模的测试套件用于开发,执行和维护的专业自动化测试四级数据驱动的测试能够维护和使用良好的并且有效的模拟生活中真实逐句的测试软体开发的技能是基础,并且需要访问相关的测试数据大规模的测试套件用于开发,执行和维护的专业自动化测试五级使用动作词的自动化测试用例的设计被从测试工具中分离出来 。需要一个具有使用工具技能和开发技能的测试团队专业的测试自动化将技能的使用最最佳化的结合起来122、软体测试自动化的优点:(1) 提高软体测试的工作效率(2) 对新版本执行回归测试(3) 解决测试的沉闷,耗时的问题(4) 替代手工测试的困难(5) 具有一致性和可重複性(6) 更好的利用资源 (7)解决测试与开发之间的矛盾 (8)增加软体的信任度123、RPT是IBM公司基于Eclipse平台及开源的测试和监控框架Hyades,开发的性能测试解决方案,它可以帮助测试人员和性能工程师验证系统的性能,识别和解决各种性能问题 。RPT对系统的性能测试进行分析的过程包括四个步骤:测试记录,测试调度,测试运行,测试结果分析 。124、软体测试自动化的局限性:(1) 不能期望自动测试能取代人工测试(2) 自动化测试部能发现新缺陷(3) 自动化测试工具本身不具有想像力 (4) 技术问题,组织问题,脚本维护的阻力(5) 自动化测试并不适合于所有公司,所有项目125、测试自动化要关注的几个问题:(1) 测试个例的生成(2) 测试的执行和控制(3) 测试结果与标準的输出的对比(4) 不吻合的测试结果的分析,分类,记录和通报(5) 总测试状况的统计报表的产生(6) 自动测试与开发中产品每日构建的配合126、自动测试工具简介:功能测试工具:Winner QuickTest Pro Rational XDE Tester QARun Slik Test e-testerWebFT PureTest性能测试工具:LoadRuner Astra LoadTest Rational Robot( 性能和功能测试) QAloadSilkPerformer e-Load Web Applivation Stress Tool Webload测试管理工具:Test Diorector QAdirector SlikCentral Test/Issue Manger e-Monitor白盒测试工具:Rational Purifyplus Jtest(JAVA白盒) C++(C++白盒)Test(NET白盒)127、RFT是一款先进的,自动化的功能和回归测试工具,它适用于测试人员和GUI开发人员 。