01.为什么要在一个团队中开展软件测试工作?答:因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。02.您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?03.您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)04.您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?05.您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)06.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。07.测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?答:软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试测试策略和测试方法(最好是能先评审)08.您认为做好测试计划工作的关键是什么?09.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。10.您认为做好测试用例设计工作的关键是什么?答:白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题11.请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。12.您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。13.您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。14.您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。15.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?16.在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?17.您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。18.您以往是否曾经从事过单元测试和集成测试?如果有,请谈一下这些工作的实际开展情况。19.您如何看待软件过程改进?在您曾经工作过的企业中,是否有一些需要改进的东西呢?您期望的理想的测试人员的工作环境是怎样的?20.您以往工作过的企业中,是否开展了软件配置管理工作?您能否描述一下这项工作的开展情况和您对这项工作的认识?21.您是否熟悉一些主流的软件工程方法论和思想,如RUP、CMM、CMMI、XP、PSP、TSP。如果熟悉,您是否可以谈一下对这些方法论和思想的认识?22.您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?23.在您以往的测试工作中,最让您感到不满意或者不堪回首的事情是什么?您是如何来对待这些事情的?24.在即将完成这次笔试前,您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面)软件测试工程师笔试试题一、判断题1.软件测试的目的是尽可能多的找出软件的缺陷。(N)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.项目阶段成果已经被基线化三、填空题(每空1分,24分)1.软件验收测试包括测试、β测试、正式验收测试类型。2.系统测试的策略有能测试、性能测试、安全性测试、可靠性测试、易用性测试、负载测试、压力测试、安装/卸载测试、启动/停止测试、兼容性测试、文档测试、恢复测试、回归测试、可使用性测试、容量测试15种方法。功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试(有的可以合在一起,分开写只要写出15就满分哦)3.设计系统测试计划需要参考的项目文档有用户需求工件、整体测试计划和迭代计划。4.对面向过程的系统采用的集成策略有自底向上测试、自顶向下测试两种。5.通过画因果图来写测试用例的步骤为、、、及把因果图转换为状态图共五个步骤。利用因果图生成测试用例的基本步骤:1、分析软件规格说明书描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(输出条件),并给每个原因和结果赋予一个标识符;2、分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?根据这些关系,画出因果图;3、由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件;4、把因果图转换成判定表;5、把判定表的每一列拿出来作为依据,设计测试用例。四、简答题(共37分)1.阶段评审与同行评审的区别。(4分)答:同行评审:目的发现小规模工作产品的错误,主要是找错误;人数3-7人人员必须经过同行评审会议的培训,有SQA指导;内容内容小一般文档40页,代码500行;时间一小部分工作产品完成。阶段评审:目的评审模块阶段作品的正确性、可行性及完整性;人数5人左右评审人必须是专家具有系统评审资格;内容内容多,主要看中重点;时间通常是设置在关键路径的时间点上。2.什么是软件测试。(3分)答:软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估,执行测试用例后需要跟踪故障,以确保开发的产品适合需求。为了发现程序中的错误而执行程序的过程3.简述集成测试的过程。(5分)答:系统集成测试主要包括以下过程:1.构建的确认过程。2.补丁的确认过程。3.系统集成测试测试组提交过程。4.测试用例设计过程。5.测试代码编写过程。6.Bug的报告过程。7.每周/每两周的构建过程。8.点对点的测试过程。9.组内培训过程。集成测试过程:集成测试计划-集成测试设计-集成测试实现-集成测试执行4.怎样做好文档测试?(4分)仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。P142检查文档的编写是否满足文档编写的目的内容是否齐全,正确内容是否完善标记是否正确5.白盒测试有那几种方法?(6分)答:总体上分为静态方法和动态方法两大类。静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。白盒测试:测试证明每种内部操作和过程是否符合设计规格和要求,基于程序结构的逻辑驱动测试.静态的举例:代码走读,代码检视.6.系统测试计划是否需要同行评审,为什么?(4分)答:需要,系统测试计划属于项目阶段性关键文档,因此需要评审7.Alpha测试与beta测试的区别。(4分)答:Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。Alpha测试:用户在接近正式环境下的测试,开发人员在用户旁记录错误情况和使用中的问题.Beta测试:多个用户在实际使用环境下的测试,开发人员不在测试现场,用户通过发送报告的形式把发现的问题反馈给开发人员.8.比较负载测试、容量测试和强度测试的区别。(6分)答:负载测试:在一定的工作负荷下,系统的负荷及响应时间。强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。1.负载测试:通过逐步增加系统负载,最终确定在满足性能指标的情况下,系统能承受的最大负载量的测试。2.压力测试:通过逐步增加系统负载,最终确定在什么负载条件下系统性能将处于崩溃状态,以此获得系统能提供的最大服务级别的测试。3.强度测试:又称疲劳强度测试,在系统稳定运行的情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析,确定系统处理最大工作量强度性能的过程。9.测试结束的标准是什么?(3分)五、设计题(共15分)对下面给出的程序控制图,分别以各种不同的测试方法写出最少的测试用例。测试人员_考试试卷(考试时间100分钟,满分100分)姓名:__________部门:__________员工号:__________一、填空题:(每一空格2分,共60分)1、软件实施活动的输出工件有、、、。2、代码评审主要做工作。3、软件实施活动中集成员的职责是。4、验证与确认软件实施活动主要有、代码评审、、、、SQA验证。5、表明测试已经结束。6、软件测试的目的是。7、软件测试主要分为、、、四类测试。8、软件测试活动有制定测试计划、、、、、、测试评估、测试结束八个步骤。9、软件测试活动的输出工件有_、、、、。10