《2022年《软件测试》复习提纲 .pdf》由会员分享,可在线阅读,更多相关《2022年《软件测试》复习提纲 .pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件测试复习提纲第 1 章1. 软件缺陷产生的原因和软件缺陷的定义2. 软件测试的定义,软件测试V 模型、W 模型和 H 模型的特点及优缺点3. 软件测试的分类(1)按照软件测试的生命周期,可以将测试的执行过程划分为:单元测试、集成测试、确认测试、验收测试。Alpha 测试(内部的验收测试) ,Beta测试(用户进行的外部验收测试,但独立于验收测试)(2)按照软件测试技术可以将测试划分为白盒测试、黑盒测试、灰盒测试。白盒测试 (又称结构测试或逻辑驱动测试,主要测试程序的内部结构,设计的依据是设计文档) ,黑盒测试(又称作功能测试或数据驱动测试, 主要测试的系统的功能, 设计的依据是需求规格说明
2、书) ,灰盒测试(介于白盒测试与黑盒测试之间的测试,关注输出对输入的正确性,同时也关注内部表现)(3)其他分类形式(了解)4. 软件测试与软件工程的关系(1)软件测试是软件工程的一部分,不是独立于软件工程的(2)软件测试贯穿于软件开发的全过程,软件开发过程中的所有结果都需要测试,甚至软件测试本身也需要测试第 2 章1. 白盒测试方法可分为两大类:静态测试方法和动态测试方法。静名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 11 页 - - - - - -
3、 - - - 态测试方法不需要执行程序, 而是以一些人工的模拟技术或使用测试软件对软件进行分析和测试; 动态测试方法是设计一系列的测试用例,通过输入预先设定好的数据来动态运行程序,从而达到发现程序错误的目的。2. 逻辑覆盖测试(1)语句覆盖(2)判定覆盖(3)条件覆盖(4)判定条件覆盖(5)组合覆盖(6)路径覆盖知识点说明:理论上,上面6 种覆盖在测试时要达到100%。其中,最弱的覆盖是语句覆盖,最强的覆盖是组合覆盖。若达不到100%的覆盖(如路径覆盖),则需换其他测试技术;每一个逻辑覆盖技术要理解并掌握其定义和使用方法,要分清强弱关系。3. 路径分析测试(1)控制流图。对给定的程序或流程图,
4、要会画控制流图,会计算环形复杂度(要掌握V(G)的 3 个计算公式,并掌握公式中符号代表的内容) 。(2)独立路径测试。理解并掌握独立路径测试步骤和方法,会使用独立路径测试。 特别注意若一个判定中有多个条件,要把这些条件拆开后再画对应的控制流图。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 11 页 - - - - - - - - - (3)Z 路径测试。可以用来测试条件较多或较多循环体的程序,只考虑通过循环体 0次和 1次两种情况。理解并掌握其定义和
5、使用方法。4. 循环测试:要掌握每一种循环的测试方法和测试步骤(1)简单循环的测试。十分重要,其他循环都是在简单循环测试的基础上完成的,要掌握测试方法。(2)嵌套循环的测试。理解并掌握嵌套循环的测试方法(3)串接循环的测试。理解并掌握两种串接循环的测试方法总结:能对循环进行的测试方法和技术有独立路径测试、Z 路径测试、循环测试。5. 静态白盒测试。人工的静态白盒测试主要有代码审查、桌面检查和代码走查。其中,要理解并掌握桌面检查法。6. 白盒测试设计的依据是设计文档,黑盒测试设计的依据是需求文档。7. 静态测试的方法,尤其要掌握桌面检查法,桌面检查表的构成及表中内容填写规则第 3 章1. 等价类
6、划分:划分标准是完备性和无冗余性(1)标准等价类划分(2)健壮等价类划分说明:以上知识点要理解并掌握, 标准和健壮的区别在于是否对无效数据进行测试。2. 边界值分析名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 11 页 - - - - - - - - - (1)标准边界值分析(2)健壮边界值分析说明:以上知识点要理解并掌握, 标准和健壮的区别在于是否对无效数据进行测试。3. 决策表法(1)决策表的 4 个组成部分(2)决策表的使用说明:以上知识点要理解
7、并掌握。 特别注意等价类划分和决策表法的联合使用(例 3.7及练习和实训)4. 因果图法(1)因果图中用到的4 个基本符号和 5 个强制符号(2)因果图法测试的过程说明:以上知识点要理解并掌握,并会使用第 4、5、6 章1.软件测试计划的重要性和包含的内容2.测试过程实施所必备的核心文档是:测试计划、测试用例(大纲)和软件测试报告3. 测试用例。根据不同测试技术、测试要求编写对应的测试用例4. 软件测试过程中,工具测试是软件测试的一个重要组成部分,工具测试可以完成手工测试很难开展或不能开展的测试。但手工测试是最重要也是最有效的,工具测试只能作为辅助,5. 了解常用的白盒测试工具和黑盒测试工具名
8、师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 11 页 - - - - - - - - - 6. JUnit 应用于 Java环境,可以完成单元测试和部分集成测试。要掌握 JUnit 的配置和使用。 Junit 测试框架及 TestCase和 TestSuite的作用; 在使用 Junit进行单元测试时,所有的测试类必须继承于TestCase ,集成测试时测试类必须继承于Testsuite ; setup主要实现测试前的初始化工作,而 teardown则
9、主要实现测试完成后的垃圾回收等工作7.常用的压力测试工具有:LoadRunner、WinRunner、Webload等8.结构化程序单元测试的对象是函数,面向对象单元测试的对象是类(或类中的方法)9.面向对象的集成测试不能使用结构化的集成测试方法,如自顶向下、自底向上等,使用的是如类簇测试等集成测试方法10.面向对象的测试模型分为:面向对象分析的测试(OOA Test) 、面向对象设计的测试( OOD Test) 、面向对象编程的测试(OOP Test) 、面向对象的单元测试(OO Unit Test) 、面向对象的集成测试(OO Integrate Test ) 、面向对象的系统测试(OO
10、System Test ) 。11.面向对象单元测试中,由继承引起的两个问题一定要清晰(教材P113)(1)继承的成员函数是否都不需要测试(2)对父类的测试能否照搬到子类12.面向对象的集成测试、 交互测试与 UML 中交互图(协作图和顺序图)的关系补充知识:灰盒测试、结构化软件测试1. 掌握简单的灰盒测试(功能图法)的过程、方法,灰盒测试的5名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 11 页 - - - - - - - - - 个步骤2. 在功能
11、层次图的基础上理解并掌握结构化单元测试测试,会设计桩模块和驱动模块3. 在功能层次图的基础上理解并掌握结构化集成测试测试,三种方法:自顶向下深度优先、自顶向下广度优先、自底向上补充知识: bugfree 1. bugfree的安装和运行环境2. bugfree的安装和配置3. bugfree系统管理员对应的后台管理(1)用户管理详细内容(2)用户组管理详细内容(3)产品管理详细内容特别注意:若没有给用户所在的用户组分配测试产品,则用户不能登录和使用 bugfree。 同时可以为 case和 bug自行创建自己需要的字段。4. bugfree中 bug的 7 种解决方案5. 测试人员对应的工作任
12、务注意 case 、result、bug 之间的关系及先后顺序(1)case详细内容case的指派、抄送等case执行的 4 个优先级test case的 4 个状态名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 11 页 - - - - - - - - - (2)result 详细内容result中的 4 个执行结果( case的执行结果)result中的 3 个状态result的指派(3)bug 详细内容bug的指派、抄送bug的 4 个严重程度bu
13、g的 4 个优先级bugfree更为详细的内容请参考编号为13 的讲课的记录软件测试学习过程中的理解误区(下面的描述有正确有错误)好的测试在于发现了从未发现的错误,好的测试用例在于发现了从未发现的错误的测试用例;成功的测试在于发现了错误,成功的测试用例在于发现了错误的测试用例(对,用来评价测试和测试用例好坏、成功与否的标准)软件测试独立于软件工程(错,软件测试是软件工程的一部分),软件测试可以保证软件质量(错,软件测试不能保证软件质量,因为软件测试的目的是找缺陷,及时充分的测试也不能找出软件中的所有缺陷)软件测试的目的是找出软件中的缺陷bug(对)软件测试的对象是程序 (错,软件开发中的所有结
14、果都需要测试,包括程序、数据和文档)名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 11 页 - - - - - - - - - 软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。(错,软件测试贯穿软件开的全过程)等价类划分可以在结构化软件和面向对象软件测试中使用(对)灰盒测试介于黑盒测试和白盒测试之间(对)发现错误多的模块,残留在模块中的错误也多(错,模块中的缺陷虽然是个未知数,但是是有限
15、的,不是无限的,因此找出的缺陷越多,剩余的就越少。另外,发现的缺陷越多,说明测试用例设计的好)。若进行了充分的白盒测试, 则不需要黑盒测试和其他测试了 (错,软件测试是一个系统的工程, 是多种测试方法和技术的联合使用)功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。(对)软件测试只能发现错误, 但不能保证测试后的软件没有错误。(对,因为软件中的缺陷数量是个未知数)软件就是程序。(错,软件 =程序+数据+文档)测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。 (错)软件测试只测试系统中的程序、不测试相关文档(错)软件测试过程中,测试开始的越早越好(对)黑盒测
16、试用例设计的依据是软件(程序)结构(错,白盒测试的依据是程序结构,黑盒测试的依据是需求文档)名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 11 页 - - - - - - - - - 软件测试过程中,要避免自己测试自己的程序(对)因果图法可以在结构化软件测试和面向对象软件测试中使用(对,测试技术不区分程序的种类)软件测试过程中, 手工测试测试是最重要的, 也是最有效的(对)软件测试是测试人员的事,与开发人员无关(错)即使通过充分的测试,也不能找出软件(
17、程序)中的所有缺陷(bug)(对,充分的测试可以让程序中的bug 尽可能的少,但不能找出程序中的所有 bug)评价测试用例好坏的依据是能否找到从未找到的缺陷(bug)(对)软件测试过程中,只要一种测试方法(技术)使用充分,整个软件测试过程就是完备充分的,不需要其他测试方法(技术)(错)通过设计的测试用例没有找到程序中bug, 说明被测程序没有bug(错,好的测试用例在于发现了还未曾发现的错误,成功的测试时发现了至今还没有发现的错误)软件产品发布后,针对该软件(程序)的测试也就结束了(错,软件测试贯穿软件的生命周期)执行测试后,若发现软件(程序)的实际输出与预期输出不一致,则说明针对该测试用例软
18、件(程序)存在bug(对)软件开发过程中,只有源程序编写完了才能开始软件测试(错)软件测试就是软件调试(错)黑盒、白盒测试方法可以在结构化软件测试中使用,也可以在面向对象软件测试中使用(对,测试技术的使用不分结构化、面向名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 11 页 - - - - - - - - - 对象程序)灰盒测试中既有白盒测试方法又有黑盒测试方法(对,灰盒测试介于白盒测试和黑盒测试之间)软件测试过程中,工具测试是最重要的,也是最有效的(
19、错,手工测试是最重要也是最有效的)Java程序和 C程序的单元测试对象是相同的(错,面向对象单元测试的对象是类,结构化单元测试的对象是函数)软件测试过程中,测试与开发应该同步进行(对)软件测试过程中,可以自己测试自己的程序(错,应避免自己测试自己的程序,即执行测试和软件开发是不同的群体)软件测试过程中,只要一种测试方法(技术)使用充分,整个软件测试过程就是完备充分的,不需要其他测试方法(技术)(错)通过设计的测试用例没有找到程序中bug, 说明被测程序没有bug(错,没有找到bug 的测试用例不是好的测试用例,也不是好的测试,程序中的bug 是未知数,测试用例找没找到bug 都不能说明程序中没
20、有 bug)软件测试也就是软件调试(错,测试是测试人员的工作,调试是开发人员的工作)面向对象集成测试可以使用自顶向下深度优先的测试策略(错)软件(程序)通过程序员的充分调试,就不需要测试了(错)面向对象软件测试中,若父类已经测试过,则其子类继承过来的方法不需要再次测试了(错)名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 11 页 - - - - - - - - - 只要通过充分的测试, 就能找出软件 (程序)中的所有 bug(错)任何软件(程序)都可以进行穷举测试(错)如果一个软件既要做白盒也要做黑盒,那么应该首先设计黑盒的用例(对,因为要按照软件开发流程设计测试)一段程序中的“路径数”不会超过代码行数(错,两者不具有关联性)尽早发现软件缺陷可降低软件开发的成本(对,因为错误具有累积和放大效应,因此测试开始的越早越好)软件测试发现的bug 都需要修复(错,有些是无效bug,有些无需或不值得修复)名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 11 页 - - - - - - - - -