软件测试笔试题
一、判断正误题
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、请简述单元测试进入的准则?
包括要素和判断准则:要素是详细说明书和单元测试用例,判断准则是经过审查=获得批准和进入配置库。