《软件测试复习.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、可靠性测试、可恢复测试答:可靠性测试是验证被测对象在规定时间、规定环境条件下,实现规定功能或性能的能力。可恢复测试是测试一个系统从灾难或出错中能否很好地恢复的过程,如遇到系统崩溃、硬件损坏或其他灾难性出错。可恢复测试一一般是通过人为的各种强制性手段让
16、软件或硬件出现故障,然后检测系统是否能正确的恢复(自动恢复和人工恢复)。27、使用LoadRunner完成性能测试步骤答:计划测试、生成测试脚本、建立场景、运行场景、监视场景、分析测试结果28、系统测试主要内容、测试类型、系统测试过程、常用的方法答:主要内容:1.功能测试。即测试软件系统的功能是否正确,其依据是需求文档,由于正确性是软件最重要的质量因素,所以功能测试必不可少。2.健壮性测试。即测试软件系统在异常情况下能否正常运行的能力。类型:恢复测试、安全测试、压力测试。过程:制定系统测试计划、设计系统测试用例、执行系统测试、缺陷管理与改错。方法:黑盒测试和白盒测试29、(Alpha)测试和B
17、(Beta)测试答:测试是指软件开发公司组织内部人员模拟各类用户对即将面市软件产品(称为版本)进行测试,试图发现错误并修正。测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的用户操作方式。Beta测试是一种验收测试。所谓验收测试是软件产品完成了功能测试和系统测试之后,在产品发布之前所进行的软件测试活动,它是技术测试的最后一个阶段,通过了验收测试,产品就会进入发布阶段。30、回归测试、目的、范围、方法答:回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。目的:在程序有修改的情况下保证原有功能正常的一种测试策略和方法,
18、因为这时的测试不需要进行全面测试,从头到尾测一-遍,而是根据修改的情况进行有效测试。范围:删除过时的测试用例、改进不受控制的测试用例、删除冗余的测试用例、增添新的测试用例方法:再测试全部用例、基于风险选择测试、基于操作剖面选择测试31、三角形问题:输入三个整数,这三个值分别表示三角形三条边的长度,请(判断)这个三角形是等边三角形,还是等腰三角形还是不等边三角形并打印相应的结果。a,b,c分别代表输入的整数,给出三角形问题的决策表和对应的测试用例。答:决策表:1234567891011ab+cFTTTTTTTTTTba+c-FTTTTTTTTTcD3=29D4=30D5=31扩展项决策表:123
19、45678910111213月在MlMlM2M2M2M3M3M3M3M3M3M4M4日isDl,D2,D3,D4D5Dl,D2,D3D4D5Dl,D2D3D4,D5DlD2D3D1,D2,D3,D4D5年is-一一-YlYl-Y2Y2Y2-日期+1日期为1月份+17月份为1年份+1N/A测试用例:规则1:测试输入二规则2:测试输入= 规则3:测试输入二 规则4:测试输入二 规则5:测试输入二 规则6:测试输入二 规则7:测试输入二 规则8:测试输入二 规则9:测试输入二 规则10:测试输入二 规则11:测试输入二 规则12:测试输入二 规则13:测试输入二(2007,7,19),预期结果;20
20、07-7-20”(2007,7,31),预期结果二“2007-8T”(2007,9,25),预期结果二“2007-9-26”(2007,9,30),预期结果二“2007-10-1”(2007,11,31),预期结果二“日期输入错误”(2000,2,15),预期结果=2000-2T6”(2000,2,29),预期结果=2000-3T”(2000,2,30),预期结果=日期输入错误”(2007,2,15),预期结果二2007-2-16w(2007,2,28),预期结果=2007-3T”(2007,2,28),预期结果=日期输入错误”(2006,12,16),预期结果;2006-12-17”(200
21、6,12,31),预期结果二“2007-1-1”33、正交表行数(即试验次数)=列数*(每列水平数-1)+1某系统有5个独立变量(A,B,C,D,E),变量A和B都有两个取值(Al.A2)和(BKB2)o变量C和D都有三个可能的取值(CEC2、C3和DI、D2、D3)变量E有六个可能的取值(EKE2、E3、E4、E5、E6),选择合适的正交表。答:123471AlBlClDlEl2AlBlC2D2E23AlB2ClD3E34AlB2C3DlE45AlBlC2D3E56AlB2C3D2E67A2BlC2D3E68A2BlC3DlE59A2B2C2D2El10A2B2ClD3E211A2BlC2D
22、2E412A2B2ClDlE313AlBlC2D3E414A2BlC3D2E315AlB2ClD2E516A2B2C3DlE617AlBlClDlE218A2B2C3D3El34、某城市的电话号码由三部分组成。这三部分的名称和内容分别是地区码:空白或三位数字;前缀:非0或1开头的三位数;后缀:四位数字。假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,试用等价分类法来设计它的调试用例。答:输入条件有效等价类编号无效等价类编号地区码空白1有非数字字符5少于3位数字-63位数字2多于3位数字7前逐29993有非数宇字符8起始位为U9起始位为TIO少于3位数字11多于3位数
23、字12后缓4位数字4有非致宇宇符13少于4位数字14多于4位数字15测试用例弱健壮等价类测试用例4测试用例编号地区码F八虹g前堀后堀一谀期输出覆盖等价类1空白2234567接受(有效)1,3,421238059876接受(有效)2,3,4320A2234567拒绝(无效)54332345678拒绝(无效)6512342344567拒绝(无效)761232B31234拒绝(无效)871230131234拒绝(无效)981231231234拒绝(无效)109123231234拒绝(无效)11IO12323451234拒绝(无效)12U1232341B34拒绝(无效)131212323434拒绝(无
24、效)1431盒蛾/X其国谭白夕遨苑5拒绝(无效)1537、场景要求:”对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理”。这里假定,”维修记录不全”和“优先维修处理”均已在别处有更严格的定义。请建立决策表。(1)确定规则的个数。(2)列出所有的条件桩和动作桩。(3)填入条件项。(4)填入动作项,得到初始决策表。(5)简化决策表,合并相似规则。答:确定规则的个数:有2*2*2=8种规则。列出所有的条件茬和动作桩。填入条件项。可从最后1行条件项开始,逐行向上填满。如第三行是:YNYNYNYN,第二行是:YYNNYYNN等等。填入动作桩和动作顶。这样便得到形如图的
25、初始判定表。12345678条功率大于50马力吗?YYYYNNNN件维修记录不全吗?YYNNYYNN运行超过10年吗?YNYNYNYN动作进行优先处理XXXXX作其他处理XXX化简。合并相似规则后得到图。12345条件功率大于50马力吗?YYYNN维修记录不全吗?YNN-运行超过10年吗?-YNYN动作进行优先处理XXX作其他处理XX38、如果某产品销售好并且库存低,则增加该产品的生产;如果该产品销售好,但库存量不低,则继续生产;若该产品销售不好,但库存量低,则继续生产;若该产品销售不好,且库存量不低,则停止生产。请建立决策表。答:1.确定规则的个数:对于本题有2个条件(销售、库存),每个条件
26、可以有两个取值,故有2*2=4种规则。2 .列出所有的条件桩和动作桩。3 .填入条件项。4 .填入动作项,得到初始决策表规则选项1234条件:C1:销售好?C2:库存低?TTTFFTFF动作:31:增加生产32:辘生产a3:停止生产39、有一个处理单价为1元5角的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”,“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。给出决策表和对应的测试用例答:决策表:1234567891011输入投入2.5元硬币(1)1111OOOOO00投入3元硬币OOOO1111O00按可乐按钮(3)1OOO1OOO10
27、0按啤酒按钮O1OOO1OOO10按奶茶按钮OO1OOO1OO01中间结点己投币(H)11111111O00已按钮(12)111O111O111输出退还5角(21)OOOO111OO00送出可乐(22)1OOO1OOOO&送出啤酒(23)O1OOO1OO送出奶茶(24)OO1OOO1O0测试用例:用例编号用例说明输入数据预期结果ISHJ-OOl投入硬币、按卜.按钮2.5元、可乐按钮送出可乐SIIJ-002投入硬币、按卜按钮2.5元、啤酒按钮送出啤酒S!U-003投入硬币、按N按钮2.5元、奶茶按钮送出奶茶SUJ-OOi投入硬币2.5元给出提示信息SHJ-005投入硬币、按卜按钮3元、可乐按钮找0.5元、送出可乐SHJ-006投入硬币、按卜按钮3元、啤酒按钮找0.5元、送出啤酒SIU-007投入硬币、按下按钮3元、奶茶按钮找0.5元、送出奶茶SHJ-008投入硬币3元给出提示信息SHJ-009按卜按钮可乐按钮给出提示信息SHJ-OlO按下按钮啤酒按钮给出提示金励.SHJ-Ol1按下按钮奶茶按钮给出嗫由.