一、判断题(10分)
1.软件测试只能发现错误,但不能保证测试后的软件没有错误。(√)
软件测试在软件工程的后期才开始具体的工作。(× )
3.测试人员说:“没有可运行的程序,我无法进行测试工作”。(× )
4.单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒进行动态测试。
(√)
5.功能测试属于白盒测试的技术范畴。(×)
6.黑盒测试的测试用例是根据程序内部逻辑设计的。(×)
7.白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。(√)
8.集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序
的、递增的测试( × )
9.第三方测试是在开发方与用户方的测试基础上进行的验证测试 ( × )
10.验收测试是由最终用户来实施的。(×)
二、多项选择题(5分)
1.从是否需要执行被测软件的角度,软件测试技术可划分的类型是:( AC )。
A、静态测试
B、黑盒测试
C、动态测试
D、白盒测试
2.下面选项中可能导致软件缺陷的原因有( ABD )。
A、软件需求说明书编写的不全面,不完整,不准确,而且经常更改
B、软件设计说明书编写不准确
C、软件使用人员的水平
D、开发人员不能很好的理解需求说明书和沟通不足
3.IIS提供的服务有( ABCD )
A. FTP
B. WWW
C. SMTP
D. NNTP
4.VSS是一款配置管理工具,它提供了完善的版本和配置管理功能,VSS中我们处理的所
有文档都称为文件,VSS对文件的常用操作有( ABC )
A. check out
软件测试流程B. check in
C. undo check out
D. copy
5.典型的瀑布模型的四个阶段是:(BCDE)
A、需求调研
B、分析
C、设计
D、编码
E、测试
F、实施
三、单项选择题(15分)
1.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( A )。
A. 系统功能
B. 局部数据结构
C. 重要的执行路径
D. 错误处理
2.以下关于需求测试的描述中,不正确的是( D )
A.需求测试是要检测需求规格说明书中设计的软件需求是否符合用户的要求。
B.需求测试只是验证需求是否真的是用户所需要的。
C.需求测试不等同于后面阶段的集成测试或系统测试。
D.需求测试是需求测试人员来执行的,与用户无关。
3.对程序的测试最好由由来做,对程序的调试最好由来做。( B )
A.程序员第三方测试机构
B.第三方测试机构程序员
C.程序开发组程序员
D.程序开发组程序开发组
4.软件的六大质量特性包括:( A )
A、功能性、可靠性、可用性、效率、可维护、可移植
B、功能性、可靠性、可用性、效率、稳定性、可移植
C、功能性、可靠性、可扩展性、效率、稳定性、可移植
D、功能性、可靠性、兼容性、效率、稳定性、可移植
5.下面有关软件缺陷的说法中错误的是( C)。
A.缺陷就是软件产品在开发中存在的问题
B.缺陷就是软件维护过程中存在的错误、毛病等各种问题
C.缺陷就是导致系统程序崩溃的错误
D.缺陷就是系统所需实现的某种功能的时效和违背
6.功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明,这属于软件缺陷级别中的( B )。
A.致命缺陷
B.严重缺陷
C.一般缺陷
D.微小缺陷
7.即使对程序的所有路径都进行了测试,程序也可能存在没能检查出来的缺陷,其原因可能是( D )。
A.程序可能会因为缺少某些路径而存在问题
B.即使是穷举路径测试也决不能保证程序符合其设计规格说明
C.穷举路径测试也可能不会暴露数据敏感错误
D.以上全部
8.在系统测试中,测试人员主要根据( A )设计测试用例。
A.需求分析说明书
B.概要设计说明书
C.详细设计说明书
D.系统规格说明书
9.下列关于软件验收测试的合格通过准则是( D )。
1)软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求
2)所有测试项没有残余一级、二级和三级错误
3)立项审批表、需求分析文档、设计文档和编码实现一致
4)验收测试工件齐全
A.1)
B.1)和3)
C.1)和3)和4)
D.所有都对
10.用来代替被测模块的子模块的是( B )。
A.驱动模块
B.桩模块
C.调用模块
D.配置模块
11.与设计测试数据无关的文档是( C )。
A.该软件的设计文档
B.需求规格说明
C.项目开发计划
D.源程序
12.在某大学学籍管理信息系统中,假设学生年龄的输入范围为16—40,则根据黑盒
测试中的等价类划分技术,下面划分正确的是( B )。
A)可划分为2个有效等价类,2个无效等价类
B)可划分为1个有效等价类,2个无效等价类
C)可划分为2个有效等价类,1个无效等价类
D)可划分为1个有效等价类,1个无效等价类
13.关于软件测试模型,描述正确的是( C )
A、V模型测试的对象就是程序本身,测试与开发可以同一阶段进行
B、W模型测试的对象是程序,需求、设计等,可以支持迭代的开发模型
C、H模型软件测试过程活动完全独立,贯穿产品整个生命周期,与其他流程并发地进行。
D、X模型是事先计划再进行测试。
14.在各种资源超负荷情况下,观察系统的运行情况的测试是什么测试方法( A )。
A.强度测试
B.容量测试
C.负载测试
D.失效恢复测试
15.下面关于界面测试的说法错误的是(c )
A.窗体大小要合适,内部控件布局要合理,不要过于密集,也不要过于空旷。
B.为了达到美观的目的,缩放窗体时,窗体上的控件也应该随着窗体而缩放。
C.字体的大小与界面的大小比例协调,通常使用宋体,字号8-14。
D.使用柔和颜,杜绝刺目的颜。
四、简答题(25分)
1.什么是回归测试?什么时候进行回归测试?
回归测试就是重新运行现有测试用例测试原有功能,以便确定变更是否达到了预期的目的,检查变更是否损害了原有的正常功能。
或者:在程序有修改的情况下,验证被修复的软件缺陷是否真正解决,而且保证原有功能正常的一种测试策略和方法。
每当软件发生变化时就应进行回归测试。
2.什么是冒烟测试?
就是版本确认检查,是在系统测试环境下,软件系统构建版本安装发布后,验证系统的基本功能/特征是否达到预期的效果。
或者:是在进入系统测试之前或一个编译版本发布后,先运行其基本功能的测试。冒烟测试的目的是检查程序是否完整,是否实现了最基本的可测试要求。
3.软件测试的生命周期包括哪几个阶段?
测试计划、测试设计、测试开发、测试执行、测试评估
4.等价类方法中测试用例的设计原则是什么?
1)为每一个等价类规定一个唯一的编号;
2)设计一个测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
3)设计一个测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有
的无效等价类都被覆盖为止。
5.请列出B/S与C/S架构的区别。
1)C/S是两层架构,即客户端/服务器端架构;B/S是三层架构,即由Browser客户端,WebApp服务器端和DB端构成。
2)C/S是胖客户端架构,客户端需要实现绝大多数的业务逻辑和界面展示;B/S架构中,显示逻辑交给了Web浏览器,事务处理逻辑在放在了WebApp上,客户端包含
的逻辑很少,因此也被成为瘦客户端架构。
3)C/S是建立在局域网上;B/S可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
4)C/S需要安装客户端才能使用;B/S客户端无需安装,有Web浏览器即可。
5)C/S维护成本高,发生一次升级,则所有客户端的程序都需要改变;B/S架构无需升级多个客户端,升级服务器即可。
五、论述题(30分)
1.什么是软件测试?简述其目的与原则
定义1:测试软件是在可控的预置条件下,操作软件的过程,其目的是通过发现错误,弄清预期结果与实际结果之间的差别,并确认软件行为是否符合产品规格说明,同时验证软件是否符合用户的需求。
定义2:软件测试是使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。
软件测试的目的:
1)检测:以最少的人力、物力和时间出软件中潜在的各种错误和缺陷。
2)证明:证明软件的功能和性能与需求说明相符合。
3)预防:澄清系统的规格和性能;提供预防或减少可能制造错误的信息;并且提前确认解决这些问题和风险的途径。
软件测试的原则:
1.所有的测试都应追溯到用户需求,事先定义好产品的质量标准。
2.“尽早和不断的测试”作为开发者的座右铭。
3.对发现错误较多的程序段,应进行更深入的测试。(Pareto 原则)
4.测试应从“小规模”开始,逐步转向“大规模”。
5. 穷举测试是不可能的。
6. 测试应该有重点。
7.制定严格的测试计划,是做好软件测试工作的前提。
8.为了达到最佳效果,应该由独立的第三方来构造测试。
9.加强测试自动化,但测试工具不是万能的。
10 .将测试过程文档化。
11.测试用例是设计出来的,不是写出来的。
12.测试结果应被认真检查和分析。
2.什么是黑盒测试,黑盒测试有哪两种基本方法,请简要介绍。
黑盒测试就是把测试对象看成一个黑盒子,完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明的测试方法。
黑盒测试有两种基本方法,即通过测试和失败测试。
在设计和执行测试案例时,总是先要进行通过测试,看一看软件基本功能是否能够实现。这一点很重要,否则在正常使用软件时就会奇怪地发现,为什么会有那么多的软件缺陷出现?
在确信了软件正确运行之后,就可以采取各种手段通过搞“垮”软件来出缺陷。纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试或迫使出错测试。
3.简述单元测试、集成测试、系统测试的主要内容。
(1)单元测试集中于单个模块的功能和结构的检验;主要内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试。
(2)集成测试集中于模块组合的功能和软件结构检验;主要内容:
(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
(2)一个模块的功能是否会对另一个模块的功能产生不利的影响;
(3)各个子功能组合起来,能否达到预期要求的父功能;
(4)全局数据结构是否有问题;
(5)单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。
(3)系统测试集中检验系统所有元素之间协作是否合适,整个系统的性能和功能是否达到;主要包括强度测试、性能测试、恢复测试、安全测试、可靠性测试、安装测试、容量测试和文档测试等。
4.测试人员在软件开发过程中的任务是什么?
寻bug
避免软件开发过程中的缺陷
衡量软件的品质
关注用户的需求
5.一条缺陷记录都包含哪些内容?如何提交高质量的软件缺陷记录?
一条bug记录最基本的应包含:
硬件平台和操作系统
测试应用的平台
被测软件的版本号
Bug优先级、状态、bug所属模块、编号
bug描述、发现日期、发现人、修改日期、修改人、修改方法、回归结果等。
要有效地发现bug需参考需求以及详细设计等前期文档,设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布,如此才能提高提交的bug质量。
六、测试用例编写(15分)
某一种8位计算机,其十六进制常数的定义是以0x或0X开头的十六进制整数,其取
发布评论