《软件测试复习.docx》由会员分享,可在线阅读,更多相关《软件测试复习.docx(13页珍藏版)》请在第壹文秘上搜索。
1、1、简述测试环境的要素答:硬件标准、软件配置、网络环境、数据准备、测试工具2、简述搭建测试实验室的步骤答:机房环境建设、硬件环境的建立、网络环境的建立、软件环境的建立、对整个测试环境杀毒、测试环境说明及备案3、软件生存周期答:软件生存周期又称为软件生命期,生存期。是指从形成开发软件概念起,所开发的软件使用以后,直到失去使用价值消亡为止的整个过程。一般来说,整个生存周期包括计划(定义)、开发、运行(维护)三个时期,每一个时期又划分为若干阶段。每个阶段有明确的任务,这样使规模大、结构复杂和管理复杂的软件开发变得容易控制和管理。4、软件缺陷(bug)答:软件缺陷常常又被叫做Bug。所谓软件缺陷,即为
2、计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。5、软件质量的度量过程答:确认过程问题;收集过程数据;分析过程数据;解释过程数据;汇报过程分析;提出过程建议;实施过程行动;实施监督和控制。6、白盒测试(WhiteBoxTesting)、原则答:白盒测试,又称结构测试、逻辑驱动测试或基于程序代码内部构成的测试。此时,测试工程师需深入考查程序代码的内部结构、逻辑设计等。原则:1.保证一个模块中的所有路径至少被测试一次。2 .所有逻辑值都要测试真和假两种情况。3 .检查程序的内部数据结构是否有效。4 .检查上、下边
3、界及可操作范围内运行的所有循环。7、同行评审答:同行评审是一种通过评审对象作者同行确认缺陷和需要变更区域的检查方法。在复杂的软件生产活动中,作者作为一个个体很难保证在其生产活动中完美无纸漏,也不能保证其自身能够发现相关问题,因此开展同行评审活动能够最大限度地避免遗漏问题出现,从而降低产品或项目风险。8、静态分析及其内容答:指在不运行代码的方式下,通过词法分析、语法分析、控制流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。9、代码检查方法答:所谓的代码检查就是以小组为单位,应用一系列的检查错误的技巧来发现程序中的缺陷和错误的过程,根据软件
4、产品的规格大小,检查小组的规模也各不相同,每个小组都有其具有特色和作用的成员,代码检查是桌上检查之后的改进,目的是为了发现错误而不是改正错误。10、逻辑覆盖及各种覆盖方法的强弱性排序答:逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。强弱性:路径覆盖条件组合覆盖判定/条件覆盖条件覆盖判定覆盖语句覆盖12、黑盒测试(Black-BoxTesting).优缺点、原则、策略答:黑盒测试又称功能测试、数据驱动测试或基于需求规格说明书的功能测试。该测试方法验证被测对象使用质量及外部质量表现。优缺点:优点:1.比较简单,不需要了解程序的内部的代码及实现2.与软件的内部实现无关3.从用户的角度出发
5、,能很容易的知道用户会用到哪些功能,会遇到哪些问题4.基于软件开发文档,所以也能知道软件实现了文档中的哪些功能5.在做软件自动化测试时较为方便缺点:1.不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%2.自动化测试的复用性较低。原则:L根据软件规格说明书设计测试用例,规格说明书的正确性是至关重要的。2 .有针对性地查找问题,并且正确定位等价类。3 .检查功能是否有缺陷或错误现象。4 .根据测试的重要性来确定测试等级和测试重点,减少程序可能出现的缺陷。5 .检查在接口处输入的信息是否能正确接受,以及接受后能否输出正确的结果。6 .认真选择测试策略,尽可能发现程序的数据结构错误或外部
6、信息访问错误,站在用户角度进行测试。策略:L在任何情况下都必须采用边界值分析法。这种方法设计出来的测试用例对发现程序的错误是非常有用的。2 .必要时采用等价类划分法补充测试用例。3 .对照程序逻辑,检查已设计的测试用例的逻辑覆盖程度。如果它没有达到要求的覆盖标准,则应当补充更多的测试用例。4 .如果程序的功能说明中含有输入条件的组合情况则应该一开始选用因果图法。5 .对于业务流清晰的系统,可以利用场景法贯穿整个测试案例过程,在案例中综合使用各种测试方法。13、按要求给出下列程序的测试用例(要求写出必要的说明):a)语句覆盖b)判定覆盖C)条件覆盖d)判定-条件覆盖e)条件组合覆盖答:图中共有4
7、条路径:Pl(ace)P2(abd)、P3(abe)、P4(acd)。1 .Pl正好满足语句覆盖的条件。可以设计如下的输入数据:A=2,B=O,=42 .测试用例如果能够测试路径Pl(ace)和P2(abd),就可以满足判定覆盖要求。可以设计如下两组输入数据:4=2,B=0,=4A=l,B=l,X=I3 .条件:Al,B=0,A=2,xK需要有足够的测试用例使得上述四个条件都能有满足和不满足的情况。以下这两组输入数据能满足这些要求:A=2,B=0,=4A=l,B=l,X=I4 .判定/条件覆盖A=2,B=0,=4A=l,B=l,X=I5 .可能的条件组合:(1) Al,B=O(2) Al,B0
8、(3) AWl,B=O(4) AWLB0(5) A=2,1(6) A=2,1(7) A2,1(8) A2,XWl相应的输入数据:A=2,B=0, =44=2, B=l, X=IA=l, B=0, =2A=l, B=l, X=I满足(1)和(5)满足(2)和(6) 满足(3)和(7) 满足(4)和(8)14、使用基本路径测试方法,为以下程序段设计测试用例。(1) 画出程序的控制流图,编号已经给出。(2) 计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。(3)导出基本路径集,确定程序的独立路径。(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预
9、期输出。voidDo(intX,intA,intB)1 if(A1)&(B二O)2 X=X/A;3 if(A=2)iI(Xl)答:1 .画出控制流图:2 .计算环形复杂度:10(条边)-7(个节点)+2=53 .导出独立路径(用语句编号表示)路径1:路径2:路径3:路径4:路径5:测试用例用例号路径输入数据ABX预期输出XTCl1一2-3-4-5一6一73063TC2l-*4-*5-*6-*70134TC3-2-4f6-72112TC4l-*2-*4-*5-*73100TC5l-2-3-457303115、NextDate(年,月,日)是三个变量的函数。函数返回输入日期的下一个日期。变量年份,
10、月份,日期都是整数值,且满足下面的条件:1900小年W2060,IW月12,IW日31.设计合理的等价类划分方法。答:条件有效等价类编号无效等价类编号年1900,20601年19001年20605月1,2月16月127日1,313日18日31916、等价类划分法、等价类划分的方法和原则答:等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。方法:按区间划分、按数值划分、按数值集合划分、按限制条件或规划划分、按处理方式划分。原则:1.在输入条件规定的取值范围或值的个数的情况
11、下,可以确定一个有效等价类和两个无效等价类。2.在规定了输入数据的一组值中(假定有n个值),并且程序要对每个输入值分别处理的情况下,可以确定n个有效等价类和一个无效等价类。3.在规定输入数据必须遵守的规则的情况下,可以确定一个有效等价类和若干个无效等价类。4.在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类。5.在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应将该等价类进一步地划分为更小的等价类。17、PlOl实例1实例218、软件测试过程答:基本分为测试计划、测试设计、测试实现、测试执行4个阶段。进一步可细分为测试计划与控制、测
12、试分析与设计、测试实现与执行、评估出口准则与报告、测试结束活动(ISTQB划分方法)。19、单元测试的主要任务答:1模块接口测试;2模块局部数据结构测试;3模块边界条件测试;4模块中所有独立执行通路测试;5模块的各条错误处理通路测试。20、QTP自动化测试的流程答:录制测试脚本前的准备(PreParation)、录制测试脚本(ReCord)、加强测试脚本(Enhance)、对测试脚本排错(DCbUg)、执行测试脚本(Rim)、分析测试结果(Analyze)回报问题(DefeCt)21、集成测试的原则答:1所有公共接口都要被测试到2关键模块必须进行充分的测试3集成测试应当按一定的层次进行4集成测
13、试的策略选择应当综合考虑质量、成本和进度之间的关系5集成测试应当尽早开始,并已总体设计为基础6在模块与接口的划分上,测试人员应当和开发人员进行充分的沟通7当接口发生修改时,涉及的相关接口必须进行再测试8测试执行结果应当如实的记录。22、性能测试的核心原理、目标、主要应用领域答:核心原理:1.基于协议2.多线程:一个线程一个用户3.任务调度目标:验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。主要应用领域:能力验证、规划能力、性能调优、瓶颈发现、性能基准比较23、响应时间(Responsetime)答:以用户角度而言,响应时间是用户
14、发出请求到接收到响应结果这个过程所消耗的时间。对于服务器而言,响应时间则是接收到用户请求到发出响应结果这个过程所消耗的时间。通常情况下,测试工程师会从用户角度考虑,故响应时间一般表示为客户端发请求到收到结果过程的处理时间。24、吞吐量答:吐量是指在单位时间内中央处理器(CPU)从存储设备读取-处理-存储信息的量。25、负载测试、压力测试、负载测试与压力测试的区别答:负载测试是指在超过被测对象标准性能负荷指标下,验证系统的负载承受能力,并要求在超负荷时,被测对象依然能够正常实现业务功能。压力测试测试被测对象在超过性能指标的饱和状态下,系统处理业务的能力情况,以及系统是否会出现错误。区别:1.负载
15、测试是通过改变系统负载方式、增加负载等来发现系统中所存在的性能问题。负载测试是一种测试方法,可以为性能测试、压力测试所采用。2 .性能测试是为获取或验证系统性能指标而进行测试。多数情况下,性能测试会在不同负载情况下进行。3 .压力测试通常是在高负载情况下来对系统的稳定性进行测试,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等。26、可靠性测试、可恢复测试答:可靠性测试是验证被测对象在规定时间、规定环境条件下,实现规定功能或性能的能力。可恢复测试是测试一个系统从灾难或出错中能否很好地恢复的过程,如遇到系统崩溃、硬件损坏或其他灾难性出错。可恢复测试一一般是通过人为的各种强制性手段让软件或硬件出现故障,然后检测系统是否能正确的恢复(自动恢复和人工恢复)。27、