测试主管试题_第1页
测试主管试题_第2页
测试主管试题_第3页
测试主管试题_第4页
测试主管试题_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件测试工程师/主管笔试试题01.为什么要在一个团队中开展软件测试工作?任何软件在开发过程中都会留下缺陷,带有缺陷的软件产品如果提交出去,可能会给公司带来不可估量的损失,我们必须在客户之前发现尽可能多的问题,从而保障客户满意。而发现问题的这个过程称之为测试。请试述在这个过程中都有哪请试述一个完整的开发过程(对于软件测试部分,可以简02.您是否了解以往所工作的企业的软件测试过程?如果了解,些工作要做?分别由哪些不同的角色来完成这些工作?03.您是否了解以往所工作的企业的软件开发过程?如果了解,需要完成哪些工作?分别由哪些不同的角色来完成这些工作?述)04.您在以往的测试工作中都曾经具体从事过哪些

2、工作?其中最擅长哪部分工作?05.您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试)功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。,基本功能验证。主要是对发布的

3、版本进行一些最主要功能的测试。英文常见叫法是SmokingTest,BasicVerificationTest或者SanityCheck。功能测试。主要是依据需求或者需求分析文档,对所发布的版本进行测试,看看是否满足需求,是否出现了不必要的功能。单元测试。是开发人员进行的测试之一,一般是开发人员对很小的模块,比如函数进行测试,一般来说,开发人员还需要开发相应的测试桩来进行此类测试。集成测试。在大型的开发过程中,软件是模块化进行开发的,将不同的模块揉合在一起的话,需要进行的测试就是集成测试。系统测试。当软件提交给测试组后,是对整个系统的所有功能进行测试,一般来说,功能测试是系统测试的一个部分。压

4、力测试。主要是在很大性能的情况下,这个性能已经接近了系统的极限,看看系统运转的情况。负载测试。主要是用各种不同的性能去检测系统,采集各个数据在这些性能情况下的数据。黑盒测试。指系统对你来说是完全不透明的,只给你留下了输入和最终输出,这个是功能测试的方法之一。灰盒测试。指在了解部分系统内部工作机制的情况下,对于系统进行的覆盖性测试。白盒测试。主要是在单元测试和集成测试的情况下,开发人员已知代码,对这一段的代码进行全路径的覆盖测试。界面测试。主要是看用户界面的友好性和易用性,是否有文字或者排版错误,是否有输入限制等等。回归测试。一般是系统发现BUG开发人员彳改后,和BUCS:接相关以及可能相关的功

5、能进行的测试。安装和卸载的测试。恢复测试。主要是一个系统在发生了灾难的情况下,从错误中是否容易恢复。兼容性测试。一个系统在不同的语言,操作系统下的系统测试。安全测试。系统在遇到攻击或者类似情况下的表现。Alpha测试。系统在给最终用户前,测试人员在实验室中模拟最终用户的测试。Beta测试。由部分最终用户通过使用来进行的测试。比较测试。和其他具有相同或者类似功能的系统进行对比的测试。验收测试。一般是最终用户在接受产品前,依据自己所提出的要求进行的测试,很多情况下,验收测试可能委托第三方机构完成。06.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。黑盒测试、

6、白盒测试、单元测试、集成测试、系统测试、验收测试的区别黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现以下几类错误:1、是否有不正确或遗漏的功能?2、在接口上,输入是否能正确的接受?能否输出正确的结果

7、?3、是否有数据结构错误或外部信息(例如数据文件)访问错误?4、性能上是否能够满足要求?5、是否有初始化或终止性错误?软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:1、对程序模块的所有独立的执行路径至少测试一遍。2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。3、在循环的边界和运行的界限内执行循环体。

8、4、测试内部数据结构的有效性,等等。单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,

9、许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。(常见的联调测试)系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所

10、有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。.单元测试的主要目的是针对编码过程中可能存在的各种错误,例如用户输入验证过程中的边界值的错误。.集成测试主要目的是针对详细设计中可能存在的问题,尤其是检查各单元与其它程序部分之间的接口上可能存在的错误。.系统测试主要针对b概要设计/b,检查了系统作为一个整体是否有效地得到运行,例如在产品设置中是否达到了预期的高性能4.验收测试通常由业务专家或用户进行,以确认产品能真正符合用户业务上的需要(需求)。07.测试计划工作的目的是什么?测试计划

