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