1、/ 调试是一个随机的、不可重复的过程,目的是寻找错误的原因和具体的位置,并修复 错误。调试一般在测试前进行。13. 优秀的软件测试员应具备的素质: 1 软件测试人员是群探索者。 2 软件测试人员是故障排除员。3 软件测试人员不放过任何蛛丝马迹。4 软件测试人员具有创造性。 5 软件测试人员是群追求完美者。 6人员判断准确。7 软件测试人员注重策略和外交。8 软件测试人员善于说服。14. P12软件测试的分类:从是否需要执行被测软件的角度:件测试可分为静态测试和动态测试。15.P12 静态测试可分为:(1)代码检查法 (2)静态结构分析法(3)代码度量质量法 其中动态测试分为 黑盒测试和白盒测试
2、16.P12 静态测试和动态测试二者的区别: 静态测试不实际执行程序,而是利用人工手段及静态测试工具完成对程序的静态测 试。主要目的是检查软件的表示与描述是否一致,没有冲突和歧义。而动态测试则是实际运行测试用例,以发现软件中的错误。17.P 12 静态测试和动态测试的时序关系:一般可先进行静态测试,即代码检查法、静态结构分析法、代码质量度量法等进行测试;然后进行动态测试,即逻辑覆盖法、基本路径测试法、程序插桩等进行测试。18.P12从软件测试用例设计方法的角度分类(从测试的策略):分为黑盒测试和白盒测试(1)黑盒测试是一种从用户角度出发的测试,又称为功能测试,数据驱动测试和基于规格说明的测试。
3、(2)白盒测试基于产品的内部结构来进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分利用,又称为结构测试,逻辑驱动测试和基于程序的测试,即根据被测程序的内部结构设计测试用例,测试者需要事先了解被测程序的结构。19.P12 从软件测试的策略和过程的角度(照软件的开发阶段)分类: 软件测试可分为单元测试,集成测试,确认测试,系统测试和验收测试。20.P13 按照实施测试的组织,可将测试分为Alpha测试、Beta测试及第三方测试。(1) Alpha测试 Alpha测试属于开发方进行,指软件开发组织公司内部人员模拟各类用户对即将交付的软件产品进行测试,以发现其中的错误并改正。 (2
4、).Beta测试 Beta测试是用户进行的测试,但通常不等同于验收测试,即决定是否接受软件并不是Beta测试的目的。 Beta测试的目的在于帮助开发方在正式发布软件产品前对其进行最后的改进。 (3 )第三方测试 第三方测试是指由不同开发方和用户方的组织进行的测试。21.P13 软件测试与软件开发各阶段的关系: 软件开发过程是一个自顶向下, 逐步细化的过程,首先在软件计划阶段定义了软件的作用域,然后进行软件需求分析,建立软件的数据域, 功能和性能需求, 约束和一些有效性准则,而测试过程则是依相反的顺序安排的自底向上, 逐步集成的过程,低一级测试为上一级测试准备条件。22. 软件测试技术的发展历史
5、和现状(1) 软件测试技术的发展历史 20世纪50年代,英国,图灵给出了软件测试的原始定义。 1957年,测试是发现软件潜在错误和缺陷的活动。 1972年,北卡罗纳大学举行了首届软件测试正式会议。 1975年,John Good Enough 和Susan Gerhart 发表了名为测试数据选择的原理文章。 1979年,G冷ford J.Myers的著作软件测试的艺术是软件测试领域一本重要的著。 20世纪90年代,软件测试得到了快速的发展。 (2)软件测试的现状 在软件发达的国家得到软件从业人员的普遍重视,已经形成了一个独立的产业,发展程度较高。 另外,软件测试发展趋势很好,已经成为了一个独立
6、的流程。 第二章 软件测试过程与策略1.P16 软件测试的复杂性:(1)完全测试是不现实的(2)软件测试是有风险的(3)杀虫剂现象 (4) 缺陷的不确定性2.P17穷举测试会引起一下几种问题:(1)输入量大 (2)输出结果太多 (3)软件执行路径太多 (4)说明书存在主观性3.P19 为了克服被测试软件的免疫力,软件测试员必须不断编写新的测试程序,对程序的各个部分进行不断地测试,以避免被测试软件对单一的测试程序具有免疫力而使软件缺陷不被发现。这就对软件测试人员的素质提出了很高的要求。 这是正确的4.P19 若出现以下情况,软件缺陷就不能被修复:(1)修复风险的太大 (2)时间不够 (3)不会引
7、起大的问题 (4)可以理解成新的功能5.P21 软件测试的误区: (1)期望用测试自动化代替大部分人工劳动 (2)忽视需求阶段的参与 (3)软件测试是技术要求不高的岗位误区1 测试和调试是一回事。误区2 可以对软件进行穷举测试。误区3 若交付使用的软件有缺陷,是测试人员的失职。 误区4 关注测试的执行而忽略测试用例的设计。误区 5 测试比编程容易多。误区 6 测试是编码之后进行的工作。误区7 测试自动化是万能的。误区8 软件测试是一种破坏性工作。(软件测试是破坏性的工作)。6.P23 V模型示意图7.P23 测试各阶段示意图8. p24(1)单元测试(又称模块测试):定义: 它是对软件基本组成
8、单位进行的测试,单元测试的对象是软件设计的最小单位模块。单元测试通常是开发者编写的一小段代码,用于检验被测代码的一个很小的, 很明确的功能是否正确。9.P25单元测试的主要内容:模块接口测试,局部数据结构测试,独立路径测试,出错处理测试,边界条件测试。10.P26 单元测试的步骤:(1)驱动模块(函数,被测模块):相当于被测模块的主程序,它接收测试数据,把这些数据传送给被测模块,最后输出实测的结果。(2)桩模块:用以代替被测模块调用的子模块。桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么事情也不做。(函数调用其他函数)11P27 什么时候进行单元测试呢? 单元测试越早
9、越好。12. P27 由谁来完成单元测试呢?单元测试与其他测试不同,单元测试可可作是编码工作的一部分,应该由程序员完成。13. P28 集成测试的定义:是根据实际情况对程序模块采用适当的集成测试策略组装起来,对系统的接口以及集成后的功能进行正确校验的测试工作。集成测试也称为综合测试。14.P28 集成测试的层次: 集成测试划分为三个层次 (1)模块内集成测试 (2)子系统内集成测试 (3)子系统间集成测试 (4)类内集成测试 (5)类间集成测试15.P29 集成测试的模块: (1)一次性集成测试方法 (2)增值式集成测试方式 (3)一次性集成测试方式与增值式集成方式的比较 (4)集成测试的组织
10、和实施16.P30增值式集成测试方式可分为:(1)自顶向下增值测试方式 (2)自底向下增值测试方式 (3)混合增值测试方式17.p34确认测试定义: 最严格的解释是检验所开发的软件是否能按用户提出的要求运行,若能达到这一要求,则认为开发的软件是合格的。18.P34确认测试的目的:是检查已实现的软件系统是否满足需求规格说明书中的规定的各种需求。19.P35确认测试的依据: 需求规格说明书20.P36 系统测试的定义: 它是将已经集成好的软件系统,作为整个计算机系统的一个元素,与计算机硬件, 外设, 某些支持软件, 数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装
11、测试和确认测试。21.P37 系统测试的设计(从以下几个层次来进行设计): 用户层、应用层、功能层、子系统层、协议/指标层。22.p41验收测试: 是向未来的用户表明系统能够像预定要求的那样工作。(验收测试即按项目任务书或合同、供需双方约定的验收依据文档对整个系统进行测试与评审,以决定是否接受软件系统。)需要用户的参与。23.P41 验收测试的内容: 24.P41 在验收测试计划当中,可能包括的检验方面有以下几种:25.P42 验收测试的常用策略:(1)正式验收测试 (2)非正式验收或Alpha测试 (3)Beta测试26.P47 静态测试: 就是不需要执行所测试的程序,而只是通过扫描程序正文
12、,对程序的数据流和控制流等信息进行分析,找出系统的缺陷,得出测试报告。27.P47 静态测试包括: 代码检验、静态结构分析、代码质量度量等.28.P49 动态测试: 是通过源程序运行时所体现出来的特征,来进行执行跟踪、时间分析以及测试覆盖等方面的测试。29.P49 黑盒测试: 又称为功能测试、数据驱动测试和基于规格说明书的测试,是一种从用户观点出发的测试。30.P49 白盒测试: 也称作结构测试或逻辑驱动测试,它是知道产品的内部工作过程,可通过测试来检验产品内部动作是否按照规格说明书的规定正常运行。31.P51 通常的程序结构覆盖有:语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖、
13、路径覆盖 语句覆盖是最常见也是最弱的逻辑覆盖准则。32.P51 黑盒测试与白盒测试的对比: 第三章 黑盒测试1.P54黑盒测试的定义: 黑盒测试又称功能测试或是数据驱动测试,是从用户观点出发,主要以软件规格说明书为依据,对程序功能和程序接口进行的测试。2.P54黑盒测试有哪些方法:等价类划分法 边界值分析法 决策表法 因果图法3.P54 黑盒测试方法着重测试软件的功能需求,是在程序接口上进行测试,主要是为了发现以下错误: 5点4.P55等价类划分法: (1)定义:等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一个子集中选取少数具有代表性的数据作为测试用例。5.P56
14、有效等价、无效等价.6.p56等价类的几个原则和规则:(1)如果规定了输入条件的取值范围或者个数,则可以确定一个有效等价类和两个 无效等价类。(2)如果规定了输入值的集合,则可以确定一个有效等价类和一个无效等价类。(3)如果规定了输入数据的一组值,并且程序要对每一个输入值分别进行处理,则可为每一个值确定一个有效等价类,此外根据这组值确定一个无效等价类,即所有不允许的输入值的集合。(4)如果规定输入数据必须遵守的规则,则可以确定一个有效等价类和喏干个无效等价类。(5)如果已知的等价类中各个元素在程序中的处理方式不同,则应将该等价类进一步划分成更小的等价类。7. p57健壮等价类测试:健壮等价类测
15、试主要的出发点是考虑了无效等价类。对无效的输入,测试用例从每个有效等价类中取一个值,对无效输入,一个测试用例有一个无效值,其他值均取有效值标准等价类测试不考虑无效数据值,测试用例使用 每个等价类中的一个值。8P60 边界值分析法的定义: 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。9P61 边界条件与次边界条件:(1)数值的边界值检验 (2)字符的边界值检验 (3)其他边界值检验10P63 边界值分析法的几个原则和规则: (1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及
16、刚刚超越这个范围边界的值作为测试输入数据。(2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少1,比最大个数多1的数作为测试数据。(3)将规则1)和2)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。(4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。( 5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。(6)分析规格说明,找出其它可能的边界条件。11.P63决策表的4个部分组成: 条件桩 动作桩 条件项 动作项解法如下:找出条件桩确定规则的个数 2n列出所有的条件桩
17、和动作桩画表格填入条件项填入动作项得到初始决策表 第四章 白盒测试1.P78白盒测试定义:- 也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。它是基于程序的测试,检测产品的内部结构是否合理以及内部操作是否按规定执行。2.P79 语句覆盖:指设计若干个设计用例,程序运行时每个可执行语句至少被执行一次。3.P80 判断覆盖:(两个测试用例): 是指设计若干个设计用例,执行被测试程序时,程序中每个判断条件真值分支和假值分支至少被执行一遍。4.P81 条件覆盖:(至少要有两个测试用例) 是指设计若干个测试用例,执行被测试程序时,程序中每个判段条件中的每个判断式
18、的真值和假值至少被执行一遍。5.P82 判断/条件覆盖:是指设计若干个测试用例,执行被测试程序时,程序中每个判断条件的真假值分支至少被执行一遍,并且每个判断条件内部的判断式的真假值分支也要被执行一遍。6.P82 条件组合覆盖:(至少4个测试用例) 是指设计若干个测试用例,执行被测试用例时,程序中每个判断条件的内部判断式的各种真假组合可能都至少被执行一遍。7.P85 程序环路复杂性:(公式)8.P86 独立路径测试:导出程序控制流程图 (2)求出程序环形复杂度 (3)设计测试用例 9.P87求出程序环形复杂度:10P91 变异测试: 是一种故障驱动测试,即针对某一类特定程序故障进行的测试,变异测
19、试也是一种比较成熟的排错性测试方法。11P92 程序插装 : 是借助于在被测程序中设置断点或打印语句进行测试的方法,在执行测试的过程中可以了解一些程序的动态消息。12P78 白盒测试技术常见的方法: 逻辑覆盖测试和路径分析测试13P79 逻辑覆盖测试: 语句覆盖(覆盖能力最弱) 判断覆盖 条件覆盖 判断/条件覆盖 条件组合覆盖 路径覆盖 (覆盖能力最强) (逐级递增)14P85 当采取这些逻辑覆盖时,测试用例如何选择。15P85 路径分析测试:步骤: 根据题意画出控制流图计算出环路复杂性V(G)=E-N+2 E是控制流图中边的数量 N是控制流程图中节点的数目 V(G)=p+1 其中p是控制流图
20、中判断节点的数目 V(G)=A 其中A是控制流图中区域的数目(由边和节点围成的叫做区域)其中环路复杂度=独立路径的数目3确定程序的基本路径集合;4为每个路径设计测试用例(输入数据+期望的结果)16P92程序插桩(白盒的测试方法): 是借助于在被测程序中设置断点或打印语句来进行测试的方法,在执行测试的过程中可以了解一些程序的动态信息。17哪些情况用白盒测试: (1)单元测试阶段:以白盒测试为主;(2)集成测试阶段:白盒和黑盒测试法相结合即灰盒测试;(3)集成测试阶段之后,试用黑盒测试方法 18动态测试: 逻辑覆盖测试法、路径分析法、程序插桩等。 19静态测试法: 代码走查法、静态结构分析法 代码
21、度量质量法等。20最少测试用例的计算: N-S图 第五章 软件测试计划与文档1P98测试计划的目的和作用:(1)使软件测试工作进行更顺利(2)促进项目参加人员彼此的沟通(3)使软件测试工作更易于管理(4)明确测试活动的意图(5)它规范了软件内容、方法和过程,为有组织地完成测试任务提供保障。2P98 测试计划的定义:一个叙述了预定的测试活动的范围、途径、资源及进度安排的文档。3.P103测试文档的定义:记录和描述了整个测试流程,它是整个测试活动中非常重要的文件。测试过程实施 必备的核心文档是:测试计划,测试用例和软件测试报告。4.P103 测试文档的内容: 整个测试流程会产生很多个测试文档,一般
22、可以把测试文档分为两类:测试计划和测试分析报告5.P107测试用例的定义: 老师给的:是为特定目标开发的一组测试输入,执行条件和预期结果,其目的是测试程序中的路径,核实程序或软件能否完成某个特定的功能需求。 书里的:是为了高效率地发现软件缺陷而精心设计的少量测试数据。实际测试中,由于无法达到穷举测试,所以要从大量输入数据中精选有代表性或特殊性的数据来作为测试数据。好的测试用例应该能发现尚未发现的软件缺陷。 第六章软件自动化测试1.p112软件自动化测试的定义: 自动测试是软件测试的一个重要组成部分,它能完成许多手工测试无法实现或难以实现的测试。 正确、合理的实施自动测试,能够快速、全面的对软件
23、进行测试,从而提高软件质量,节省经费,缩短软件发布周期。2.P112软件自动化测试的目的: 减轻手工测试的工作量,从而达到提高软件质量的目的。自动化则着重于发现旧的软件故障。而手工测试的目的着重于发现新的软件故障。3.P112 手工测试与自动化测试的关系: 虽然自动化测试是软件测试不可分割的一部份,但自动化测试并不能完全取代手工测试,二者各有优缺点。4.P113 手工测试的局限性:7点5.P113 自动化测试的好处:(1)对程序的新版本运行回归测试 (2)可以运行更多更频繁额测试 (3)可以进行一些手工测试难以完成或不可能完成的测试。 (4)充分地利用资源 (5)测试具有一致性和可重复性 (6
24、)测试具有复用性 (7)缩短软件发布的时间 (8)增强软件的可靠性6.P114 自动化测试的局限性:4点7.P115 自动化测试的适用情况: (1)回归测试 (2)设计大量不同数据输入的功能测试(3)用手工测试完成难度较大的测试8.P117 自动化测试产生的问题: (1)不现实的期望 (2)缺乏测试的实践经验 (3)测试工具本身的问题影响测试质量 (4)存在安全性的错觉 (5)自动测试的维护9.P118 自动化测试工具的分类: 分为白盒测试工具、黑盒测试工具和测试管理工具。10.P119 动态测试工具的代表的有:有Compuware公司的DevPartner软件、Rational公司的Puri
25、fy软件11.P119 Parasoft白盒测试工具集(表)12.P120 Compuware白盒测试工具集(表)13.P121 测试管理工具的代表有: Rational公司的TeamManager、Compuware公司的TrackRecord、Mercury Interactive公司的TestDirector等软件。14. 哪些用来自动化测试: (1)执行回归测试 (2)执行手工很难达到或手工无法完成的测试 (3) 枯燥乏味的重复性工作 一致的, (4)可重复的测试 15.自动化测试工具的分类:1 .白盒测试工具: Jtest test 2.黑盒测试工具:WinRuuner LoadRu
26、nner 3.测试管理工具: TeamManager 其他的测试工具: Testlink:软件测试管理工具 Mantis:软件跟踪管理工具 WinRuuner:黑盒测试工具 Junit 单元测试工具 用来测试java 第七章软件测试管理1.P134 软件质量保证的概念: 软件质量保证就是通过对软件产品有计划地进行检查和审计来验证软件是否合乎标准,找出改进的方法,以达到防止产生软件缺陷的目的。2.P134 软件质量保证包括以下几个方面的工作: 6点 (1)参与制定软件质量要求 (2)组织正式评审 (3)软件测试管理 (4)对软件的变更进行控制 (5)对软件质量进行度量 (6)对软件质量情况及时记
27、录和报告3.P135 软件质量保证与软件测试的关系进行比较:测试可以查找错误并进行修改,从而提高软件产品的质量。软件质量保证则是避免错误以求高质量,并且还有其他方面的措施以保证质量问题。 共同点:软件测试和软件质量保证的目的都是尽力确保软件产品满足需求,从而开发出高质量的软件产品。 不同点:在于软件质量保证工作侧重对软件开发流程中的各个过程进行管理与控制,杜绝软件缺陷的产生。而测试则是对已产生的软件缺陷进行修复。4.P143 ISO 9000标准: ISO 9001、ISO 9002和 ISO 9003的作用范围由大到小, ISO 9001包括从产品开发到销后服务的全程质量要求保证,作用范围最
28、大。 ISO 9000标准中针对软件开发产生的部分是 ISO 9001 和 ISO 9003。5. 软件测试最重要的是有效的测试管理。测试管理包括对人的管理、对流程的管理、对具体版本的管理。6.软件测试最重要的目标之一: 是发现缺陷、管理缺陷、改正缺陷、消灭缺陷.7. 软件测试管理的核心内容是测试过程管理、测试用例管理、测试用例执行和缺陷管理。8.p144 CMM:即软件能力成熟度模型,是软件行业标准模型,用来定义和评价软件公司开发过程的成熟度,为如何提高软件质量提供指导。9.P145 CMM软件能力成熟度模型的等级划分:(为评测软件公司开发能力成熟度提供了简单的方式)1.等级1(初始级):
29、该等级的软件开发过程是随意,项目能否成功依靠个人的能力和运气,具有偶然性。软件开发过程没有定义,开发时间和费用无法预知,测试过程和其他的过程混杂在一起。2.等级2(可重复级):该等级成熟度主要集中在项目级,建立基本的项目管理过程去跟踪成本,进度,功能和质量,可以借鉴以前成功项目的经验,应用到新项目中,软件开发具有一定的组织性,使用了基本软件测试行为,例如测试计划和测试用例。3.等级3(已定义级)该等级具备了组织化的思想,而不仅仅是针对具体的项目,软件开发中的管理活动被文档化和标准化,并且形成了整个软件组织的标准软件过程,所有项目均在标准软件过程中进行。4.等级4(已管理级)在该成熟度等级中,组织过程处于在统计的控制之下,软件过程和产品质量有具体的度量标准,软件
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1