11、工作的内容都包括什么?其中哪些是最重要的?软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方单元测试完成之后,接下来的工作就是集成测试.软件集成测试主要依据软件结构设计(概要设计)文档,测试主要内容有功能性、可靠性、易用性、效率、维护性和可移植性中相

12、关的部分,根据软件需求和设计的要求而选定。验证各软件单元集成后形成的模块能否达到概要设计规格说明中各模块的设计目标;这里,模块可能是指某个软件部件,也可能是指某个或某几个子系统。通常在做集成测试时先是从子系统内部的集成测试开始做起,做完以后再测试各子系统是否能集成为最终要实现的整体系统。也有其他做法(如自顶向下集成测试方法、核心系统先做集成测试或每日集成测试等等)。总之,万变不离其宗,集成测试要保证模块的内部正确性以及保证模块能最终集成为完整的系统。集成测试有时也被称为组装测试或灰盒测试(有观点认为集成测试介于白盒与黑盒之间)。软件集成测试具体内容包括:功能性测试(1)程序的功能测试。检查各个

13、子功能组合起来能否满足设计所要求的功能。(2)一个程序单元或模块的功能是否会对另一个程序单元或模块的功能产生不利影响。(3)根据计算精度的要求,单个程序模块的误差积累起来,是否仍能够达到要求的技术指标。(4)程序单元或模块之间的接口测试。把各个程序单元或模块连接起来时,数据在通过其接口时是否会出现不一致情况,是否会出现数据丢失。(5)全局数据结构的测试。检查各个程序单元或模块所用到的全局变量是否一致、合理。(6)对程序中可能有的特殊安全性要求进行测试。可靠性测试根据软件需求和设计中提出的要求,对软件的容错性、易恢复性、错误处理能力进行测试。易用性测试根据软件设计中提出的要求,对软件的易理解性、

14、易学性和易操作性进行检查和测试。性能测试根据软件需求和设计中提出的要求,进行软件的时间特性、资源特性测试。维护性测试根据软件需求和设计中提出的要求,对软件的易修改性进行测试。可移植性测试根据软件需求和设计中提出的要求,对软件在不同操作系统环境下被使用的正确性进行测试以其中最重要的是测试测试策略和测试方法(最好是能先评审)。08.您认为做好测试计划工作的关键是什么?明确测试的目标,增强测试计划的实用性编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法

15、必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确坚持“5W规则,明确内容与过程“5W规则指的是“What(做什么)、“Why(为什么做)、“When(何时做)”、“Where(在哪里)、“How(如何做)”。利用“5W规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。采用评审和更新机制,保证测试计划满足实际需求测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容

16、,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。分别创建测试计划与测试详细规格、测试用例应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术09.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。.等价类划分划分等价类:等价类是指某个输入域的子集合.在该子集合中

17、,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.边界值分析法边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边

18、界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.错误推测法基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.例如,在单元测试时曾列出的许多在模块中常见的错误.以前产品测试中曾经发现的错误等,这些就是经验的总结.还有,输入数据和输出数据为0的情况.输入表格为空格或输入表格只有一行.这些都是容易发生错误的情况.可选择这些情况下的例子作为测试用例.因果图方法前面介绍的等价类划分方法和边界值分析方法,都是着

19、重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例这就需要利用因果图(逻辑模型).因果图方法最终生成的就是判定表.它适合于检查程序输入条件的各种组合情况.正交表分析法有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而

20、达到尽量少的用例覆盖尽量大的范围的可能性。.场景分析方法指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。.您认为做好测试用例设计工作的关键是什么?关键是对系统的熟悉程度,需求的理解,设计文档的了解情况,对要测试对象的深度了解,业务的了解,还有经验的积累白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题.请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。软件测试用例的基本要素包括测试用例编号、测试标题、

21、重要级别、测试输入、操作步骤、预期结果,下面逐一介绍。用例编号测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则:PROJECT1-ST-001,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。测试标题对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如“测试用户登录时输入错误密码时,软件的响应情况”。重要级别定义测试用例的优先级别,可以笼统的分为“高”和“低”两个级别。一般来说,如果软件需求的优先级为“高”,那么针对该需求的测试用例优先级也为“高”;反之亦然.您以往的工作中是否曾开展过测试用例的评审工作?如

