软件测试考试复习含测试试题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试考试复习资料
题型
一、名词解释(30分,10个小题)
二、简答题(30分,6个小题)
三、论述题(40分,2个小题)
重点内容
1.软件测试的概念
软件测试被定义为:“使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。”
2.软件测试目的
软件测试的目的是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。测试可以达到很多目的,但最重要的是可以衡量正在开发的软件的质量。
3. 软件测试的原则(写4到5个即可)
软件测试应力求遵循以下几条原则:
(1)所有的测试都应追溯到用户需求
(2)应尽早地和不断地进行软件测试。
(3)在有限的时间和资源下进行完全测试找出软件所有的错误和缺陷是不可能的,软件测试
不能无限进行下去,应适时终止
(4)测试只能证明软件存在错误而不能证明软件没有错误,测试无法显示潜在的错误和缺
陷,继续进一步测试可能还会找到其他错误和缺陷。
(5)充分关注测试中的集群现象。在测试的程序段中,若发现的错误数目多,则残存在其中
的错误数目也比较多,因此应当花较多的时间和代价测试那些具有更多错误数目的程序模块。
(6)程序员应避免检查自己的程序。考虑到人们的心理因素,自己揭露自己程序中的错误是
件不愉快的事,自己不愿意否认自己的工作;另一方面,由于思维定势,自己难以发现自己的错误。
(7) 尽量避免测试的随意性。软件测试是有组织、有计划、有步骤的活动,制订严格的测试计划,要严格按照测试计划进行,要避免测试的随意性。并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
(8)设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。
(9)对测试错误结果一定要有一个确认的过程,一般由A测试出来的错误,一定要有一个B 来确认,严重的错误可以召开评审会进行讨论和分析。
(10)回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现
的现象并不少见。
(11)妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。
(12)为了发现更多的错误让系统更完善,设计测试用例时不但要选择合理的输入数据作为测试用例,而且要选择不合理的输入数据作为测试用例,使得系统能应付各种情况。
(13)测试过程不但要求软件开发人员参与,而且一般要求有专门的测试人员进行测试,并且还要求用户参与,特别是验收测试阶段,用户是主要的参与者。
α测试:是指软件开发公司组织内部人员模拟各类用户行为对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。
β测试:是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出批评意见。然后软件开发公司再对β版本进行改错和完善。
4. 软件测试的基本步骤
软件测试是一个极为复杂的过程。一个规范化的软件测试过程通常包括以下基本的测试过程:
⏹拟订软件测试计划
⏹编制软件测试大纲
⏹确定软件测试环境
⏹设计和生成测试用例
⏹实施测试
⏹生成软件测试报告
5. 软件测试与调试的区别
简单地说测试是为了发现问题,调试是解决问题。具体来看,有如下区别:
(1).测试的目的是找出存在的错误,尽可能地发现软件中隐藏的bug;而调试的目的是定位错误,找到软件的bug的确切位置,找出错误的原因并修改程序以修正错误。测试活动中发现的缺陷需要通过调试来进行定位,两者在目标、方法和思路上有所不同。
(2).调试是编码阶段和缺陷修复阶段的活动,测试活动则可以贯穿整个软件的生命周期。
(3).测试是从已知的条件开始,使用预先定义的过程和步骤,有预知的结果,软件测试能确切地知道软件要去往何方;调试从未知的条件开始,结束时间无法预计,不知道软件是否真正地被修复。
(4).测试过程可以事先设计,可以预先制订测试用例和过程,工作进度可以度量。调试过程无法描述过程和持续时间。
(5).测试过程是可重复的,调试的过程是随机的、不可重复的。
(6).测试的对象可以是文档和代码,而调试的对象只能是代码。
(7).调试是随机性的,由程序员自己完成,为了程序可运行;测试是有目的性的,由测试人员(非设计人员)完成,为了程序可完成指定功能。
6. 黑盒测试的概念
黑盒测试(Black-box Testing)又称为功能测试或数据驱动测试,是把测试对象看做一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
(1).等价类划分法
等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
(2).边界值分析法
(3).错误推测法
(4).因果图方法
(5)判定表驱动分析方法
(6)正交实验设计方法
(7)功能图分析方法和综合策略等。
8.黑盒测试的优缺点
(1)黑盒测试的优点
●对比较大的代码单元来说,黑盒测试
比白盒测试效率要高。
●测试人员不需要了解实现的细节,包
括特定的编程语言。
●测试人员和编码人员是彼此独立的;
●从用户的视角进行测试,很容易被理
解和接受。
●有助于暴露任何规格不一致或者有歧
义的问题。
●测试用力可以在规格完成之后马上执
行。
(2)黑盒测试的缺点
●结果取决于测试用例的设计,测试用例的设计部分来源于经验。
●没有状态转换的概念,目前一些成功的例子还做不到针对被测试程序的状态转
换。
●就没有状态概念的测试来说,寻找和确定造成程序停止的测试用例是很麻烦的事
情,必须把周围可能的测试用例单独确认一遍。而就有状态的测试来说,就更麻
烦了,尤其不是一个单独的测试用例造成的问题。
●只有一小部分可能的输入被测试到,要测试每个可能的输入流几乎是不可能的。
●没有清晰的和简明的规格,测试用例是很难设计的。
●如果测试人员不被告知开发人员已经执行过的用例,在测试数据上会存在不必要
的重复。
●会有很多程序路径没有被测试到。
●不能直接针对特定程序段测试,该程序段可能隐藏更多错误。
9.白盒测试的概念
白盒测试把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。