问题集
一、判断正误题
1、测试是证明软件正确的方法。(×)
2、测试中应该对有效和无效、期望和不期望的输入都要测试。(√)
3、对于连锁型分支结构,若有n个判定语句,则有2n条路径。(√)
4、GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。(√)
5、黑盒测试也称为结构测试。(×)
6、测试是调试的一个部分 (×)
7、程序中隐藏错误的概率与其已发现的错误数成正比(√)
8、测试的目的是发现软件中的错误。(√)
二、不定项选择题
1、下面的哪一项测试步骤中需要进行局部数据结构测试: ( A )
A、单元测试
B、集成测试
C、确认测试
D、系统测试
2、从是否需要执行被测软件的角度,软件测试技术可划分的类型是:( AC )。
A、静态测试
B、黑盒测试
C、动态测试
D、白盒测试
3、从测试阶段角度,测试结束的正确顺序是:( B )
A、单元测试、集成测试、系统测试、确认测试
B、单元测试、系统测试、集成测试、确认测试
C、确认测试、集成测试、系统测试、单元测试
D、确认测试、系统测试、集成测试、单元测试
4、软件的六大质量特性包括: ( A )          功能可用可靠 效率可维护可移植
A、功能性、可靠性、可用性、效率、可维护、可移植
B、功能性、可靠性、可用性、效率、稳定性、可移植
C、功能性、可靠性、可扩展性、效率、稳定性、可移植
D、功能性、可靠性、兼容性、效率、稳定性、可移植
5、在GB/T17544中,软件包质量要求包括三部分,即产品描述要求、( A )、程 序和数据要求。
A、用户文档要求
B、系统功能要求
C、设计要求说明
D、软件配置要求
6、(      )可以作为软件测试结束的标志。
A、使用了特定的测试用例
B、错误强度曲线下降到预定的水平
C、查出了预定数目的错误
D、按照测试计划中所规定的时间进行了测试
7、导致软件缺陷的原因有很多,A—D是可能的原因,其中最主要的原因包括( ABCD )。
A、软件需求说明书编写的不全面,不完整,不准确,而且经常更改
B、软件设计说明书
C、软件操作人员的水平
D、开发人员不能很好的理解需求说明书和沟通不足
三、名词解释
1、Beta测试:Beta测试是从用户角度进行的测试,是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。它是在开发者无法控制的软件
环境下进行的软件现场应用。
2、负载测试:负载测试是一个通过分析软件应用程序和支撑架构,模拟真实环境的使用,来确定能够接受的性能的过程。
3、软件测试活动生命周期:是指软件从进入测试到退出测试的过程中,所要经历的引入程序错误、通过测试发现错误和清除程序错误的几个阶段。
4、改进的三明治集成:利用较高的并行度弥补三明治集成中不能充分测试中间层的缺点。但根据中间层选择是否恰当,可能增加驱动模块和桩模块设计的工作量。
5、驱动模块相当于所测模块的主程序。它接收测试数据,把这些数据传送给所测模块,最后再输出实际测试结果。
四、简答题
1、软件的缺陷等级应如何划分?
致命的:致命的错误,造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能完全丧失等。
严重的:严重错误,指功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明。
一般的:不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用,但没有很好地实现功能,没有达到预期效果。如次要功能丧失,提示信息不太准确,或用户界面差,操作时间长等。
微小的:一些小问题,对功能几乎没有影响,产品及属性仍可使用,如有个别错别字、文字排列不整齐等。
2、阶段评审与同行评审。
同行评审是一种重要而有效的工程方法,在软件产品工程中调用此方法,可通过法根式审查、结构化走查或者一些其他的学院式的评审方法加以实施。其目的是及早和高效地去除软件工作中的缺陷,必然结果是增强对软件工作产品和可预防缺陷的了解。
阶段评审是利用在需求分析阶段所选择并制定的标准、规范以及计划的安排,对软件工程各阶段的进展、完成质量及出现的问题进行正式评审,确保过程计划并遵守标准和规范执行,然后形成报告。当发现问题是,要准寻逐级解决的原则,将处理结果通知相关人员,记录解决过程及结果以作日后改进重要参考资料。
两者都是有关软件质量管理和保证的重要内容,二者相辅相成,缺一不可。
3、安全性测试属于软件测试的哪个阶段?并试阐述安全测试的概念和用以评判系统安全性性能的主要指标。
是系统测试的一种类型。
安全性测试就是要验证系统内的保护机制能否抵御入侵者的攻击。安全性测试的测试人员需要在测试活动中,撒气不同的入侵方式来攻击系统的安全机制,想尽一切办法来获取系统内的保密信息。
系统安全性性能的指标:有效性:
启动严格的安全性性能所花费的时间占启动整个系统所花费时间的比例。生存性:当错误发生时,系统对紧急操作的支持,对错误的补救措施以及恢复到正常操作的能力,即系统的抗挫能力。精确性:衡量系统安全性控制的精度指标,围绕所出现的错误数量、发生频率及其严重性判断。反应时间:出错时系统响应速度的快慢,一个安全性较强的系统要具备快速的反应速度。吞吐量:用户和服务请求的峰值和平均值。
4、单元测试策略主要有哪些?并试描述这些策略?
单元测试策略主要有三种方式:
1)自顶向下的单元测试策略:从顶层调用的单元做成桩模块;对第二层测试,使用上面已测试的单元做驱动模块;依次类推,直到全部单元测试结束。
2)自底向上的单元测试策略:先对模块调用的最底层模块进行测试,模拟调用该模块的模块为驱动模块;其次,对上一层模块进行单元测试,用已经被测试过的模块做桩模块,依次类推,直到全部单元测试结束。
3)孤立测试的单元测试策略:无需考虑每个模块与其他模块之间的关系,分别为每个模块单独设计桩模块和驱动模块,逐一完成所有单元模块的测试。
5、集成测试策略主要有哪些?并试描述3个以上的具体策略?
1、大爆炸集成(P153):属于非增值式集成的一种方法,也称为一次性组装或整体拼装。这种集成策略的做法就是把所有通过单元测试的模块一次性集成到一起进行测试,不考虑组件之间的互相依赖性及可能存在的风险。2、三明治集成(P158):一种混合增量式测试策略,综合了自顶向下和自底向上两种集成方法的优点,因此也属于基于功能分解的集成。这种方法桩和开发工作都比较小,但增加了定位缺陷的难度。3、自顶向下集成:就是按照系统层次结构图,以主程序模块为中心,自上而下按照深度优先或者广度优先策略,对各个模块一边组装一边进行测试。又可分为深度优先集成和广度优先集成两种方式。4、自底向上集成:从依赖性最小的底层模块开始,按照层次结构图,逐层向上集成,验证系统的稳定性。5、高频集成:高频集成测试是指同步于软件开发过程,每隔一段时间对开发团队的现有代码进行一次集成测试。6、分层集成、分布式集成、基于路径、功能、进度、风险、事件、使用等的集成等13种。
6、恢复性测试属于软件测试的哪个阶段?并试阐述恢复性测试的概念和进行恢复性测试分析时主要应考虑的问题。
恢复性测试使系统测试阶段的一种方法,也叫容错测试,用来检查系统的容错能力。通常若计算机系统出
现错误,就必须在一定时间内从错误中恢复过来,修正错误并重新启动系统。在进行恢复性测试时,要考虑的主要问题有:恢复期间的安全性过程。恢复处理日志方面的能力。当出现供电问题时的恢复能力。恢复操作后系统性能是否下降。
常用的恢复测试用例的设计方法:规范导出法、错误猜测法、基于故障的测试。
7、请简述单元测试进入的准则?
包括要素和判断准则:要素是详细说明书和单元测试用例,判断准则是经过审查=获得批准和进入配置库。
答案仅供参考
1.软件测试分哪两种方法?分别适合什么情况?
2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。
3.软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。
4.测试用例通常包括那些内容?着重阐述编制测试用例的具体做法
5.在分别测试winform的C/S结构与测试WEB结构的软件是,应该采取什么样的方法分别测试?他们存在什么样的区别与联系?
6.在测试winform的C/S结构软件时,发现这个软件的运行速度很慢,您会认为是什么原因?您会采取哪些方法去检查这个原因?
7.描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程8.如果您是测试组长,您会采取什么样的方式管理团队?在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?
问题解答:
1.软件测试分哪两种方法?分别适合什么情况?
软件测试方法一般分为两种:白盒测试与黑盒测试。白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,它着重于程序的内部结构及算法,通常不关心功能与性能指标;黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,它实际上是站在最终用户的立场,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。
2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。
计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测试、验收测试一套完整的测试应该由五个阶段组成:1)。测试计划首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准。以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测
试内容,合理安排测试人员、测试时间及测试资源等。
2)测试设计将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响测试结果的有效性)。
3)测试开发建立可重复使用的自动测试过程。
4)测试执行执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理,测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。
5)测试评估结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。
3.软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。
BVT (Build Verification Test),主要目的是验证最新生成的软件版本在功能上是否完整,主要的软件特性是否正确Scenario Tests(基于用户实际应用场景的测试),Scenario Tests优点是关注了用户的需求,缺点是有时候难以真正模仿用户真实的使用情况Smoke Test,修复Bug后,针对此次修复是否会对其他模块造成影响而进行的专门测试。Smoke Test优点是节省测试时间,防止build失败。缺点是覆盖率还是比较低此外,还有Application Compatibility Test(兼容性测试),主要目的是为了兼容第三方软件,确保第三方软件能正常运行,用户不受影响。Accessibility Test(软件适用性测试),是确保软件对于某些有残疾的人士也能正常的使用,但优先级比较低。其它的测试还有Functional Test(功能测试)、Security Test(安全性测试)、Stress Test(压力测试)、Performance Test(性能测试)、Regression Test(回归测试)、Setup/Upgrade Test(安装升级测试)等
4. 测试用例通常包括那些内容?着重阐述编制测试用例的具体做法不同结构的用例包括的不一样。(版本、编号、项目、设计人员、设计日期、输入、预期输出……)
软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果。
软件测试的方法有哪些
用例编号: 测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则: PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查测
试用例,便于测试用例的跟踪。
测试标题: 对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如 “ 测试用户登录时输入错误密码时,软件的响应情况 ” .重要级别: 定义