22、果有,请描述测试用例评审的过程和评审的内容。1:评审的过程A:开始前做好如下准备1、确定需要评审的原因2、确定进行评审的时机3、确定参与评审人员4、明确评审的内容5、确定评审结束标准6、提前至少一天将需要评审的内容以邮件的形式发送给评审会议相关人员。并注明详审时间、地点及偿参与人员等。7、在邮件中提醒评审会议相关人员至少简读一遍评审内容,并记录相关的疑问,以便在评审会议上提出。8、会议主持者(一般为用例编写人员)应在会议前整理相关疑问,以便在会议上提出。B:开始评审1、召开评审会议。与会者在设计人员讲解之后给出意见和建议,同时进行详细的评审记录。2、通用邮件与相关人员沟通3、通用IM工具直接与

23、相关人员交流4、根据评审内容进行评审2:评审内容1、用例设计的结构安排是否清晰、合理,是否利于高效对需求进行覆盖。2、优先极安排是否合理。3、是否覆盖测试需求上的所有功能点。4、用例是否具有很好可执行性。例如用例的前提条件、执行步骤、输入数据和期待结果是否清晰、正确;期待结果是否有明显的验证方法。5、是否已经删除了冗余的用例。6、是否包含充分的负面测试用例。充分的定义,如果在这里使用2&8法则,那就是4倍于正面用例的数量,毕竟一个健壮的软件,其中80%的代码都是在保护”20%勺功能实现。7、是否从用户层面来设计用户使用场景和使用流程的测试用例。8、是否简洁,复用性强。例如,可将重复度高的步骤或

24、过程抽取出来定义为一些可复用标准步骤。3:参与评审人员(这里会分为多个级别进行评审)1、部门评审,测试部门全体成员参与的评审。2、公司评审,这里包括了项目经理、需求分析人员、架构设计人员、开发人员和测试人员。3、客户评审,包括了客户方的开发人员和测试人员。这种情况在外包公司比较常见.您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。.您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?一般来讲,性能测

25、试目的覆盖.发现系统性能瓶颈.容量规划.benchmark评估.系统选型基准.系统调优关键:.规划和策略.关键性性能指标定义.环境模拟.回归测试中的调优.在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?.您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。.您以往是否曾经从事过单元测试和集成测试?如果有,请谈一下这些工作的实际开展情况。.您如何看待软件过程改进?在您曾经工作过的企业中,是否有一些需要改进的东西呢?您期望的理想的测试人员的工作环境是怎样

26、的?改进用户需求过程进用户需求的获取方式1)研究用户特点2)成立需求调查小组进获取用户需求的态度1)正式的外部文档方式2)正式的提交过程进用户需求内容准备工作1)专业的用户需求调查表单,力求取得用户的配合,由用户或需求调?1)用户需求的分析、总结,须及时反馈到用户方,以取得及时而有效、满意但不多余的需求2改进需求分析方式1)改进需求分析的前提条件一一正确的获取用户的需求2)针对不同尧也系统采用不同的需求方式和模型,更有助于界定需求的范畴3)及时总结、改进需求分析方式和模型,形成需求分析模式库4)复用和改进需求分析模式库5)加载有效的、适用的、先进的需求分析理论于经验分析基础之上6)改进项目组内

27、需求分析的沟通和流通7)在需求分析初始,尽早分析需求的可行性,并作备案8)对不适当需求,与用户沟通,以取得理解和信任9)对不合理需求,协调用户,以降低成本10)需求一旦获得认定,尽快进行系统分析和设计11)及时有效的控制需求的变化,防止对需求随意的更改和增删3改进系统分析和设计原则1)以最小的代价实现系统2)以开发人员最熟悉的方法、技术和工具实现系统3)尽量采用先进的方法和理论,以适应发展的需求4)在系统的相关处,与具体的实施人员进行及时有效的沟通,寻求实现的最佳途径5)以简单、易懂的方式进行分析和设计6)以简单、易懂的方式表现系统7)系统分析的方式要易于复用,并及时进行调整、改进,系统系统分

28、析库8)对系统的分析、设计加以控制、遵守,防止系统结构的随意更改4改进系统的实施和验证1)确保在取得共同的理解后才进行系统的实施和验证2)系统的实施和验证遵循一定的流程,以约定的方式进行沟通3)系统的变化能够以多种不同方式进行沟通,以确保变化被告知、并被认可4)确保在系统的实施和验证过程中,所采用的方式和方法是易于理解的,且不易发生变化5)系统的实施和验证完成标识明显,易于被相关人员识别5改进用户验收被动局面1)理解和支持用户的行为2)取得用户的理解和支持3)对系统进行充分的验证4)提高系统安装的成功率和速度5)改进系统界面,使系统直观、有效6)保证进度,提高诚信度6改进系统维护过程1)对用户

