软件测试复习内容.docx
《软件测试复习内容.docx》由会员分享,可在线阅读,更多相关《软件测试复习内容.docx(21页珍藏版)》请在冰点文库上搜索。
![软件测试复习内容.docx](https://file1.bingdoc.com/fileroot1/2023-6/5/ea7b3783-e77c-4b6c-9029-66f7b3d0ad01/ea7b3783-e77c-4b6c-9029-66f7b3d0ad011.gif)
软件测试复习内容
一、知识点:
分数
评卷人
1.对软件开发来说,何时发现软件缺陷的意义是:
发现得越完,修复的代价越大,而且代价随时间增长是指数增加的.
2.软件测试员的工作目标是尽可能早地发现软件缺陷并确保它得到修复。
3.下面算软件缺陷的是
(1).软件没有实现说明书要求的功能:
是
(2).软件实现了说明书没有提到的功能:
是。
(3)软件太大,占据硬盘空间太多:
否(4).软件出现了说明书中指明不应该的错误:
是。
4.软件缺陷的“杀虫剂”怪现象是指软件缺陷对特定的测试用例或者测试技术免疫,无法被查到;
5.如果测试中遇到了杀虫剂怪现象的,解决的办法是使用新技术重新测试,或者交给别人测试;
6.软件测试是有风险的,现实中不论测试员如何努力测试,总可能有缺陷未被发现,等价的说法:
软件测试不可能找出所有的缺陷;没有缺陷的完美软件是不存在的;
7.计算机时间格式中的“千年虫”是一种软件缺陷。
8.软件缺陷通常成群出现,意味着在某部分发现的软件缺陷越多,通常说明还有更多的缺陷未发现,反过来也是对的。
如果在某个部分发现的缺陷很少或者没有,说明这一部分可能确实缺陷很少。
9.关于现实中产品的质量和可靠性的关系:
两者不一定是一致的,存在质量高但是可靠性不高或者可靠性高质量不高的产品。
10.测试工作的目标是完全测试一个软件,尽可能找出所有缺陷吗?
答:
不是,完全测试一个软件一般是不可能的。
11.关于状态测试和状态之间的转换测试,访问了所有状态也不意味着遍历了所有状态之间的转换,不仅要测试所有的可达状态,而且要测试状态之间的转换;
12.测试用例的等价划分目的是减少测试用例的数目,缩减测试工作量。
13.数据测试和状态测试之间的关系,下列说法正确的是数据测试和状态测试都必须做,两者是互相独立的。
14.状态转换图的三个要素的是
(1).软件可能处于的状态
(2)从一个状态转到另一个状态所需的输入和条件(3)当进入和退出状态时产生的条件、变量和输出
15.关于黑盒测试的数据测试,那些是等价划分要考虑的。
(1)边界/次边界条件
(2)非法、错误的数值(3)空值、无效数值
16.关于标准和规范,
(1).标准是强制的,规范是建议的(非强制的);
(2)标准和规范都对软件开发中一些需要遵守的规则;(3)原则上软件开发中标准和规范都要遵守,在确实无法保证的情况下可以不遵守规范,但不能违反标准。
17.关于通过性测试和失效性测试,
(1)通过性测试是确认软件能否在正常情况下完成预定的任务;
(2)失效性测试是努力使软件失败或者工作不正常,希望在极端情况下暴露软件缺陷;(3)总是先做通过性测试,再做失效性测试;(4)通过性测试和失效性测试都必须做。
18.如果规定程序中不允许使用goto语句,这是标准
19正式审查(静态白盒测试)分为三种:
同事审查、走查、检验;最完善最严格的是检验
20.动态白盒测试和调试的关系是在隔离缺陷的位置和原因上有交叉,但是目的不同,前者是为了发现软件缺陷,后者是为了修复缺陷。
21.白盒测试的三种代码覆盖是分支覆盖、语句覆盖、条件覆盖,其中,条件覆盖是最好最全面的。
22.单元测试和集成测试之间的关系,正确的是,单元测试和集成测试都必须做,先做单元测试,再做集成测试;
23.测试驱动用于自底向上的测试,它是由自己替换高层模块,来运行和测试低层的代码;
24.测试桩用于自顶向下的测试,它是由自己替换低层模块,来运行和测试高层的代码;
25.如果开发小组规定,变量名必须用长度不超过8的小写英文字符串来表示,这是标准(因为是强制的)。
26.关于黑盒测试和白盒测试的区别:
(1)黑盒测试是看不到软件的内部构造和源代码,测试软件在给定输入下的行为;
(2)白盒测试可以查看软件的内部构造和源代码,从而帮助确定测试用例;(3)白盒测试的功能比黑盒测试更强,(4)但是不能说做了白盒测试的话就可以不做黑盒测试了,两种测试都必须做(5)白盒测试因为要求读懂源代码,因此对测试员的要求比较高。
27.在某些显卡上工作颜色失真(配置缺陷)和其它软件交换数据不正常(兼容性缺陷)软件按钮排布混乱,难以操作(易用性缺陷)
28.(配置缺陷)软件在某种计算机硬件上不能正常工作;
(配置缺陷)软件与某种打印机冲突,无法正常打印;
(兼容性缺陷)软件与另一个软件交换数据出错;
29.特别测试的特点,
(1)没有组织性,无法重复,也无法跟踪,完成后也无法证实曾经做过测试;
(2)不能取代常规的测试。
(3)不是每一个测试员必备的技术,有最好,没有也无所谓;(4).不是软件测试工作必须做的。
30.测试共享和缺陷轰炸都意味着两个及以上测试员来测试软件同一区域或者特性;
31.灰盒测试是介于介于黑盒测试和白盒测试之间的一种测试技术。
32.软件的易用性通常很难精确定义,现实中,可以采取替代方案:
如果软件工作的平台上有相关的标准和规范,则遵照它们的规定;
33.随机测试的特点:
(1)通常借助随机测试工具来实现;
(2)非常重要,不是可有可无的;(3)但是它不能取代其他测试,只做随机测试而不做常规测试是不行的。
34.关于自动化测试:
(1).可以大大提高测试工作的效率;
(2).可以完成某些手工很难或者无法做的测试工作;(3)相对手工测试,自动化测试工具工作更精确、错误率更低,而且不会懈怠和疏忽。
(4)软件测试工作不能仅仅由自动化测试工具来完成,它不能取代测试员。
35.关于测试计划,
(1)必须制定计划。
(2)计划不是一经制定,必须严格执行,决不能违背的,而是可以根据情况修改;(3)制定进度计划不能制定固定日期,是相对日期。
(4)定义软件的质量和可靠性目标是测试计划的重要部分。
36.导致软件无法启动的缺陷应当属于严重性1级、优先级1级;
37.关于软件缺陷的修复
(1)由于各种原因,被发现的软件缺陷是可能不予修复的;
(2)软件缺陷是否修复通常由专门的小组(审查委员会,高层)来决定,测试员无权擅自决定;(3)不予修复的软件缺陷可能被完全忽略,也可能被推迟到后续版本中修复。
38.如果程序员宣称已经修复了软件缺陷,测试员应该对该缺陷做回归测试,根据测试结果确定该缺陷是关闭还是重新打开。
39.关于软件质量保证和软件测试之间的关系,正确的是测试团队不负责保证质量,质量保证人员才负责保证质量。
40.在软件某部分发现软件缺陷越多,通常意味着还有更多的缺陷未发现
41.对于模拟飞行或者模拟赛车之类的游戏软件,准确度更重要。
42.能不能对一个软件进行完全测试,确认没有任何缺陷存在?
答:
不能,完全测试需要太多的输入、输出和分支组合,工作量太大以至不可能完成;
43.威胁模型分析是一个由整个项目小组执行的正式过程。
44.软件存在未授权用户可以侵入的安全漏洞,它应该被看作软件缺陷.(安全问题都是软件缺陷,而且一般都是严重的缺陷)
45.关于配置测试,
(1)一般情况下,都做配置测试,因为软件在某些硬件平台出现配置缺陷是常见的事情;
(2)有配置缺陷的产品仍然可以发布,如果软件仅在很少见的硬件上发生缺陷;保证软件产品在所有的硬件上都没有任何缺陷是不可能的。
46.测试中提到的所谓的“猴子”做的测试,指的是随机测试。
47.由于时间紧张,项目经理决定不做内部测试,直接交给用户作beta测试,该做法是错误的,beta测试不能取代正规的内部测试。
48.关于beta测试,
(1)是把尚未发布的软件送给潜在的客户,请他们使用,帮助寻找缺陷;
(2)找出除了易用性、兼容性和配置缺陷之外的软件缺陷的能力很差;(3)非常重要,绝不是可有可无的;(3)通常未经过beta测试的软件是不可靠的,不能正式发布的。
49.关于测试计划,
(1)测试计划最终一定要形成一个书面的文档,但是这个文档并不重要,重要的是制定计划的过程;
(2)测试计划不需要也不能制定测试进度的固定时间表,确定测试阶段何时开始,何时结束,只能相对的时间表;(3)C.一个测试阶段结束,另一个测试阶段开始要有明确的进入和退出规则;(4)D.制定测试计划不只是测试小组内部的事情,而是整个团队所有人员包括开发小组和项目经理都要参与。
50.关于软件缺陷的修复,
(1).软件缺陷一经发现,必须修复,否则产品不能发布(错误);
(2).测试员可以决定不修复软件缺陷(错误);(3)程序员可以拒绝修复软件缺陷,直接通知测试员该缺陷取消(错误);(4)被发现的软件缺陷是可能不予修复的,通常这由项目经理或者更高层决定(正确)。
51.关于软件质量和软件测试之间的关系:
测试小组不负责保证质量,QA工程师(质量保证人员)才负责保证质量
52.如果测试工作中每天发现的软件缺陷数目持续明显下降至很少,通常说明:
测试工作临近结束
53.完全测试软件,确保它没有任何缺陷一般是不可能的。
54.哪一种缺陷容易被beta测试所发现的缺陷
(1)配置缺陷
(2)兼容性缺陷(3)易用性缺陷。
55.软件文档需要测试吗:
需要
57.测试文档分为几种:
测试计划;测试设计说明;测试用例说明;测试过程说明(或者测试程序)
59.除了文本之外,还有几种表示测试用例的方法:
表格、真值表、列表和示意图,或者任何能有效表示测试用例的方式。
60.列举几种不修复软件缺陷的原因:
进度中没有安排足够的时间;不是软件缺陷;修复风险太大,不值得;软件缺陷没有正确报告。
填空题:
1.没有产品说明书和需求文档的情况下____能________做黑盒测试。
(填“能”或者“不能”)
2.软件如果存在非授权用户可以侵入的安全漏洞,则它_____是__________一个缺陷。
(填“是”或者“不是”或者“可能是”)
3.团队中的_____测试员_______________有权打开软件缺陷。
(填“程序员”或者“测试员”。
)
4.软件测试员的目标是_尽可能早地发现软件缺陷并确保其得到修复。
5.完全测试软件,确保它没有任何缺陷一般是___不可能__________(填“可能”或者“不可能”)。
6.如果开发小组规定,变量名必须用长度不超过8的小写英文字符串来表示,这是_____标准__________。
(填“标准”或者“规范”)
7.导致软件无法启动的缺陷应当属于严重性___________1__________级。
8.当测试员发现软件缺陷并且汇报时,软件缺陷进入_____打开___________状态;当程序员修复了缺陷之后,软件缺陷转入______解决_________________状态;当测试员最终确定软件缺陷已经不复存在,软件缺陷进入______关闭__________________状态。
.
9.软件存在未授权用户可以侵入的安全漏洞,它____应该_________被看作软件缺陷?
(“应该”或者“不应该”或者”不一定”)
10.软件界面上按钮不美观的缺陷应当属于严重性___4__________________级,紧迫性_________4_____级。
11.如果程序员宣称已经修复了软件缺陷,测试员应该__做回归测试,确定缺陷是否真的已不存在__________。
12.特别测试不可以替代常规的测试。
(填“可以”或者“不可以”)
13.测试软件能否在不同的硬件上正常工作叫做_____配置__________________测试。
14.软件的错误提示信息用户很难理解是一种软件缺陷。
(填“是”或者“不是”)
15.通过性测试和失效性测试应当先做哪一个?
______通过性_______________________。
16.现实中产品的质量和可靠性并不一定是一致的,请举出一个实例来说明这一点_____赛车,质量很高,但是可靠性很差。
____________________________。
17.测试软件能否与其他软件正确交换数据属于____兼容性______________测试。
18.软件文档_______需要_________________做测试(“需要”或者“不需要”)。
19.缺陷轰炸是指___一段时间内,多个测试员集中测试一个区域或者特性_______。
20.对用户界面的测试属于_____易用性______________________________测试。
21、对于测试计划来说,最终生成详细的、书面的文档是____非必需的_______________(“必需”或者“非必需的”)。
22、测试员________不能___________________保证软件质量。
(“能”或者“不能”)
23.标准和规范哪一个是强制的?
_______标准_____________________。
24.软件的本地化___不仅仅是_______________翻译。
(“等同于”或者“不仅仅是”)
25、自动化测试工具________不能___________________取代测试员。
(“能”或者“不能”)
36.特别测试不可以替代常规的测试。
(填“可以”或者“不可以”)
27.查看软件说明书,寻找缺陷是_____静态黑盒________________测试;运行软件,在给定输入下,看看能否得到正确输出是_____动态黑盒__________测试;察看软件的源代码,找出缺陷是___静态白盒___________________;察看源代码,据此设计测试用例,执行测试用例是_____动态白盒_________________。
28.软件的错误提示信息用户很难理解是一种软件缺陷。
(填“是”或者“不是”)
29.如果测试中一段时间里每天发现的软件缺陷的数目基本上保持不变,则说明此时测试工作____还不能结束______________(“临近结束”、“刚刚开始”或者“还不能结束”)。
30.测试软件能否打开它的以前版本的文件属于_______兼容性_______________测试。
31.软件缺陷一旦被发现,_____不一定_______________修复。
(“必须”或者“不一定”).
32.Beta测试_______不是______________可有可无的(填“是”或者“不是”)。
33.对测试用例做等价划分的目的是_____缩减__________________测试用例集合。
(填“扩充”或者“缩减”)
21.测试中提到的所谓的“猴子”做的测试,指的是_______随机_________________测试。
22.软件缺陷发现越晚,其修复的代价______越大___________(“越大”或者“越小”)。
23.用于自底向上的测试,由自己替换高层模块,来运行和测试低层的代码的测试程序叫做_______测试驱动____________________;用于自顶向下的测试,由自己替换低层模块,来运行和测试高层的代码的程序叫做___________测试桩________________________。
24.软件缺陷总是成群出现,意味着如果你在某个部分已经发现了很多软件缺陷,那么这个部分还有_____很多____________________没有发现的缺陷。
(“很多”或者“很少”)。
25.没有计划,仅凭测试员坐在电脑前自由探索以找到缺陷,这种测试方法叫做___特别__________测试。
26.软件在某些操作系统平台上不能工作属于_____兼容性_________________缺陷。
27.在没有产品说明书和需求文档的情况下____可以__________________进行动态黑盒测试。
(填“可以”或者“不可以”)。
28.软件的不同版本之间的兼容性包括两种类型:
_____向前_________________兼容性和_________向后___________________兼容性。
29.访问了软件的全部状态______不能________________保证遍历了所有状态之间的转换(填“能”或者“不能”)。
30.一段时间内,多个测试员集中测试一个区域或者特性叫做__缺陷轰炸________。
33.质量__________是______________________免费的(填“是”或者“不是”)。
简答练习:
1、软件缺陷的定义是什么?
答:
软件未实现产品说明书要求的功能(1分);软件出现了产品说明书指明不应该出现的错误(1分);软件实现了产品说明书未提及的功能(1分);软件未实现产品说明书虽未明确提及的,但是应该实现的目标(1分);软件难以理解、不易使用、运行缓慢或者----从测试员的角度来看-----最终用户会认为不好(1分)。
2、请将下列术语与它对应的正确解释连起来。
动态黑盒测试察看软件的源代码,找出缺陷
静态黑盒测试运行软件,在给定输入下,看看能否得到正确输出
动态白盒测试察看源代码,据此设计测试用例,执行测试用例
静态白盒测试检查说明书,看看有没有问题
答:
动态黑盒测试察看软件的源代码,找出缺陷(1分)
静态黑盒测试运行软件,在给定输入下,看看能否得到正确输出(1分)
动态白盒测试察看源代码,据此设计测试用例,执行测试用例(1分)
静态白盒测试检查说明书,看看有没有问题(1分)
3、测试团队的管理和组织结构有哪几种类型?
答:
有三种组织模式:
第一种,测试团队向开发经理汇报(1分);第二种,测试团队向项目经理汇报(2分);第三种,测试团队是独立于项目的,向高级经理汇报(2分)。
4、什么是通过性测试?
什么是失效性测试?
在软件测试工作中应当先做哪一种?
通过性测试是确认软件至少能做什么,而不会考验其能力,软件测试员不需要想尽办法来使软件崩溃,仅仅运用最简单、最直观的测试用例(2分);失效性测试是确信软件能够正确运行之后,采用各种方法来搞垮软件,使其崩溃(2分)。
测试时应当先做通过性测试。
(1分)
5、按照测试的对象,动态黑盒测试分为哪几种?
动态白盒的代码覆盖测试分为哪几种?
答:
动态黑盒测试分为数据测试(1分)和状态测试(1分)两类;白盒测试的代码覆盖分为语句覆盖(1分)、分支覆盖(1分)和条件覆盖(1分)。
6、软件质量保证人员的职责是什么?
他们和测试员有什么区别?
、答:
软件质量保证人员的职责是检查和评估当前软件的开发过程,找出改进过程的方法,以达到防止软件缺陷出现的目标(3分)。
质量保证人员和测试人员的区别是:
第一,质量保证人员有权干预软件开发过程,有权要求开发人员按照他的建议改进开发过程,而测试人员没有这个权力(1分);第二,质量保证人员负责保证软件的质量,而测试人员不负责保证软件的质量(1分)。
7、关于黑盒测试的数据测试,做等价划分时要重点考虑哪些数据?
答:
需要注意:
第一,边界条件和次边界条件(2分);第二,默认、空白、空值、零值和无(2分);第三,非法、错误、不正确和垃圾数据(1分)。
8、质量是免费的吗?
请说明理由。
答:
质量是免费的(2分)。
产品的费用包括了一致性费用和不一致性费用,生产高质量的产品在前期可能带来较多的一致性费用,但是质量低劣的产品会带来后期巨大的不一致性费用,从而可能总的费用远远高于高质量的产品。
所以,生产高质量的产品的费用并不比生产低质量产品多(通常可能更少)(3分)。
9、什么是单元测试?
什么是集成测试?
两者应当先做哪一个?
答:
在底层进行的测试叫做单元测试,它测试基本模块(2分);单元经过测试,底层软件缺陷找出来并修复之后,集成在一起,对模块的组合进行测试叫做集成测试(2分)。
先做单元测试,再做集成测试(1分)。
10、什么是测试桩?
什么是测试驱动?
两者的区别是什么?
答:
测试驱动:
自底而上的递增测试,编写称为测试驱动的模块调用正在被测试的模块,测试驱动以和将来真正模块同样的方式挂接,向被测试模块发送测试用例数据,接受返回结果,验证结果是否正确(2分)。
测试桩:
自顶而下的递增测试,编写称为测试桩的模块,替换底层模块,充当被测试模块的接口,向被测试模块发送数据(2分)。
测试驱动和测试桩的区别是:
两者替换的部分不同,前者替换被测试模块的高层模块(来调用被测试模块),后者替换被测试模块的底层模块(被被测试模块调用)(1分)。
11、什么是杀虫剂怪事?
如果测试中遇到该如何处理?
答:
杀虫剂怪事是指软件测试越多,它对测试的免疫力越强,无法被发现(3分)。
测试员必须编写不同的、新的测试程序,使用新的测试技术来测试(2分)。
12、软件缺陷的生命周期中的三种基本状态和两种扩展状态分别是什么?
答:
基本状态:
打开(1分)、解决(1分)、关闭(1分);扩展状态:
审查(1分)、推迟(1分)。
13、什么是灰盒测试?
它与白盒测试和黑盒测试的区别是什么?
答:
灰盒测试介于黑盒测试和白盒测试之间,它将黑盒测试和白盒测试的界限打乱,测试时,仍然将软件视为黑盒子,但是通过简单查看软件内部的工作机制作为补充(3分)。
灰盒测试不能够向白盒测试那样完整地看到源代码,也不象黑盒测试那样对软件的工作原理和机制一无所知(2分),它能够看到部分软件的源代码以及了解软件的基本工作原理。
14、请列举并简单介绍软件测试的四种基本技术。
答:
静态黑盒测试:
检查说明书,看看有没有问题(1分)
动态黑盒测试:
运行软件,在给定输入下,看看能否得到正确输出(1分)
静态白盒测试:
察看软件的源代码,找出缺陷(1分)
动态白盒测试:
察看源代码,据此设计测试用例,执行测试用例(1分)
答出四种测试的名字就可以得4分;答对解释再得1分,否则不得分。
15、所谓的测试“猴子”做的测试是指哪一种测试?
它分为几种类型?
答:
指随机测试。
(2分)测试猴子分为三种:
笨拙的猴子(1分)、半聪明的猴子(1分)、聪明的猴子(1分)。
、
16、什么是确认?
什么是验证?
两者是不是等价的?
答:
确认是保证软件符合产品说明书的过程(2分);验证是保证软件满足用户要求的过程(2分)。
两者不等价,通过确认过程的产品不一定能通过验证(1分)。
17、什么是向前兼容?
什么是向后兼容?
举出1~2个例子。
答:
向后兼容是指可以使用软件的以前版本,即现版本的文档可以在以前旧版本的软件下工作(2分);向前兼容是指可以使用软件的未来版本,即现版本的文档可以在未来新版本的软件下工作(2分)。
例如Windows的记事本文档(Notepad98版本),可以向后兼容到DOS1.0,向前兼容到WindowsXPservicepack2.(1分)。
18、软件缺陷的生命周期的有哪三种基本状态?
它们之间如何转换?
答:
打开(1分)、解决(1分)、关闭(1分)。
测试员发现缺陷并公开,软件缺陷变成打开状态;程序员修复之后,转入解决状态;测试员做回归测试,确认缺陷已修复,进入关闭状态(2分)。
19、白盒测试的代码覆盖分为几种?
哪一种最全面?
答:
分为语句覆盖(1分)、分支覆盖(1分)、条件覆盖(1分)。
其中条件覆盖最全面(2分)。
20、请列举软件开发生命周期的主要模式。
答:
大爆炸(1分)、边写边改(1分)、瀑布(1分)、螺旋(1分)、敏捷(1分)
21、测试计划分为哪三个等级?
。
答:
测试设计说明(1分)、测试用例说明(2分)、测试过程说明(2分)
22、测试用例计划的四个理由是什么?
答:
组织性、重复性、跟踪和测试证实。
(前三条每一条1分,最后一条2分)
23、给出几个理由说明为什么软件说明书往往是软件制造中缺陷最大的来源。
答:
产品说明书常常没有写——说不出来就肯定做不出来(1分);产品说明书虽然有,但是不完整,不停更改(2分),或者产品说明书没有和开发小组沟通过,取得大家一致的认可(3分)。
应用练习:
1、请介绍测试一个软件的全过程包括哪几个步骤?
每一步如何来做?
。
答:
第一步:
制定测试计划(20%);第二步:
建立测试用例集合(20%);第三