软件测试工程师笔试题及答案
- 格式:docx
- 大小:26.32 KB
- 文档页数:5
东软软件测试工程师20套笔试题及参考答案问题:东软软件测试工程师20套笔试题及参考答案-测试基础(1)回答:试述软件的概念和特点?软件复用的含义?构件包括哪些?瀑布模型和螺旋模型的主要区别是什么?软件生存周期及其模型是什么?什么是软件测试?软件测试的目的与原则净室软件工程的策略是什么?软件配置管理的作用?软件配置包括什么?什么是软件质量?软件包是什么?目前主要的测试用例设计方法是什么?软件的安全性应从哪几个方面去测试?参考答案:答案如下:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合。
软件复用(Software Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。
软件复用是提高软件生产力和质量的一种重要技术。
早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。
可以被复用的软件成分一般称作可复用构件答案如下:参照TP书上第六章45/46页的讲解,参考一下书上的说法进行对比即可。
考虑弹性、风险、成本,等几个方面。
答案如下:软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。
在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。
这样的一个过程,称为生命周期模型(Life Cycle Model)。
答案如下:使用人工或自动手段,来运行或测试某个系统的过程。
其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试的目的:测试是程序的执行过程,目的在于发现错误一个成功的测试用例在于发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。
以下是收集的最新的软件测试工程师题目,希望对大家有帮助。
一、判断题1.软件测试的目的是尽可能多的找出软件的缺陷。
(Y)2.Beta测试是验收测试的一种。
(Y)3.验收测试是由最终用户来实施的。
(N)4.项目立项前测试人员不需要提交任何工件.(Y)5.单元测试能发现约80%的软件缺陷.(Y)6.代码评审是检查源代码是否达到模块设计的要求.(N)7.自底向上集成需要测试员编写驱动程序。
(Y)8.负载测试是验证要检验的系统的能力最高能达到什么程度。
(N)9.测试人员要坚持原则,缺陷未修复完坚决不予通过。
(N)10.代码评审员一般由测试员担任.(N)11.我们可以人为的使得软件不存在配置问题。
(N)12.集成测试计划在需求分析阶段末提交。
(N)二、选择题1.软件验收测试的合格通过准则是:(ABCD)A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求. B.所有测试项没有残余一级、二级和三级错误.C.立项审批表、需求分析文档、设计文档和编码实现一致.D.验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?(ABCD)A.项目经理B.SQA负责人C.配置负责人D.测试组3.下列关于alpha测试的描述中正确的是:(AD)A.alpha测试需要用户代表参加B.alpha测试不需要用户代表参加C.alpha测试是系统测试的一种D.alpha测试是验收测试的一种4.测试设计员的职责有:(BC)A.制定测试计划B.设计测试用例C.设计测试过程、脚本D.评估测试活动5.软件实施活动的进入准则是:(ABC)A.需求工件已经被基线化B.详细设计工件已经被基线化C.构架工件已经被基线化D.项目阶段成果已经被基线化6、为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括_A_____A.配置项标识、配置项控制、配置状态报告、配置审计B.配置基线确立、配置项控制、配置报告、配置审计C.配置项标识、配置项变更、配置审计、配置跟踪D.配置项标识、配置项控制、配置状态报告、配置跟踪7、__B____方法根据输出对输入的依赖关系设计测试用例。
2025年招聘测试工程师笔试题与参考答案(某大型央企)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个软件测试方法主要用于检测软件的可用性和用户体验?A、单元测试B、集成测试C、系统测试D、验收测试2、在软件测试过程中,以下哪个阶段通常由用户或客户参与?A、测试设计B、测试执行C、测试报告D、测试计划3、题干:以下哪个选项不属于软件测试的生命周期阶段?A、需求分析B、设计测试用例C、执行测试D、测试报告编写4、题干:在黑盒测试中,以下哪种测试方法不涉及对软件内部结构的测试?A、等价类划分B、边界值分析C、错误推测D、代码审查5、在软件测试过程中,以下哪种缺陷分类属于静态测试?A. 功能缺陷B. 性能缺陷C. 界面缺陷D. 逻辑缺陷6、以下关于软件测试用例设计方法的描述,错误的是:A. 黑盒测试用例设计方法包括等价类划分法、边界值分析法等。
B. 白盒测试用例设计方法包括路径覆盖法、语句覆盖法等。
C. 测试用例设计应该尽可能覆盖更多的代码路径。
D. 测试用例设计过程中,可以忽略边界值和异常值。
7、在测试过程中,以下哪项不是测试用例设计的关键要素?A、测试输入B、测试预期结果C、测试执行时间D、测试优先级8、以下关于自动化测试的优点,哪项是不正确的?A、提高测试效率B、减少人工干预C、保证测试覆盖率D、降低测试成本9、某大型央企在进行软件测试时,采用了以下哪些测试方法?(多选)A. 单元测试B. 集成测试C. 系统测试D. 验收测试E. 性能测试 10、在测试过程中,以下哪项属于静态测试?()A. 功能测试B. 性能测试C. 等价类划分D. 代码审查二、多项选择题(本大题有10小题,每小题4分,共40分)1、题干:以下哪些技术或工具是测试工程师在自动化测试过程中常用的?()A、SeleniumB、JMeterC、PostmanD、CucumberE、Git2、题干:以下哪些测试类型属于性能测试的范畴?()A、功能测试B、压力测试C、负载测试D、回归测试E、稳定性测试3、以下哪些是测试工程师常用的测试工具?()A、JMeterB、SeleniumC、LoadRunnerD、PostmanE、SQL Server Management Studio4、以下哪些属于软件测试的生命周期?()A、需求分析B、测试计划C、测试设计D、测试执行E、测试报告5、在软件测试过程中,下列哪些阶段需要制定测试计划?A. 需求分析阶段B. 设计阶段C. 编码阶段D. 测试阶段E. 上线后维护阶段6、下列哪些是黑盒测试的优点?A. 可以发现界面错误B. 不需要了解内部逻辑结构C. 可以验证程序是否符合用户需求D. 能够测试程序内部结构是否正确E. 容易编写自动化测试脚本7、以下哪些技术或工具是测试工程师在自动化测试中常用的?()A. SeleniumB. JMeterC. PostmanD. AppiumE. Jenkins8、以下哪些是软件测试的生命周期阶段?()A. 需求分析B. 设计C. 编码D. 测试E. 维护9、以下哪些工具或技术通常用于自动化测试?()A. SeleniumB. AppiumC. JMeterD. PostmanE. JUnit 10、以下哪些测试方法属于黑盒测试?()A. 回归测试B. 等价类划分C. 冒烟测试D. 灰盒测试E. 负载测试三、判断题(本大题有10小题,每小题2分,共20分)1、在软件测试过程中,发现的缺陷越多,说明软件中遗留的缺陷越少。
测试工程师笔试题一、计算机知识(30分)1、在Linux系统中,一个文件的访问权限是755,其含义是什么?参考答案:755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。
2、Linux中,如何从root用户切换到普通用户?参考答案:susu user1 切换到user1,但切换后的当前目录还是root访问的目录su – user1 切换到user1,并且当前目录切换到user1的根目录下(/home/user1/)3、简述一下C/S模式和B/S模式的区别?参考答案:c/s 是客户端/服务器架构b/s 是浏览器/服务器架构C/S模式有以下特点:1.C/S模式将应用与服务分离,系统具有稳定性和灵活性2.C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂B/S模式有以下特点:1.系统开发、维护、升级方便每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便2.B/S模式具有很强的开放性在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好3.B/S模式的结构易于扩展由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统4.用户使用方便B/S模式的应用软件都是基于Web浏览器的,而Web浏览器的界面是类似的。
对于无用户交换功能的页面。
用户接触的界面都是一致的,用户使用方便4、Windows操作系统中PATH环境变量的作用是什么?参考答案:PATH是Windows操作系统环境变量,PATH作用是用户在命令行窗口执行一个命令,则在PATH变量设置的目录下依次寻找该命令或对应的执行文件,若找到,则执行,若没有找到,则命令行窗口返回无效命令。
软件测试笔试题及答案一、选择题1. 下列哪项不属于软件测试的目标?a) 发现软件中的缺陷b) 验证软件是否满足需求c) 确保软件具有高性能d) 提高软件的可靠性答案:c) 确保软件具有高性能2. 在测试活动中,以下哪个过程通常位于最后?a) 单元测试b) 验收测试c) 回归测试d) 静态测试答案:b) 验收测试3. 在软件测试中,猴子测试是指什么?a) 随机输入测试b) 随机点击测试c) 随机操作测试d) 随机接口测试答案:a) 随机输入测试4. 以下哪个是黑盒测试技术?a) 语句覆盖测试b) 边界值分析测试c) 静态代码分析d) 回归测试答案:b) 边界值分析测试5. 在软件测试中,白盒测试是指什么?a) 只测试软件的外部功能b) 只测试软件的内部逻辑c) 组合黑盒和白盒测试的方法d) 只测试软件的用户界面答案:b) 只测试软件的内部逻辑二、填空题1. 简述软件测试的目标。
答案:软件测试的目标是发现软件中的缺陷、验证软件是否满足需求、提高软件的可靠性。
2. 请简要说明单元测试的作用。
答案:单元测试主要是测试软件中的最小单元模块,以确认每个模块都能正常运行且满足预期。
它有助于提早发现和修复代码错误,避免错误在整个系统中扩散。
3. 请解释回归测试的含义。
答案:回归测试是指在软件发生变化后,重新执行旧的测试用例,以确保修改不会影响原有的功能和系统稳定性。
它有助于保证系统在修改后仍能正常工作,不引入新的问题。
三、解答题1. 请简要介绍一下常用的软件测试方法。
答案:常用的软件测试方法包括黑盒测试和白盒测试。
黑盒测试主要关注软件的外部功能,不考虑内部逻辑,通过输入合法和非法数据来测试软件的响应和输出是否符合预期。
而白盒测试则关注软件的内部逻辑,通过检查代码覆盖率和执行路径来验证软件的正确性。
2. 简要描述一下软件测试生命周期中的各个阶段。
答案:软件测试生命周期包括需求分析、测试计划、测试设计、测试执行和测试评估。
一、选择题1.软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性(C)是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。
A.成熟性; B.易恢复性;C.容错性; D.可靠性依从性2.关于软件质量的描述,正确的是__B____A.软件质量是指软件满足规定用户需求的能力;B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性;C.软件质量保证过程就是软件测试过程;D.以上描述都不对3.____B__方法根据输出对输入的依赖关系设计测试用例。
A.路径测试B.等价类 C.因果图D.边界值4.下列关于软件验收测试的合格通过准则错误的是:___C___A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求;B.所有测试项没有残余一级、二级和三级错误;C.立项审批表、需求分析文档、设计文档和编码实现不一致;D.验收测试工件齐全5.测试设计员的职责有:___B___①制定测试计划②设计测试用例③设计测试过程、脚本④评估测试活动A.①④B.②③ C.①③D.以上全是6.对于业务流清晰的系统可以利用D场景法贯穿整个测试用例设计过程广在用例中综合使用各种测试方法,对于参数配置类的软件,要用C正交试验法选择较少的组合方式达到最佳效果,如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用B因果图法和判定表驱动法A.等价类划分B.因果图法C.正交试验法D.场景法、7.下列软件实施活动的进入准则描述错误的是:__D____A.需求工件已经被基线化B.详细设计工件已经被基线化C.构架工件已经被基线化D.项目阶段成果已经被基线化8.正式的技术评审FTR(Formal Technical Review)是软件工程师组织的软件质量保证活动,下面关于FTR指导原则中错误的是__C____A.评审产品,而不是评审生产者的能力B.要有严格的评审计划,并遵守日程安排C.对评审中出现的问题要充分讨论,以求彻底解决D.限制参与者人数,并要求评审会之前做好准备9.下列关于文档测试描述错误的是__A____A.文档测试主要检查文档的正确性、完备性、可理解性、可操作性和易维护性;B.正确性是指不要把软件的功能和操作写错,也不允许文档内容前后矛盾;C.完备性是指文档不可以“虎头蛇尾”,更不许漏掉关键内容。
[全]软件测试招聘笔试面试(附答案)软件测试招聘笔试面试(附答案)一. 单项选择题:1.白盒测试是根据程序的____来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。
(D )(A)内部流程(B)内部接口(C)内部数据(D)内部逻辑2.冒烟测试的主要目的是?(B )(A)确认可进行后续的正式测试工作(B)确认软件基本的功能正常(C)确认接口返回值是否正确(D)确认正向和逆向流程是否通过3.接口测试可以测试哪些范围?(多选题)(ACDF )(A)性能(B)兼容性(C)业务逻辑(D)自动化(E)UI测试(F)输入框4. 什么样的模型需要开发和测试同步推进?(D )(A)瀑布模型(B) 敏捷模型(C)螺旋模型(D) W模型5.接口测试的目的是?(多选题)(AD )(A)减少缺陷修复成本(B) 提升软件安全性(C)发现比系统测试更多的错误(D) 提高测试效率6.下列对移动端测试说法错误的是(D )(A)移动端兼容性测试没有工具(B)IOS和安卓需要单独分开测试(C)移动端能够实现PC端无法实现的功能(D)移动端软件逻辑比PC端更复杂7.一个程序中所含有的路径数与____有着直接的关系。
(A )(A)程序的复杂程度(B) 程序的代码行数(C)程序模块数(D)程序指令执行时间8.动态黑盒子测试是指?(D )(A)直接测试底层功能、过程、子程序和库(B)可估算执行测试时代码量和具体代码(C)从软件获得读取变量和状态信息的访问(D)测试的是软件在使用过程中的实际行为9.在自底向上测试中,要编写称为____的模块来测验正在测试的模块。
(B )(A) 测试存根(B) 测试驱动模块(C)桩模块(D) 底层模块10.性能测试的方法有哪些?(多选题)(ABD )(A)压力测试(B)负载测试(C)数据恢复测试(D)稳定性测试11.配置测试(C )(A) 是指检查软件之间是否正确交互和共享信息(B) 是交互适应性、实用性和有效性的集中体现(C)是指使用各种硬件来测试软件操作的过程(D) 检查缺陷是否有效改正12.下列各项中___不是一个测试计划所应包含的内容B )(A)测试资源、进度安排(B)测试预期输出(C)测试范围(D)测试策略13.软件测试应当从什么阶段开始介入?(D )(A)单元测试阶段(B)集成测试阶段(C)系统测试阶段(D)需求分析阶段14.OSI协议体系结构的层级划分正确顺序是(D )(A)物理层-数据链路层-网络层-会话层-传输层-表示层-应用层(B)物理层-数据链路层-传输层-网络层-会话层-表示层-应用层(C)物理层-数据链路层-会话层-网络层-传输层-表示层-应用层(D)物理层-数据链路层-网络层-传输层-会话层-表示层-应用层15.一个项目上线后出现严重BUG时,我们应该怎么做?(E )(A)沉着冷静,查找记录中是否提交过这个BUG,并且是否通过了确认测试。
软件测试笔试题及答案一、选择题1. 软件测试的目的是()。
A. 证明软件的正确性B. 发现并修复软件的缺陷C. 增加软件的功能D. 减少软件的性能开销答案:B2. 下列哪个测试方法是黑盒测试?()。
A. 语句覆盖B. 条件覆盖C. 路径覆盖D. 边界值分析答案:D3. 在软件测试中,回归测试的目的是()。
A. 测试软件的新功能B. 确保修改引起的问题C. 验证软件修改后的版本D. 测试软件的性能答案:C4. 单元测试通常由谁来完成?()。
A. 项目经理B. 开发人员C. 测试人员D. 用户答案:B5. 测试用例是()。
A. 用于执行测试的代码B. 一组测试输入、执行条件以及预期结果C. 软件测试工具D. 软件缺陷报告答案:B二、判断题1. 集成测试是在单元测试之后进行的。
(正确)2. 测试计划是测试过程中最不重要的文档。
(错误)3. 所有的软件缺陷都必须立即修复。
(错误)4. 测试覆盖率是一个衡量测试完整性的指标。
(正确)5. 静态测试不涉及实际运行代码。
(正确)三、简答题1. 请简述黑盒测试和白盒测试的区别。
答:黑盒测试是一种测试方法,它主要关注软件的功能需求,而不关心内部结构或代码。
测试人员像用户一样使用软件,检查功能是否按预期工作。
白盒测试则关注软件内部逻辑和代码结构,测试人员需要了解程序的内部工作原理,通过设计测试用例来检查代码的正确性和完整性。
2. 描述软件测试的生命周期。
答:软件测试生命周期(STLC)包括了从测试计划的制定到测试活动的结束的整个过程。
它通常包括以下阶段:测试计划、测试准备、测试执行、测试跟踪和控制、测试报告以及测试维护。
在这个周期中,测试团队会计划测试活动、设计和执行测试用例、记录和报告测试结果,并对发现的缺陷进行跟踪,直到它们被修复。
3. 什么是缺陷生命周期?请描述它的主要阶段。
答:缺陷生命周期是指软件缺陷从被发现到被修复并重新验证的整个过程。
它的主要阶段包括:新建、确认、分配、修复、重新验证和关闭。
1、TCP是互联网中的(1 A)协议,使用(2 C)次握手协议建立连接。
当主动发出SYN连接请求后,等待对方回答(3 A)。
这种连接的方法可以防止(4 D),TCP使用的流量控制协议是(5 B)。
(1)A.传输层 B.网络层C会话层 D.应用层(2)A.1 B.2 C.3 D.4(3)A.SYN,ACK B.FIN,ACK C.PSH,ACK D.RST,ACK(4)A.出现半连接 B.无法连接 C.假冒的连接 D.产生错误的连接(5)A.固定大小的滑动窗口协议 B.可变大小的滑动窗口协议 C.后退N帧ARQ协议 D.选择重发ARQ协议2、下列叙述中,与提高软件可移植性相关的是D 。
A.选择时间效率高的算法B.尽可能减少注释C.选择空间效率高的算法D.尽量用高级语言编写系统中对效率要求不高的部分D软件可移植性是指与软件可从某一环境移植到另一环境的能力有关的一组属性。
高级语言具有较好的可移植性,所以可以尽量用高级语言编写系统中对效率要求不高的部分。
减少注释、选择时间/空间效率高的算法都不能提高软件的可移植性。
3、用边界值分析法,假定1<X<100,那么X在测试中应该取的边界值是__B____A.X=1,X=100;B.X=0,X=1,X=100,X=101;C.X=2,X=99;D.X=O,X=101;4、在网络应用测试中,网络延迟是一个重要指标。
以下关于网络延迟的理解,正确的是__D____ A.指响应时间;B.指报文从客户端发出到客户端接收到服务器响应的间隔时间;C.指报文在网络上的传输时间;D.指从报文开始进入网络到它开始离开网络之间的时间网络延迟:在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
5、软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性(C)是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。
测试工程师笔试题一、计算机知识(30分)1、在Linux系统中,一个文件的访问权限是755,其含义是什么?参考答案:755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。
2、Linux中,如何从root用户切换到普通用户?参考答案:susu user1 切换到user1,但切换后的当前目录还是root访问的目录su – user1 切换到user1,并且当前目录切换到user1的根目录下(/home/user1/)3、简述一下C/S模式和B/S模式的区别?参考答案:c/s 是客户端/服务器架构b/s 是浏览器/服务器架构C/S模式有以下特点:S模式将应用与服务分离,系统具有稳定性和灵活性S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂B/S模式有以下特点:1.系统开发、维护、升级方便每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便S模式具有很强的开放性在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好S模式的结构易于扩展由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统4.用户使用方便B/S模式的应用软件都是基于Web浏览器的,而Web浏览器的界面是类似的。
对于无用户交换功能的页面。
用户接触的界面都是一致的,用户使用方便4、Windows操作系统中PATH环境变量的作用是什么?参考答案:PATH是Windows操作系统环境变量,PATH作用是用户在命令行窗口执行一个命令,则在PATH变量设置的目录下依次寻找该命令或对应的执行文件,若找到,则执行,若没有找到,则命令行窗口返回无效命令。
5、TCP和UDP有什么区别?参考答案:TCP-有连接,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换参考答案:域名解析服务。
用于将域名解析为IP,或反和将IP解析为域名。
客户机可指定DNS服务器来解析,或用本机hosts文件进行解析。
7、说出4种及以上常用的操作系统及其主要的应用范围(微软的操作系统除外)。
参考答案:Linux(Red Hat、SUSE、Debian、Trubo Linux):主要用于搭建各类服务器MAC OS:苹果机的操作系统,用于图像处理Unix(AIX:IBM服务器的专用操作系统;Solaris:Sun操作系统;FreeBSD、NetBSD)8面向对象程序设计有哪些特点?参考答案:面向对象程序设计以需求当中的数据作为中心,来进行设计,具有良好的代码重用性。
封装性:也叫数据隐藏,用户无需知道内部工作流程,只要知道接口和操作就可以的,C++中一般用类来实现封装。
继承性:一种支持重用的思想,在现有的类型派生出新的子类,例如新型电视机在原有型号的电视机上增加若干中功能而得到,新型电视机是原有电视机的派生,继承了原有电视机的属性,并增加了新的功能。
多态性:指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。
动态联编:指一个计算机程序自身彼此关联的过程,按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编和动态联编。
9、一条软件缺陷记录都包含哪些内容?参考答案:bug编号bug发现人bug发现时间bug状态bug严重程度bug所属版本bug所属模块bug处理人bug修改日期bug简单描述bug详细描述bug相关附件bug初步分析10、一套完整的测试应该由哪些阶段组成?参考答案:测试计划、测试设计与开发、测试实施、测试评审与测试结论二、测试知识(50分)1、您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。
(10分)参考答案:1.拿到新版本2.进行测试发现BUG后提交SUBMIT(测试)3.由相应人员置为NEW的状态4.修改BUG,FIXED(开发)(当然也有可能被判定为不是BUG或者需要讨论决定的)5.回归测试,修改BUG状态,FIXED VERIFIED或者REOPEN(测试)的话开发继续修改,FIXED VERIFIED的话由相应人员CLOSE这个BUG。
2、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
(10分)参考答案:黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。
白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。
单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。
集成测试:在单元测试的基础上,对单元模块之间的连接和组装w进行测试。
系统测试:在所有都考虑的情况下,对系统进行测试。
验收测试:第三方进行的确认软件满足需求的测试3、你所熟悉的测试用例设计方法有哪些?分别以具体的例子说明在实际测试中的应用。
(10分)参考答案:1.等价类划分划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.2.边界值分析法边界值分析方法是对等价类划分方法的补充。
测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.3.错误推测法基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.4.因果图方法前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.4、画出软件测试的V模型图。
(5分)参考答案:5、软件的安全性应从哪几个方面去测试?(5分)参考答案:(1)用户认证机制:如数据证书、智能卡、双重认证、安全电子交易协议(2)加密机制(3)安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描(4)数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理(5)防病毒系统6、描述软件产生内存泄露的原因以及检查方式。
(可以结合一种开发语言进行描述)(5分)参考答案:内存泄露的原因,主要是由于开发过程当中申请了计算机资源(例如对象、内存等),但是使用资源完成以后没有及时释放资源导致的。
例如在C语言当中使用了malloc申请了内存,但是未使用free来释放内存。
7、简述软件自动化测试工具的原理。
(5分)参考答案:测试工具的优势在于可部分地替代人工的测试过程,通过测试工具来模拟人的手工操作,这个过程中会记录操作的对象和操作的顺序,然后在回放时按照录制的顺序操作这些对象。
能重复不断地执行,能精确判断数值和字符对象。
自动化测试工具把测试用例用自动的方式执行,例如,自动地产生数据,自动地打开应用程序,自动地查找控件,自动地输入数据,自动地操作控件,自动地收集测试结果,自动地与预期结果进行比较等。
三、数据库(10分)为管理业务培训信息,建立3个表:S(S#,SN,SD,SA) S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄C(C#,CN) C#,CN分别代表课程编号,课程名称SC(S#,C#,G) S#,C#,G分别代表学号,所选的课程编号,学习成绩(1)使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名?答:select s# ,sn from s where S# in(select S# from c,sc where #=# and cn=’税收基础’) (2) 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位?答:select sn,sd from s,sc where #=# and #=’c2’(3) 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位?答:select sn,sd from s where s# not in(select s# from sc where c#=’c5’)(4) 查询选修了课程的学员人数答:select 学员人数=count(distinct s#) from sc(5) 查询选修课程超过5门的学员学号和所属单位?答:select sn,sd from s where s# in(select s# from sc group by s# having count(distinct c#)>5) 四、编程题(10分)编程输出1/1+1/3+1/5+……+1/99的和。
参考答案:附加题谈谈软件测试技术,以及一个优秀的软件测试人员应该具备的素质。