29、进行有效的培训2)快捷、有效、合理的处理用户的问题3)跟踪问题,形成问题库.您以往工作过的企业中,是否开展了软件配置管理工作?您能否描述一下这项工作的开展情况和您对这项工作的认识?软件配置管理(SoftwareConfigurationManagement,SCM)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。我们知道,在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率软

30、件配置管理,贯穿于整个软件生命周期,它为软件研发提供了一套管理办法和活动原则。软件配置管理无论是对于软件企业管理人员还是研发人员都着重要的意义。软件配置管理可以提炼为三个方面的内容VersionControl-版本控制版本控制是全面实行软件配置管理的基础,可以保证软件技术状态的一致性。我们在平时的日常工作中都在或多或少地进行版本管理的工作。比如有时我们为了防止文件丢失,而拷贝一个后缀为bak或日期的备份文件。当文件丢失或被修改后可以通过该备份文件恢复。版本控制是对系统不同版本进行标识和跟踪的过程。版本标识的目的是便于对版本加以区分、检索和跟踪,以表明各个版本之间的关系。一个版本是软件系统的一个

31、实例,在功能上和性能上与其他版本有所不同,或是修正、补充了前一版本的某些不足。实际上,对版本的控制就是对版本的各种操作控制,包括检入检出控制、版本的分支和合并、版本的历史记录和版本的发行。ChangeControl-变更控制进行变更控制是至关重要的。但是要实行变更控制也是一件令人头疼的事情。我们担忧变更的发生是因为对代码的一点小小的干扰都有可能导致一个巨大的错误,但是它也许能够修补一个巨大的漏洞或者增加一些很有用的功能。我们担忧变更也因为有些流氓程序员可能会破坏整个项目,虽然智慧思想有不少来自于这些流氓程序员的头脑。过于严格的控制也有可能挫伤他们进行创造性工作的积极性。但是,如果你不控制他,他

32、就控制了你!ProcessSupport-过程支持一般来说,人们已渐渐意识到了软件工程过程概念的重要性,而且人们也逐渐了解了这些概念和软件工程支持技术的结合,尤其是软件过程概念与CM有着密切的联系,因为CM理所当然地可以作为一个管理变更的规则(或过程)。如IEEE软件配置管理计划的标准就列举了建立一个有效的CM规则所必需的许多关键过程概念。但是,传统意义上的软件配置管理主要着重于软件的版本管理,缺乏软件过程支持的概念。在大多数有关软件配置管理的定义中,也并没有明确提出配置管理需要对过程进行支持的概念。因此,不管软件的版本管理得多好,组织之间没有连接关系,组织所拥有的是相互独立的信息资源,从而形

