关闭

关闭

封号提示

内容

首页 企业面试试卷(测试基础).doc

企业面试试卷(测试基础).doc

企业面试试卷(测试基础).doc

上传者: 誓言只不过是安慰的谎言 2017-10-19 评分 5 0 191 26 868 暂无简介 简介 举报

简介:本文档为《企业面试试卷(测试基础)doc》,可适用于IT/计算机领域,主题内容包含企业面试试卷(测试基础)什么是测试用例什么是测试脚本两者的关系是什么,简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试β测试软件质量保证体系符等。

企业面试试卷(测试基础)什么是测试用例什么是测试脚本两者的关系是什么,简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试β测试软件质量保证体系是什么国家标准中与质量保证管理相关的几个标准是什么他们的编号和全称是什么软件产品质量特性是什么软件测试的原则与策略是什么结构化系统测试和功能性系统测试分别采用了哪些方法和技术软件测试分为几个阶段各阶段的测试策略和要求是什么面向对象的测试用例设计有几种方法,如何实现在软件测试各个阶段通常完成什么工作,各个阶段的结果文件是什么,包括什么内容,***********************************************************、答案如下:a)为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。b)测试脚本是为了进行自动化测试而编写的脚本。c)测试脚本的编写必须对应相应的测试用例、答案如下:a)静态测试是不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。b)动态测试是实际运行被测程序输入相应的测试实例检查运行结果与预期结果的差异判定执行结果是否符合要求从而检验程序的正确性、可靠性和有效性并分析系统运行效率和健壮性等性能。c)黑盒测试一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性。d)白盒测试根据软件内部的逻辑结构分析来进行测试,是基于代码的测试测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量一般黑盒测试由项目经理在程序员开发中来实现。e)α测试是由一个用户在开发环境下进行的测试也可以是公司内部的用户在模拟实际操作环境下进行的受控测试Alpha测试不能由程序员或测试员完成。f)β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场Beta测试不能由程序员或测试员完成。、答案如下:a)来自Wikipedia对SQA的定义软件质量保证(SQA):SoftwareQualityAssurance(SQA)consistsofthesoftwareengineeringprocessesandmethodsusedtoensurequalitySQAencompassestheentiresoftwaredevelopmentprocess,whichmayincludeprocessessuchasreviewingrequirementsdocuments,sourcecodecontrol,codereviews,changemanagement,configurationmanagement,releasemanagementandofcourse,softwaretestingSQA由一套软件工程过程和方法组成以保证(软件的)质量。SQA贯穿整个软件开发过程(它)应包括需求文档评审、代码控制、代码评审、变更管理、配置管理、版本管理和软件测试。b)国家标准:iGBT计算机软件文档编制规范iiGBT信息技术软件工程术语iiiGBT软件工程产品质量第部分:质量模型ivGBT软件工程产品质量第部分:外部度量vGBT软件工程产品质量第部分:内部度量viGBT软件工程产品质量第部分:使用质量的度量viiGBZ软件工程软件生成周期过程用于项目管理的指南viiiGBT信息技术软件维护ixGBT信息技术软件生成周期过程配置管理、答案如下:a)功能性:适应性、准确性、互操作性、依从性、安全性。b)可靠性:成熟性、容错性、以恢复性。c)可使用性:易理解性、易学习性、易操作性。d)效率:时间特性、资源特性。e)可维护性:易分析性、易变更性、稳定性、易测试性。f)可移植性:适应性、易安装性、遵循性、易替换性。、答案如下:a)软件测试的原则:教材的说法:i软件测试应尽早执行并贯穿于整个软件生命周期ii软件测试应追溯需求iii测试应由第三方来构造iv穷举测试是不可能的,要遵循Goodenough原则v必须确定预期输出(或结果)vi必须彻底检查每个测试结果vii充分注意测试中的群集现象viii缺陷的二八定理ix严格执行测试计划排除测试的随意性x注意合法合理的输入也要注意非法的非预期的输入xi检查程序是否是否做了不该做的xii测试应从“小规模”开始逐步转向“大规模”xiii反复使用同样的测试会使软件具有抵抗力xiv关注缺陷的修复另一种说法:i应当把“尽早和不断地测试”作为开发者的座右铭。ii程序员应该避免检查自己的程序测试工作应该由独立的专业的软件测试机构来完成。iii设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件特殊情况下要制造极端状态和意外状态比如网络异常中断、电源断电等情况。iv一定要注意测试中的错误集中发生现象这和程序员的编程水平和习惯有很大的关系。v对测试错误结果一定要有一个确认的过程。一般有A测试出来的错误一定要有一个B来确认严重的错误可以召开评审会进行讨论和分析。vi制定严格的测试计划并把测试时间安排得尽量宽松不要希望在极短的时间内完成一个高水平的测试。vii回归测试的关联性一定要引起充分的注意修改一个错误而引起更多错误出现的现象并不少见。viii妥善保存一切测试过程文档意义是不言而喻的测试的重现性往往要靠测试文档。b)软件测试策略:在一定的软件测试标准、测试规范的指导下依据测试项目的特定环境约束而规定的软件测试的原则、方式、方法的集合。、答案如下:a)结构化系统测试技术:用于验证所开发的系统及程序的运行情况。目标是要确保产品设计在结构上合理功能上正确。为确定实现的配置及其各功能共同作用以完成特定任务提供了一种机制。结构化测试技术由以下几种:i)压力测试:确定系统以期望的容量执行。压力测试技术用于检查系统面对意外情况下的大数据量时是否可以正常运行。所涉及的方面包括输入事务、内部表、磁盘空间、输出、通信、计算机容量以及人机交互等。当应用系统所能正常处理的工作量并不确定时需要使用压力测试。压力测试意图通过对系统施加超负载事务量来达到破坏系统的目的。弱点在于准备测试的时间与在测试的实际执行过程中所消耗的资源数量都非常之大通常在应用程序投入使用之前这种技术是无法进行的。ii执行测试:系统能达到期望的熟练性。举例:事务轮转时间充分软硬件使用良好。执行测试技术用于检查系统是否达到了预期在产品状态下的成熟度。执行测试可以验证系统的响应时间、轮转时间及设计性能。在开发过程的早期就应该进行执行测试尽早制定已经完成的系统没有达到性能指标是非常有价值的。在关键时间点进行。关键时间点指的是当前的结果会影响甚至改变系统结构的时间点。iii恢复测试:系统失效之后可以恢复到可操作状态。举例:引入失败评估备份数据的充分性。恢复测试技术用于确保系统在经历灾难后可以继续正常运行它不仅可以验证恢复过程而且可以验证过程各组件的有效性。当用户认为系统操作的连续性对于其所涉及领域的某些功能至关重要时需要进行恢复测试。iv操作测试:系统以正常操作状态执行。举例:确定系统可以依据文档进行运行JCL(工作控制语言)充分。操作测试技术主要用于检查系统在正常的操作状态下是否可以执行。操作测试可以与其它测试联合执行。任何应用程序在成为产品之前都应进行操作测试。v(与过程的)一致性测试:系统的开发与标准和规程相一致。举例:按标准执行文档完整。一致性测试技术用于验证应用程序的开发是否与信息技术指标、过程及准则相一致。一致性测试最有效的方法是过程审查。系统开发标准和过程的一致性程度依赖于管理层对于所需遵循的特定过程和执行标准的重视程度。vi安全性测试:根据组织的重要性对系统进行保护。举例:访问拒绝规程适当。安全性测试技术用于评价保护性程序及安全对策的充分性。安全性缺陷不如其它类型的缺陷那么明显。安全性测试是测试过程中高度专业化的部分。分物理安全性(针对利用物理方法收集信息的手段)和逻辑安全性(针对使用计算机处理和通信能力进行非法活动信息的手段)。当系统保护信息和资产对于组织来说意义重大时需要进行安全性测试。b)功能性系统测试用于确保系统需求与定义都得到了满足。该过程通常包含创建用于评价应用程序正确性的测试条件。用于执行功能测试的几种测试技术包括:i需求测试:系统按制定方式执行。举例:证明系统需求与政策、规则相一致。需求测试技术验证系统是否正确执行其功能并且能保证在相当长的一段时间内保持其正确性。需求测试的执行主要通过执行创建的测试条件以及功能检查单来完成通过需求得到测试条件然后以类似于SDLC这种特定的方式表现生成用于评价实现的应用系统的测试数据。任何应用程序都应该对需求进行测试此过程应该开始于需求阶段并一直持续到系统运行和维护阶段。ii回归测试:验证系统中没有改变的部分仍能正确运行。举例:未变更的部分正常运行未变更的人工规程正确。回归测试技术对已经测试过的部分进行重新测试以保证它们在应用程序其它部分发生变更之后仍能正常运行。当变更会对应用程序中没有变更的部分产生高风险的影响时需要进行回归测试。iii错误处理测试:错误可以得到防止或检测并被修复。举例:将错误引入测试错误的再次注入。人工系统与自动系统之间差别的特点之一就是预定义的错误处理特性。错误处理测试技术用于检查应用系统正确处理发生异常的能力。错误处理测试需要一组知识丰富的人员来预见应用系统可能发生的错误。它是测试错误的引入、错误的处理控制条件以及条件的再次正确输入。在系统整个生命周期中都应该进行错误测试。在开发过程中应该识别错误带来的问题并且采取相应的措施将错误减少到可以接受的程度。iv人工支持测试:人机交互有效。举例:具备人工规程人员接受过培训。人工支持测试技术主要包括人员在准备数据以及使用来源于自动程序数据的过程中执行所有功能。在生命周期的全过程都应该验证人工系统功能的正确性。v系统间测试:数据可以正确地在系统间传递。举例:系统间参数变化系统间文档更新。系统间测试技术用于保证应用程序间相互管理的正确性。系统间测试的一个最好的工具是集成测试工具它允许在产品环境下进行测试可以以最小的代价测试系统间的耦合性。在应用系统间的参数发生变更时需要进行系统间的测试。测试的程度和类型依赖于与出错的参数相关联的风险情况。vi控制测试:将系统风险控制降低到可以接受的级别。举例:文件一致性规程正常人工控制正确。控制测试技术包括数据确认、文件完整性控制、评审追踪、备份和恢复、文档以及与系统完整性相关的其它方面。主要用于确保对系统特定功能的检查。可以用于控制测试的一个方法是生成风险矩阵。控制测试是系统测试中的一个完整的部分占测试时间的很大比例。vii平行测试:发现原系统与新系统之间的意外差异。举例:原系统与新系统一致原系统仍然可以工作。平行测试技术用于检查新应用程序的结果是否与原来的应用程序或者上一版本应用程序的处理相一致。它执行冗余处理以保证新版本或者新应用程序执行的正确性给出同一应用程序不同版本之间一致的和不一致的地方。平行测试可以对整个应用程序进行也可对应用程序的一部分进行。当不能确定新应用程序处理的正确性或者当新旧版本的应用程序非常类似时需要进行平行测试。、答案如下:a)软件测试按阶段划分可以分为单元测试、集成测试、系统测试和<验收测试>(不一定有)几个阶段b)单元测试测试策略:i自顶向下的单元测试策略方法:先对最顶层的基本单元进行测试把所有调用的单元做成桩模块。然后再对第二层的基本单元进行测试使用上面已测试的单元做驱动模块。依此类推直到测试完所有基本单元。优点:在集成测试前提供早期的集成途径。在执行上和详细设计的顺序一致。不需要开发驱动模块。缺点:随着测试的进行测试过程越来越复杂开发和维护成本增加。总结:比孤立单元测试的成本高很多不是单元测试的一个好的选择。ii自底向上的单元测试策略方法:先对最底层的基本单元进行测试模拟调用该单元的单元做驱动模块。然后再对上面一层进行测试用下面已被测试过的单元做桩模块。依此类推直到测试完所有单元。优点:在集成测试前提供系统早期的集成途径。不需要开发桩模块。缺点:随着测试的进行测试过程越来越复杂。总结:比较合理的单元测试策略但测试周期较长。iii孤立单元测试策略方法:不考虑每个单元与其它单元之间的关系为每个单元设计桩模块或驱动模块。每个模块进行独立的单元测试。优点:简单、容易操作可达到高的结构覆盖率。缺点:不提供一种系统早期的集成途径。总结:最好的单元测试策略。c)集成测试的测试策略:i大爆炸集成优点:可以迅速完成集成测试并且只要极少数的驱动和桩模块用例也是最少的简单资源利用率高缺点:一次试运行成功的可能性不大问题定位和修改比较困难许多接口错误很容易躲过测试。适应于一个维护型项目或被测试系统较小ii自顶向下集成优点:较早地验证了主要控制和判断点按深度优先可以首先实现和验证一个完整的软件功能功能较早证实带来信心只需一个驱动减少驱动器开发的费用支持故障隔离。缺点:柱的开发量大底层验证被推迟底层组件测试不充分。适应于产品控制结构比较清晰和稳定高层接口变化较小底层接口未定义或经常可能被修改产口控制组件具有较大的技术风险需要尽早被验证希望尽早能看到产品的系统功能行为。iii自底向上集成优点:对底层组件行为较早验证工作最初可以并行集成比自顶向下效率高减少了桩的工作量支持故障隔离。缺点:驱动的开发工作量大对高层的验证被推迟设计上的错误不能被及时发现。适应于底层接口比较稳定高层接口变化比较频繁底层组件较早被完成。iv三明治集成优点:集合了自顶向下和自底向上两种策略的优点缺点:中间层测试不充分适应于大部分软件开发项目v基干集成优点:具有三明治集成的优点更适合于大型复杂项目的集成。缺点:必须对系统的结构和相互依存性进行仔细的分析驱动和桩开发量大局部采用了大爆炸的策略有些接口可能测试不充分。嵌入式系统中常用vi分层集成适应于有明显层次关系的系统vii基于功能的集成优点:优先验证关键功能的正确性减少驱动的开发进度要快。缺点:对接口测试不充分有较大的冗余测试。viii基于消息的集成优点:优先验证关键消息的正确性减少驱动的开发进度要快。缺点:对接口测试不充分有较大的冗余测试。ix基于风险的集成优点:最具有风险的组件最早进地验证有助于系统的快速稳定。缺点:需要对各组件的风险有一个清晰的分析。x基于进度的集成优点:具有较高的并行度能够有效缩短项目的开发进度。缺点:桩和驱动工作量较大有些接口测试不充分有些测试重复和浪费。d)系统测试的测试策略:i数据和数据库完整性测试ii功能测试iii用户界面测试iv性能评测v负载测试vi强度测试vii容量测试viii安全性和访问控制测试ix故障转移和恢复测试x配置测试xi安装测试xii加密测试xiii可用性测试xiv版本验证测试xv文档测试、答案如下:a)Berard提出了一些测试用例的设计方法主要原则包括:i每个测试用例应当给予特殊的标识并且还应当与测试的类有明确的联系。ii测试目的应当明确。iii应当为每个测试用例开发一个测试步骤列表。这个列表应包含以下一些内容:列出所要测试对象的专门说明。列出将要作为测试结果运行的消息和操作。列出测试对象可能发生的例外情况。列出外部条件(即为了正确对软件进行测试所必须有的外部环境的变化)。列出为了帮助理解和实现测试所需要的附加信息。b)主要方法:i基于故障的测试基于故障测试也可以用于组装测试组装测试可以发现消息联系中“可能的故障”。“可能的故障”一般为意料之外的结果、错误地使用了操作消息、不正确引用等。为了确定由操作(功能)引起的可能故障必须检查操作的行为。这种方法除用于操作测试外还可用于属性测试用以确定其对于不同类型的对象行为是否赋予了正确的属性值。因为一个对象的“属性”是由其赋予属性的值定义的。ii基于脚本的测试基于脚本的测试主要关注用户需要做什么而不是产品能做什么即从用户任务(使用用例)中找出用户要做什么及去执行。这种基于脚本的测试有助于在一个单元测试情况下检查多重系统。所以基于脚本测试用例测试比基于故障测试不仅更实际(接近用户)而且更复杂一点。iiiOO类的随机测试如果一个类有多个操作(功能)这些操作(功能)序列有多种排列。而这种不变化的操作序列可随机产生用这种可随机排列的序列来检查不同类实例的生存史就叫随机测试。iv类层次的分割测试这种测试可以减少用完全相同的方式检查类测试用例的数目。这很像传统软件测试中的等价类划分测试。分割测试又可分三种。基于状态的分割。按类操作是否改变类的状态来分割(归类)。基于属性的分割。按类操作所用到的属性来分割(归类)。基于类型的分割。按完成的功能分割(归类)。v由行为模型(状态、活动、顺序和合作图)导出的测试状态转换图(STD)可以用来帮助导出类的动态行为的测试序列以及这些类与之合作的类的动态行为测试序列。、答案如下:a)单元测试阶段。各独立单元模块在与系统地其他部分相隔离的情况下进行测试单元测试针对每一个程序模块进行正确性校验检查各个程序模块是否正确地实现了规定的功能。生成单元测试报告提交缺陷报告。b)集成测试阶段。集成测试是在单元测试的基础上测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。该阶段生成集成测试报告提交缺陷报告。c)系统测试阶段。将通过确认测试的软件作为整个给予计算机系统的一个元素与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起在实际运行环境下对计算机系统进行全面的功能覆盖。该阶段需要提交测试总结和缺陷报告。

类似资料

该用户的其他资料

电源线径计算.doc

等电位安装技术交底.doc

&#46;海宁新增第五个公交IC卡办理服务点.doc

物理电学实验室配置报价单.doc

857D操作说明小.doc

职业精品

精彩专题

用户评论

0/200
    暂无评论
上传我的资料

精选资料

热门资料排行换一换

  • 第八章_抑郁症.ppt

  • Marcel Proust A …

  • Concept of the B…

  • 俄语七万词频.pdf

  • Ag_Risk6_how_to_…

  • Ag_Risk5_using_o…

  • Ag_Risk4_evaluat…

  • Ag_Risk3_an_intr…

  • Ag_Risk2_options…

  • 资料评价:

    / 15
    所需积分:0 立即下载

    意见
    反馈

    返回
    顶部