一、知识点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、测试员________不