您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 软件测试工程师资料与面试题
开发思想,逻辑能力目录测试用例...........................................................................................................................................2测试用例的设计...............................................................................................................................3(一)白盒技术...............................................................................................................3(二)黑盒技术...............................................................................................................4面试题..............................................................................................................................................9测试用例测试用例(TestCase)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。测试用例构成了设计和制定测试过程的基础。编制测试用例的具体做法:1、测试用例文档2、测试用例的设置3、设计测试用例测试用例在软件测试中的作用:1、指导测试的实施。测试用例主要适用于集成测试、系统测试和回归测试。2、规划测试数据的准备3、编写测试脚本的设计规格说明书4、评估测试结果的度量基准。完成测试实施后需要对测试结果进行评估,并且编制测试报告。判断软件测试是否完成、衡量测试质量需要一些量化的结果。例:测试覆盖率是多少、测试合格率是多少、重要测试合格率是多少,等等。5、分析缺陷的标准测试用例的设计(一)白盒技术白盒测试是结构测试,所以被测对象基本上是源程序,以程序的内部逻辑为基础设计测试用例。1、逻辑覆盖程序内部的逻辑覆盖程度,当程序中有循环时,覆盖每条路径是不可能的,要设计使覆盖程度较高的或覆盖最有代表性的路径的测试用例。(1)语句覆盖。为了个提高发现错误的可能性,在测试时应该执行到程序中的每一个语句。语句覆盖是指设计足够的测试用例,使被测试程序中每个语句至少执行一次。(2)判定覆盖。判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次,因此判定覆盖也称分支覆盖。(3)条件覆盖。条件覆盖是指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至少出现一次。(4)判定/条件测试。该覆盖标准指设计足够的测试用例,使得判定表达式的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。(5)条件组合覆盖。条件组合覆盖是比较强的覆盖标准,它是指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。(6)路径覆盖。路径覆盖是指设计足够的测试用例,覆盖被测程序中所有可能的路径。在实际的逻辑覆盖测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例,以达到路径覆盖测试标准。2.循环覆盖3.基本路径测试(二)黑盒技术黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。1.等价类划分(1)划分等价类。①如果某个输入条件规定了取值范围或值的个数。则可确定一个合理的等价类(输入值或数在此范围内)和两个不合理等价类(输入值或个数小于这个范围的最小值或大于这个范围的最大值)。②如果规定了输入数据的一组值,而且程序对不同的输入值做不同的处理,则每个允许输入值是一个合理等价类,此处还有一个不合理等价类(任何一个不允许的输入值)。③如果规定了输入数据必须遵循的规则,可确定一个合理等价类(符合规则)和若干个不合理等价类(从各种不同角度违反规则)。④如果已划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分为更小的等价类。(2)确定测试用例。①为每一个等价类编号。②设计一个测试用例,使其尽可能多地覆盖尚未被覆盖过的合理等价类。重复这步,直到所有合理等价类被测试用例覆盖。③设计一个测试用例,使其只覆盖一个不合理等价类。2.边界值分析使用边界值分析方法设计测试用例时一般与等价类划分结合起来。但它不是从一个等价类中任选一个例子作为代表,而是将测试边界情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。(1)如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用例,同时还要选择刚好越过边界值的数据作为不合理的测试用例。如输入值的范围是[1,100],可取0,1,100,101等值作为测试数据。(2)如果输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数少1、比最大个数多1等情况分别设计测试用例。如,一个输入文件可包括1--255个记录,则分别设计有1个记录、255个记录,以及0个记录的输入文件的测试用例。(3)对每个输出条件分别按照以上原则(1)或(2)确定输出值的边界情况。如,一个学生成绩管理系统规定,只能查询95--98级大学生的各科成绩,可以设计测试用例,使得查询范围内的某一届或四届学生的学生成绩,还需设计查询94级、99级学生成绩的测试用例(不合理输出等价类)。由于输出值的边界不与输入值的边界相对应,所以要检查输出值的边界不一定可能,要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。(4)如果程序的规格说明给出的输入或输出域是个有序集合(如顺序文件、线形表、链表等),则应选取集合的第一个元素和最后一个元素作为测试用例。3.错误推测在测试程序时,人们可能根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例,这就是错误推测法。4.因果图等价类划分和边界值方法分析方法都只是孤立地考虑各个输入数据的测试功能,而没有考虑多个输入数据的组合引起的错误。5.综合策略每种方法都能设计出一组有用例子,用这组例子容易发现某种类型的错误,但可能不易发现另一类型的错误。因此在实际测试中,联合使用各种测试方法,形成综合策略,通常先用黑盒法设计基本的测试用例,再用白盒法补充一些必要的测试用例测试用例模板:模块描述XX项目/XX模块提交时间测试人测试时间测试环境测试工具功能1描述XX项目/XX模块/XX功能用例目的前提条件输入/动作期望的输出/相应实际情况期待输出和实际比较软件测试工具也分为自动化软件测试工具和测试管理工具。国内免费软件测试工具有:黑盒测试工具AutoRunner可以用来完成功能测试、回归测试、每日构建测试与自动回归测试等工作和TestCenter是一款功能强大测试管理工具,它可以帮助您:实现测试用例的过程管理,对测试需求过程、测试用例设计过程、业务组件设计实现过程等整个测试过程进行管理。面试题一、判断题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测试需要用户代表参加D.alpha测试是验收测试的一种4.测试设计员的职责有:(BC)B.设计测试用例C.设计测试过程、脚本5.软件实施活动的进入准则是:(ABC)A.需求工件已经被基线化B.详细设计工件已经被基线化C.构架工件已经被基线化三、添空1.软件验收测试包括:正式验收测试,alpha测试,beta测试。2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15就满分哦)3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。4.对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。5.(这题出的有问题哦,详细的5步骤为~~)通过画因果图来写测试用例的步骤为:(1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。(2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?根据这些关系,画出因果图。(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。(4)把因果图转换成判定表。(5)把判定表的每一列拿出来作为依据,设计测试用例。四、简答(资料是搜集整理的,感谢前辈的解题)无1.区别阶段评审的与同行评审同行评审目的:发现小规模工作产品的错误,只要是找错误;阶段评审目的:评审模块阶段作品的正确性可行性及完整性同行评审人数:3-7人人员必须经过同行评审会议的培训,由SQA指导阶段评审人数:5人左右评审人必须是专家具有系统评审资格同行评审内容:内容小一般文档40页,代码500行阶段评审内容:内容多,主要看重点同行评审时间:一小部分工作产品完成阶段评审时间:通常是设置在关键路径的时间点上!2.什么是软件测试为了发现程序中的错误而执行程序的过程3简述集成测试的过程系统集成测试主要包括以下过程:1.构建的确认过程。2.补丁的确认过程。3.系统集成测试测试组提交过程。4.测试用例设计过程。5.测试代码编写过程。6.Bug的报告过程。7.每周/每两周的构建过程。8.点对点的测试过程。9.组内培训过程。4怎么做好文档测试仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。P142检查文档的编写是否满足文档编写的目的内容是否齐全,正确内容是否完善标记是否正确5白盒测试有几种方法总体上分为静态方法和动态方法两大类。静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义动态:语句覆盖、判定覆盖、
本文标题:软件测试工程师资料与面试题
链接地址:https://www.777doc.com/doc-2011779 .html