33、成了信息的孤岛。在CM提供了过程支持后,CM与CASE环境进行了集成,组织之间通过过程驱动建立一种单向或双向的连接。对于开发员或测试员则不必去熟悉整个过程,也不必知道整个团队的开发模式。他只需集中精力关心自己所需要进行的工作。在这种情况下,可以延续其一贯的工作程序和处理办法。.您是否熟悉一些主流的软件工程方法论和思想,如RUP、CMM、CMMI、XP、PSPTSR如果熟悉,您是否可以谈一下对这些方法论和思想的认识?RUP(RationalUnifiedProcess,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。极限编程(ExtremeProgramming,XP)

34、是一门针对业务和软件开发的规则,它的作用在于将两者的力量集中在共同的、可以达到的目标上。它是以符合客户需要的软件为目标而产生的一种方法论,XP使开发者能够更有效XP的响应客户的需求变化,哪怕是在软件生命周期的后期。它强调,软件开发是人与人合作进行的过程,因此成功的软件开发过程应该充分利用人的优势,而弱化人的缺点,突出了人在软件开发过程中的作用。极端编程属于轻量级的方法,认为文档、架构不如直接编程来的直接XP的核心思想从长远看,早期发现错误以及降低复杂度可以节约成本。极限编程强调我们将任务/系统细分为可以在较短周期解决的一个个子任务/模块,并且强调测试、代码质量和及早发现问题。通常,通过一个个短

35、小的迭代周期,我们就可以获得一个个阶段性的进展,并且可以及时形成一个版本供用户参考,以便及时对用户可能的需求变更作出响应极限编程中有四个核心价值是我们在开发中必须注意的:沟通(Communication)、简单(Simplicity)、反馈(Feedback)和勇气(Courage)。.您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?一,有共同的目标,共同的利益。二,默契。三,大度,谦让,素质。.选择正确的沟通途径选择正确的沟通途径对于确保完成沟通目标起到非常重要的作用。在软件项目管理中,存在各种各样的沟通

36、。可能因为沟通的对象不同,也可能因为沟通的内容不同,我们可能需要选择不同沟通途经。最有效的是facetoface的沟通,特别是在需求评审阶段。有些比较复杂的用文字容易出现歧义的问题,面对面以及电话沟通往往是最直接最有效最清晰的。.使表述的内容易于理解沟通的困难往往在于无法把想要讲述的内容以一种对方容易理解的方式呈现给对方。作为测试人员,bug的描述一定要清晰,主题要简明扼要,场景步骤要描述清楚比如测试帐号,数据,以及重现的步骤。因为,有些比较浅的bug开发可能通过看主题就已经可以定位了,不需要在看繁琐的步骤。那场景步骤描述的是否清晰直接影响到测试人员和开发之间的沟通成本。.沟通技巧先礼后兵”,

37、测试和开发的沟通在整个项目过程中都是很重要的一个环节。作为测试人员一定要在明确自己的立场(保障项目质量和用户需求)的同时,注意和开发同学沟通的方式方法。先礼后兵”和重要,有问题先要很好的沟通,必要的时候可以从他们的立场出发去寻求突破,不要轻易破坏和开发之间的友好关系,但是在问题得不到解决,或者会直接影响到项目的进度及质量的时候,也要果断的向上一级寻求帮助,让更有发言权的人来作出沟通23.在您以往的测试工作中, 待这些事情的?和确定。最让您感到不满意或者不堪回首的事情是什么?您是如何来对24.在即将完成这次笔试前,您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测

38、试、过程改进、软件开发或者与此无关的其他方面)判断题(每题1分,12分,正确的M错误的X).软件测试的目的是尽可能多的找出软件的缺陷。()V.Beta测试是验收测试的一种。().验收测试是由最终用户来实施的。().项目立项前测试人员不需要提交任何工件。()5单元测试能发现约80%的软件缺陷。()6代码评审是检查源代码是否达到模块设计的要求。()7自底向上集成需要测试员编写驱动程序。()8负载测试是验证要检验的系统的能力最高能达到什么程度。()9测试人员要坚持原则,缺陷未修复完坚决不予通过。()10代码评审员一般由测试员担任。()11我们可以人为的使得软件不存在配置问题。()12集成测试计划在需

39、求分析阶段末提交。()二、不定项选择题(每题2分,10分)1软件验收测试的合格通过准则是:()A软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。B所有测试项没有残余一级、二级和三级错误。C立项审批表、需求分析文档、设计文档和编码实现一致。D验收测试工件齐全。2软件测试计划评审会需要哪些人员参加?()A项目经理BSQA负责人C.配置负责人D测试组3下列关于alpha测试的描述中正确的是:()A.alpha测试需要用户代表参加Balpha测试不需要用户代表参加Calpha测试是系统测试的一种D.alpha测试是验收测试的一种4测试设计员的职责有:()A制定测试计划B设计测试用例

40、C.设计测试过程、脚本D评估测试活动5软件实施活动的进入准则是:()A需求工件已经被基线化B详细设计工件已经被基线化C.构架工件已经被基线化D项目阶段成果已经被基线化三、填空题(每空1分,24分)1软件验收测试包括、三种类型。2系统测试的策略有功能测试、易用性测试、等15种方法。3设计系统测试计划需要参考的项目文档有、和迭代计划。4对面向过程的系统采用的集成策略有、两种。5通过画因果图来写测试用例的步骤为、及把因果图转换为状态图共五个步骤。 TOC o 1-5 h z 四、简答题(共37分)阶段评审与同行评审的区别。(4分)什么是软件测试。(3分)简述集成测试的过程。(5分)怎样做好文档测试?

41、(4分)白盒测试有那几种方法?(6分)系统测试计划是否需要同行评审,为什么?(4分)Alpha测试与beta测试的区别。(4分)比较负载测试、容量测试和强度测试的区别。(6分)测试结束的标准是什么?(3分)五、设计题(共15分)对下面给出的程序控制图,分别以各种不同的测试方法写出最少的测试用例。测试人员_考试试卷(考试时间100分钟,满分100分)姓名:部门:员工号:一、填空题:(每一空格2分,共60分)软件实施活动的输出工件有、。代码评审主要做工作。软件实施活动中集成员的职责是。验证与确认软件实施活动主要有、代码评审、SQA验证。表明测试已经结束。软件测试的目的是。软件测试主要分为、四类测试

