一、多重选择题(下面的选择题可能有一个或多个正确答案,每题5分,共25分)
1、在软件测试中,下列说法中错误的是(B)
A.测试是为了发现程序中的错误而执行程序的过程
B.测试是为了表明程序是正确的
C.好的测试方案是极可能发现迄今为止尚未发现的错误的方案
D.成功的测试是发现了至今为止尚未发现的错误的测试
2、测试设计员的职责有(BC)
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
3、下列关于alpha测试的描述中正确的是:(AB)
A.alpha测试需要用户代表参加
B.alpha测试是验收测试的一种
C.alpha测试不需要用户代表参加
D.alpha测试是系统测试的一种
4、软件测试计划评审会需要哪些人员参加?(ABCD)
A.项目经理
B.配置负责人
C.测试组
D.SQA负责人
5、下面关于软件测试,哪些说法是正确的(ACD)
A.Beta测试是验收测试的一种
B.验收测试是由最终用户来实施的
C.单元测试能发现约80%的软件缺陷
D.软件测试的目的是尽可能多的找出软件的缺陷
二、判断题(每题5分,共25分)
1、测试是为了验证软件已正确地实现了用户的要求(X)
2、在软件开发过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低(X)
3、黑盒测试的测试用例是根据程序内部逻辑设计的(X)
4、白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求(X)
5、为了快速完成集成测试,采用一次性集成方式是适宜的(X)
三、简答及论述题(每题10分,共50分)
1、什么是软件测试?软件测试与调试有什么区别?
软件测试就是为了保证软件质量,为了发现程序的错误而执行程序的过程;
测试是发现程序错误;调试是发现并修改错误。
2、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
3、您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。
jira。bugzilla。提交-》确认-》分配-》修改-》验证-》关闭。
4、测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
5、WinRunner的工作流程大致可以分为哪几个步骤,并简要描述各步骤的主要工作。
大体分为6个步骤:
1).识别应用程序的GUI
在WinRunner中,我们可以使用GUISpy来识别各种GUI对象,识别后,WinRunner会将其存储到GUIMapFile中。它提供两种GUIMapFile模式:GlobalGUIMapFile和GUIMapFileperTest。其最大区别是后者对每个测试脚本产生一个GUI文件,它能自动建立、存储、加载,推荐初学者选用这种模式。但是,这种模式不易于描述对象的改变,其效率比较低,因此对于一个有经验的测试人员来说前者不失为一种更好的选择,它只产生一个共享的GUI文件,这使得测试脚本更容易维护,且效率更高。
2).建立测试脚本
在建立测试脚本时,一般先进行录制,然后在录制形成的脚本中手工加入需要的TSL(与C语言类似的测试脚本语言)。录制脚本有两种模式:ContextSensitive和Analog,选择依据主要在于是否对鼠标轨迹进行模拟,在需要回放时一般选用Analog。在录制过程中这两种模式可以通过F2键相互切换。
只要看看现代软件的规模和功能点数就可以明白,功能测试早已跨越了单靠手工敲敲键盘、点点鼠标就可以完成的阶段。而性能测试则是控制系统性能的有效手段,在软件的能力验证、能力规划、性能调优、缺陷修复等方面都发挥着重要作用。
3).对测试脚本除错(debug)
在WinRunner中有专门一个DebugTOOlbar用于测试脚本除错。可以使用step、pause、breakpoint等来控制和跟踪测试脚本和查看各种变量值。
4).在新版应用程序执行测试脚本
当应用程序有新版本发布时,我们会对应用程序的各种功能包括新增功能进行测试,这时当然不可能再来重新录制和编写所有的测试脚本。我们可以使用已有的脚本,批量运行这些测试脚本测试旧的功能点是否正常工作。可以使用一个call命令来加载各测试脚本。还可在call命令中加各种TSL脚本来增加批量能力。
5).分析测试结果
分析测试结果在整个测试过程中最重要,通过分析可以发现应用程序的各种功能性缺陷。当运行完某个测试脚本后,会产生一个测试报告,从这个测试报告中我们能发现应用程序的功能性缺陷,能看到实际结果和期望结果之间的差异,以及在测试过程中产生的各类对话框等。
6).回报缺陷(defect)
在分析完测试报告后,按照测试流程要回报应用程序的各种缺陷,然后将这些缺陷发给指定人,以便进行修改和维护。————————————————
7、在测试生命周期,测试过程分为几个阶段,以及各个阶段的含义?
软件测试生命周期一般包括6个阶段:1)计划2)分析,3)设计,4)构建,5)测试周期,6)最后测试和实施,
1)计划:产品定义阶段
2)分析:外部文档阶段
3)设计文档架构阶段
4).构建:单元测试阶段
5)测试周期:错误修正,重复系统测试阶段
6).最后的测试和实施:代码冻结阶段。
8、区别阶段评审与同行评审
9、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么?
需要。经验表明,通常在进行单元测试时采用白盒测试方法,集成测试采用灰盒测试方法,系统测试采用黑盒测试方法。
10、测试结束的标准是什么?
用例全部测试。覆盖率达到标准。缺陷率达到标准。其他指标达到质量标准。
11、软件测试与软件质量保证的区别。
12、测试用例都包括那些内容?
项目名称,软件版本,测试环境,设计人,最新更新日期、序号,模块,子模块,用例分类,用例标题,前提条件,操作步骤(输入值),期望结果,实际结果,备注,更新日期,用例级别,评审人
13、一个缺陷测试报告的组成
1、缺陷编号(DefectID)、2、缺陷标题(summary)、3、缺陷的发现者(DetectedBy)、4、发现缺陷的日期(Detectedondate)、5、缺陷所属的模块(subject)、6、发现缺陷版本(Detectedinrelease)、7、指派给谁处理(Assignedto)、8、缺陷的状态(status)、9、缺陷的严重程度(severity)、10、缺陷的优先级(priority)、11、缺陷描述(description)、
14、一个测试工程师应具备那些素质和技能?
必备素质:正确高效的沟通能力;超强责任心;坚持原则;团队合作精神;耐心,细心,信心;
必备技能:测试专业技能;软件编程技能;网络、操作系统、数据库、中间件等