42、。软件测试活动有制定测试计划、测试评估、测试结束八个步骤。软件测试活动的输出工件有_、。10、软件测试角色有、。二、不定项选择题:(每题3分,共15分)1、软件实施活动的进入准则是()A、需求工件已经被基线化B、详细设计工件已经被基线化C、构架工件已经被基线化D、项目阶段成果已经被基线化2、下面角色不属于集成计划评审的是()A、配置经理B、项目经理C、测试员D、编码员3、软件测试设计活动主要有()A、工作量分析B、确定并说明测试用例C、确立并结构化测试过程D、复审并评估测试覆盖4、不属于集成测试步骤的是()A、制定集成计划B、执行集成测试C、记录集成测试结果D、回归测试5、属于软件测试活动的输

43、入工件的是()A、软件工作版本B、可测试性报告C、软件需求工件D、软件项目计划三、问答题:(共25分)、项目的集中管理在软件公司的哪一个层面?(2分)请描述软件测试活动的生命周期。(8分)什么是测试评估,测试评估的范围是什么?(5分)阐述工作版本的定义。(2分)、请画出软件测试活动的流程图。(8分)测试人员考试试卷(考试时间90分钟,满分100分)姓名:部门:员工号:一、判断题(每题2分,正确的J错误的XJ TOC o 1-5 h z 、好的测试员不懈追求完美。()测试程序仅仅按预期方式运行就行了。()不存在质量很高但可靠性很差的产品。()软件测试员可以对产品说明书进行白盒测试。()静态白盒测

44、试可以找出遗漏之处和问题。()总是首先设计白盒测试用例。()可以发布具有配置缺陷的软件产品。()所有软件必须进行某种程度的兼容性测试。()所有软件都有一个用户界面,因此必须测试易用性。()、测试组负责软件质量。()二、简答题、软件的缺陷等级应如何划分?(3分)如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么?(5分)你认为一个优秀的测试工程师应该具备哪些素质?(3分)产品测试到什么时候就算是足够了?(2分)测试计划的目的是什么?(2分)为什么要进行软件测试?软件测试的目的是什么?(5分)、软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?(5分)如何做一名合格的测试

45、人员?(3分)针对缺陷采取怎样的管理措施?(5分)专业词语解释(每题2分)a测试:3测试:驱动模块:桩模块:白盒测试:静态测试:选择题(每题2分).下面哪些属于动态分析()A代码覆盖率B模块功能检查C系统压力测试D程序数据流分析.下面哪些属于静态分析()A、代码规则检查B、序结构分析C、序复杂度分析D、内存泄漏设计题(10分)A、B和Co当三边不可能构成三角形时“等腰三角形 ”, 若是等边三角形,则提示 “等, 对此设计一个测试用例。10 分)在三角形计算中,要求三角型的三个边长:提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印边三角形。”画出程序流程图、控制流程图、找出基本测试路径

46、论述题、试叙述对一个软件项目测试的全过程。(、简述你对测试工作的认识过程、在以后的工作的一些建议。(6分)、述静态测试和动态测试的区别?(5分)测试人员_考试试卷(考试时间100分钟,每题10分,满分100分)姓名:部门:员工号:什么是软件测试,以及软件测试的意义?什么是软件测试静态分析,软件测试动态分析,下面那些属于静态分析()A、编码规则检查B、程序结构分析C、程序复杂度分析D、内存泄漏下面那些属于动态分析()A、代码覆盖率B、模块功能检查C、系统压力测试D、程序数据流分析从测试技术角度,正确的选择是(),给出各自的含义?A、静态测试B、黑盒测试C、动态测试D、白盒测试从测试阶段角度,测试

47、正确的顺序是(),同时给出所选择的正确策略含义和被测对象是什么?A、单元测试B、集成测试C、系统测试D、确认测试针对缺陷采取怎样的管理措施?在测试生命周期,测试过程分为几个阶段,以及各个阶段的含义?简要写出自己在理解的基础质上所认为引入测试管理的意义在三角形计算中,要求三角型的三个边长:A、B和Co当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形,”若是等边三角形,则提示“等边三角形。”画出程序流程图、控制流程图、计算圈复杂度V(g),找出基本测试路径。、根据你的经验说说你对软件测试/质量保证的理解?软件质量保证与测试是根据软件开发阶段的规格说明和

48、程序的内部结构而精心设计的一批测试用例(即输入数据和预期的输出结果),并利用这些测试用例去运行程序,以发现错误的过程。它是对应用程序的各个方面进行测试以检查其功能、语言有效性及外观排布.软件测试的流程是什么?需求调查:全面了解您的系统概况、应用领域、软件开发周期、软件开发环境、开发组织、时间安排、功能需求、性能需求、质量需求及测试要求等根据系统概况进行项目所需的人员、时间和工作量估计及项目报价。制定初步的项目计划:在与您充分共同和协商的基础上制定我们的测试计划。测试准备:组织测试团队、培训、建立测试和管理环境等。测试设计:按照测试要求进行每个测试项的测试设计,包括测试用例的设计及测试脚本的开发

49、等。测试实施:按照测试计划进行实施测试。测试评估:根据测试的结果,出具测试评估报告。(1)你对SQA的职责和工作活动(如软件度量)的理解:SQA就是独立于软件开发的项目组,通过对软件开发过程的监控,来保证软件的开发流程按照指定的CMM规程(如果有相应的CMM规程),对于不符合项及时提出建议和改进方案,必要是可以要高层经理汇报以求问题的解决。通过这样的途径来预防缺陷的引入,从而减少后期软件的维护成本。SQA主要的工作活动包括制定SQA工作计划,参与阶段产物的评审,进行过程质量、功能配置及物理配置的审计等;对项目开发过程中产生的数据进行度量等等;说说你对软件配置管理的理解:项目在开发的过程中要用相

50、应的配置管理工具对配置项(包括各个阶段的产物)进行变更控制,配置管理的使用取决于项目规模和复杂性能及风险的水平。软件的规模越大,配置管理就显得越重要。还有在配置管理中,有一个很重要的概念,那就是基线,是在一定阶段各个配置项的组合,一个基线就提供了一个正式的标准,随后的工作便基于此标准,并且只有经过授权后才能变更这个标准。配置管理工具主要有CC,VSS,CVS等,偶只用过CVS,对其它的不熟悉怎样写测试计划和测试用例:简单点,测试计划里应有详细的测试策略(测试方法等),合理详尽的资源安排等,至于测试用例,那是依赖于需求(包括功能与非功能需求)是否细化到功能点,是否可测试等。说说主流的软件工程思想

51、(如CMM,CMMI,RUP,XP,PSP,TSP等)的大致情况以及对它们的理解:CMM:SWCapabilityMaturityModel软件能力成熟度模型,其作用是用于软件过程的改进、评估及软件能力的评鉴CMMI:CapabilityMaturityModelIntegration能力成熟度模型集成CMMI融入了大部分最新的软件管理实践,同时弥补了SW-CMM模型中的缺陷RUP:rationalunifiedprocess是软件工程化过程。XP:extremeprogram,即极限编程的意思,适用于小型团队的软件开发,想上面第三个问题就可以结合原型法采用这样的开发流程。要明白测试对于xp开

52、发的重要性,强调测试(重点是单元测试)先行的理念。编程可以明显提高代码的质量,持续集成对于快速定位问题很有好处。PSP,TSP分别是个体软件过程(PersonalSoftwareProcess),群组软件过程(TeamSoftwareProcess)大家都知道,CMM只是告诉你怎么做但并没有告诉你如何做,所以PSP/TSP就是告诉你企业在实施CMM的过程中如何做,PSP强调建立个人技能(如何制定计划、控制质量及如何与其他人相互协作等等)而TSP着重于生产并交付高质量的软件产品(如何有效地规划和管理所面临的项目开发任务等等)。总之,单纯实施CMM,永远不能真正做到能力成熟度的升级,只有将实施CM

53、M与实施PSP和TSP有机地结合起来,才能发挥最大的效力。因此,软件过程框架应该是CMM/PSP/TSP的有机集成。4、还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?测试并不能够最大限度的保证软件的质量,软件的高质量是开发和设计出来的,而不是测试出来的,它不仅要通过对软件开发流程的监控,使得软件开发的各个阶段都要按照指定的规程进行,通过对各个阶段产物的评审,QA对流程的监控,对功能及配置的审计来达到开发的最优化。当然测试也是保证软件质量的一个重要方式,是软件质量保证工程的一个重要组成部分。5、然后紧接着就基于目前中国的国情,大多数公司的软件项目进度紧张、人员较

54、少、需求文档根本没有或者很不规范,你认为在这种情况下怎样保证软件的质量?(大多数公司最想知道的就是在这种困难面前你该怎么保证软件的质量,因为这些公司一般就是这种情况既不想投入过多又想保证质量,faint)出现以上的情况,如果仅仅想通过测试来提高软件质量,那几乎是不可能,原因是没有足够的时间让你去测试,少而不规范的文档导致测试需求无法细化何谈足够且有针对性进行测试。所以,作为公司质量保证的你应该先和项目经理确定符合项目本身最适合的软件生命周期模型(比如RUP的剪裁,原型法),明确项目的开发流程并督促项目组按照此流程开展工作,所有项目组成员(项目经理更加重要)都要制定出合理的工作计划,加强代码的单

55、元测试,在客户既定的产品交付日期范围之内,进行产品的持续集成等等,如果时间允许可以再配合客户进行必要的系统功能测试。6、一个测试工程师应具备那些素质和技能? TOC o 1-5 h z 1、掌握基本的测试基础理论;2、本着找出软件存在的问题的态度进行测试,即客观吧,不要以挑刺形象出现3、可熟练阅读需求规格说明书等文档;4、以用户的观点看待问题5、有着强烈的质量意识;6、细心和责任心;7、良好的有效的沟通方式(与开发人员及客户)8、具有以往的测试经验;能够及时准确地判断出高危险区在何处.7、做好软件测试的一些关键点.测试人员必须经过测试基础知识和理论的相关培训。.测试人员必须熟悉系统功能和业务。

56、.测试必须事先要有计划,而且测试方案要和整个项目计划协调好.必须事先编写测试用例,测试执行阶段必须根据测试用例进行.易用性,功能,分支,边界,性能等功能性和非功能性需要都要进行测试.对于复杂的流程一定要进行流程分支,组合条件分析,再进行等价类划分准备相关测试数据.测试设计的一个重要内容是要准备好具体的测试数据,清楚这个测试数据是测哪个场景或分支的.个人任务平均每三个测试用例至少应该发现一个BUG,否则只能说明测试用例质量不好其它暂时都不要考虑去自动化。.除了每日构建的冒烟测试可以考虑测试自动化外,8、软件测试员自身素质培养首先,应对软件测试感兴趣和对自己有自信,如果具备了这两点,那么在开发过程

57、中不管遇到什么样的困难,我相信你一定能克服。善于怀疑,世界上没有绝对正确的,总有错误的地方,具有叛逆心理,别人认为不可能发生的事,我却认为可能发生。别人认为是对的,我却认为不是对的。(3)打破砂锅问到底的精神,对于只出现过一次的bug,一定找出原因,不解决誓不罢休。保持一个良好的心情,否则可能无法把测试作好。不要把生活中的不愉快的情绪带到工作中来。做测试时要细心,不是所有的bug都能很容易的找出,一定要细心才能找出这些bug。灵活一些,聪明一点,多制造一些容易产生bug的例子。在有条件的情况下,多和客户沟通,他们身上有你所需要的。设身处地为客户着想,从他们的角度去测试系统。不要让程序员,以“这

58、种情况不可能发生”这句话说服你,相反,你应该去说服他,告诉他在客户心里,并不是这样的。考虑问题要全面,结合客户的需求、业务的流程、和系统的构架,等多方面考虑问题。提出问题不要复杂化,这一点和前面的有点矛盾,如果你是一新手,暂时不要管这一点,因为最终将有你的小组成员讨论解决。追求完美,对于新测试员来说,努力的追求完美,这对你很好,尽管有些事无法做到,但你应该去尝试。幽默感,能和开发小组很好的沟通是关键,试着给你的开发小组找一个“BUG杀手”,或对他们说“我简直不敢相信,你写的程序居然到现在没有找到BUG”。)到此是不是对测试很有兴趣呢?不过我要告诉你,测试过程中有酸甜苦辣,其中的滋味只有你知道,

59、也许你会感到枯燥,要学会放松自己,去溜冰或做你喜欢做的事,不过,别放弃,因为你的自信告诉过你“你会是很优秀的测试员”不是吗?9、为什么要在一个团队中开展软件测试工作?因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。、您所熟悉的软件测试类型都有哪些?测试类型有:功能测试,性能测试,界面测试。功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。性能测试是通过自动化的测试工具模拟多种正常、

60、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。区别在于,功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的),是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功能点,首先要保证

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论