Test1 8-1 软件测试的价值 IBM公司研究发现: 如需求分析阶段引入一个缺陷,在测试执行阶段前修改成本为1,在编码阶段后修改成本则为10,在维护阶段,修改成本则为100。 在测试阶段前的每个阶段进行静态测试的缺陷消除率为50%,测试阶段的缺陷消除率为80%。 假设某项目开发过程中分别有需求、设计、编码、测试、维护 5个阶段(瀑布模型),其中在需求、设计、编码阶段各引入10个缺陷(共30个缺陷)。 试计算并比较提前测试与编码后测试两种方案的缺陷修改成本。 说明:缺陷消除率:指发现的缺陷数占总缺陷数的比例。
略
Test2 1-1由于功能性是软件最基本的质量特性,因此在用户未提出明确的非功能需求时,只需在进行完善的功能测试后,就可以向客户提出验收测试请求。×
2-1如下关于测试用例的描述中错误的是() A.测试用例是一组精心设计的输入,目的是为了在最短时间内找到最多、最严重的缺陷 B.测试结果就是测试用例的实际输出 C.测试用例方便了测试人员与开发人员之间的沟通 D.测试用例有利于缺陷的跟踪
2-2下列关于软件测试的说法中正确的是() A.因为测试工作简单,所以其对软件产品质量影响不大 B.通过软件测试,主要发现软件产品的功能问题 C.软件测试是消除缺陷的有效手段 D.经过严格测试过的软件没有缺陷
2-3下列关于软件质量的描述中正确的是: A.软件质量是指软件满足规定用户需求的能力 B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性,可移植性 C.软件质量保证过程就是软件测试过程 D.以上描述都不对
2-4下列关于黑盒测试与白盒测试技术的说法中错误的是() A.黑盒测试是依据对需求规格说明进行分析后导出测试用例,白盒测试是基于对内部结构或内部操作分析后导出测试用例 B.测试员不需要了解被测系统的内部结构也可以执行黑盒测试 C.成功对某模块执行白盒测试后,发现所有测试用例均运行成功,说明该模块已实现了预定的需求 D.通过黑盒测试可以检测被测系统的每个功能是否都能正常使用。
2-5下列哪种模型强调了测试计划等工作的先行及对系统需求、设计的测试? A.V模型 B.W模型 C.瀑布模型 D.螺旋模型
2-6下面对验收测试的描述中不正确的一项是() A.与系统测试不同的是以客户业务需求为标准来进行测试 B.测试人员多由客户方担任,也可以由客户委托第三方来进行验收测试 C.不仅仅要验收程序,还要验收相关的文档 D.由企业自己的测试人员和开发人员进行测试
3-1系统针对无效输入,有哪些可行的响应方法? A.自动将无效输入转化为有效输入 B.不予处理 C.提示用户如何正确输入 D.提示用户输入出错
3-2下列选项中属于软件测试工作能够完成的任务有() A.检测软件产品中的缺陷 B.验证软件需求是否正确 C.证明软件产品没有缺陷 D.改进软件开发的流程
3-3下列选项中属于静态测试技术的有() A.功能测试 B.文档评审 C.恢复测试 D.代码复审
8-1 黑盒测试和白盒测试 什么是黑盒测试,什么是白盒测试?
黑盒测试:不考虑被测对象的内部结构或运行逻辑,只需通过被测对象的输入和预期输出展开测试。 白盒测试:基于软件的源代码,已知被测对象的内部工作过程,主要是对程序内部结构展开测试,关注程序实现的细节。因此,需要测试人员掌握一定的编程技术。
8-2 软件质量的特性 (1)软件质量如何定义? (2)软件质量具有哪六大特性? (3)自选一款软件系统,从软件质量六大特性简要谈谈如何测试该软件系统的质量。
软件质量: 一般是指软件满足:客户明确的需求、用户的期望、软件运行要求的程度。 六大特性 功能性 可靠性 可用性 效率 可维护性 可移植性
Test3 2-1以下不属于逻辑覆盖测试的是( ) A.语句覆盖 B.判定覆盖 C.基本路径覆盖 D.条件覆盖
2-2在软件测试中,逻辑覆盖标准主要用于() A.黑盒测试 B.白盒测试 C.文档测试 D.软件验收
2-3下列不属于白盒测试技术的是() A.路径覆盖 B.判定覆盖 C.条件覆盖 D.需求覆盖
2-4在逻辑覆盖准则中,覆盖性最强的是() A.语句覆盖 B.判定覆盖 C.条件覆盖 D.条件组合覆盖
2-5在下面所列举的逻辑测试覆盖中,测试覆盖最弱的是() A.条件覆盖 B.条件组合覆盖 C.语句覆盖 D.判定/条件覆盖
2-6下面的个人所得税程序中,满足语句覆盖测试用例是()
A. income=(800,1500,2000,2001) B. income=(800,801,1999,2000) C. income=(799,1499,2000,2001) D. income=(799,1500,1999,2000)
2-7条件组合覆盖是一种逻辑覆盖,满足条件组合覆盖级别的测试用例也满足()级别的测试。 A.语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖 B.判定覆盖、条件覆盖、判定/条件覆盖 C.语句覆盖、判定覆盖、判定/条件覆盖 D.路径覆盖、判定覆盖、条件覆盖、判定/条件覆盖
2-8下列有关测试过程V模型的说法中,正确的是() A.验收测试应确定成程序的执行是否满足软件设计的要求 B.系统测试应确定系统功能和性能的质量特性是否达到系统要求的指标 C.单元测试和集成测试应确定软件的实现是否满足用户需要或合同的要求 D.集成测试在编码结束前就可以开始
2-9下列不属于软件测试过程模型的一项是() A.瀑布模型 B.H模型 C.V模型 D.W模型
2-10使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。 A.程序的内部逻辑 B.程序的复杂程度 C.使用说明书 D.程序的功能
运用逻辑覆盖的方法测试以下程序段: (1)画出程序流程图 (2)按讲义上的格式给出语句覆盖的测试用例 (3)按讲义上的格式给出判定覆盖的测试用例 (4)按讲义上的格式给出条件覆盖的测试用例 (5)按讲义上的格式给出判定/条件覆盖的测试用例 (6)按讲义上的格式给出条件组合覆盖的测试用例
8-2 逻辑覆盖测试的特点 简述逻辑覆盖测试的5种覆盖策略及各自的特点。
1.语句覆盖 对程序的逻辑覆盖很少,只关心判定表达式的值,是很弱的逻辑覆盖。 2.判定覆盖 强于语句覆盖,能发现一些语句覆盖无法发现的问题。 3.条件覆盖 强于判定覆盖,因为条件覆盖使得判定中的每一个条件都取到了不同的结果,这一点判定覆盖则无法保证。 但条件覆盖没有考虑判定结果,印此有时候条件覆盖并不能保证判定覆盖。 4.条件判定组合覆盖 就是我们设计的测试用例可以使得判断中每个条件所有的可能取值至少执行一次条件覆盖,同时每个判断本身所有的结果也要至少执行一次判定覆盖。 5.路径覆盖 可以对程序进行彻底的测试用例覆盖,是最强的覆盖。
Test4 8-2 独立路径测试 简述独立路径测试的基本步骤。
独立路径测试的基本步骤是: 步骤1:根据源程序导出程序控制流图(程序图),得到路径测试所需的路径地图。 步骤2:通过计算程序图的环复杂度,确定独立路径集合的规模大小。 步骤3:以包含判定节点最多的路径作为主路径,并以此为基础构建其他独立路径。 步骤4:注意剔除不可行路径,必要时补充其他重要路径。 步骤5:根据得到的路径集合对应设计测试用例。
根据以下代码,使用独立路径法,按要求回答问题:
(2)环形复杂度为4
Test5
判断 1-1静态测试只能通过手工方式进行。× 1-2静态分析既可以发现程序中的语法错误,也可以检查和判定程序中的逻辑错误。√ 1-3通过静态分析能够发现软件的所有逻辑设计和编码错误。× 1-4静态测试的实现技术主要包括代码质量度量以及评审和检查。√ 1-5结对编程、同行桌查和轮查都是非正式评审方式。√
2-1使用静态测试中的函数调用关系图不能够() A.检查函数的调用关系是否正确 B.发现是否存在孤立函数 C.明确函数被调用频度,并对这些函数进行重点检查 D.发现函数内部结构
2-2下面对静态测试和动态测试的区别描述正确的是() A.静态测试并没有真正的运行软件,而动态测试需要运行软件 B.静态测试需要借助于专门的测试工具,而动态测试不需要 C.静态测试是由开发人员执行的,而动态测试是由专门的测试人员完成 D.静态测试是主要是为了增加测试人员对软件的理解,而动态测试是为了发现缺陷
2-3下面可以作为评审对象的是() ①需求规格说明②程序代码③测试计划④用户手册 A.① ② B.① ② ③ C.① ② ④ D.① ② ③ ④
2-4 关于评审会议的通用准则,描述不正确的是() A.提交讨论的是被评审文档,而不是作者本人 B.作者不应为自己或文档辩护 C.主持人可以同时成为评审人 D.评审团队应对评审对象给出是否接受的最终意见
2-5在评审过程中,主持人的工作职责不包括() A.参与和评审有关的管理工作 B.选择评审对象和需要参加评审的人员 C.收集评审数据 D.发布评审报告
2-6下列各项中,评审方法是按照正式化程序逐渐增强排列的是() A.正式评审、小组评审、走查、结对评审、临时评审 B.临时评审、走查、结对审查、轮查、正式审查 C.临时评审、走查、小组评审、结对审查、正式审查 D.临时评审、轮查、结对审查、走查、正式审查
2-7在代码检查过程中发现大部分错误的人通常是() A.程序员 B.测试员 C.审查者 D.架构师
2-8在代码检查的准备阶段和检查会议阶段都具有发现产品错误责任的是______。 A.评审人员 B.开发人员(作者) C.协调员(主持人) D.讲解员
2-9在代码检查中,负责提供关于检查项目的资料并回答评审人员问题的角色是() A.主持人 B.开发人员(作者) C.评审人员 D.讲解员
3-1下面哪些属于静态分析? A.代码规则检查 B.程序结构分析 C.程序复杂度分析 D.内存泄漏
3-2如何改进程序结构? A.避免孤立节点 B.避免单一出口 C.降低环复杂度 D.尽量不使用非结构化设计
8-1 同行评审
8-2 函数调用关系图
1、函数调用层次:
(1)层次越深,集成测试负担越大,对栈的压力越大,容易导致溢出。
(2)从函数调用层次可以找到高风险节点:
调用层次越深的节点,比如叶子节点,从该函数传递数据所涉及的接口数量越多,经过的路径越长,则该路径可以完全正确执行的概率变低,对应风险越大。还有根节点,是主控节点,涉及所有节点的运行情况。
2、函数调用关系:函数的调用关系体现了接口的复杂程序,在调用图中,可以通过计算节点的入度和出度来评价标识高风险节点。
3、查看函数调用图中是否存在递归调用,如果存在则尽量考虑对函数结构的优化,将不必要的递归调用改为循环结构。
4、查看函数调用图中是否存在孤立节点。孤立的函数意味着不执行的场景或路径,代表编码或设计的不合理,应尽量避免。
Test6 8-1 等价类测试 (100 分) 使用等价类划分法为某保险公司计算保险费的程序设计测试用例。 某保险公司的人寿保险的保费计算方式为: 保费=投保额×保险费率 其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:
(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。 年龄:一位或两位非零整数,值的有效范围为1~99 性别:一位英文字符,只能取值‘M’或‘F’ 婚姻:字符,只能取值‘已婚’或‘未婚’ 抚养人数:空白或一位非零整数(1~9) 点数:一位或两位非零整数,值的范围为1~99 (2)根据(1)中的等价类表,假设投保额为1万元,设计能覆盖所有等价类的测试用例。
Test7 8-1 决策表
Test8 2-1在某汽车销售管理系统中,销售员可以根据当时的实际情况允许给客户0-15%的折扣,折扣精确到小数后两位。现在要对系统的折扣项用边界值分析法进行测试,则折扣项的边界值应该取() A.(-2, -1, 0, 1, 99, 100, 101) B.(-Max, 0, 20, Max) C.(-0.01, 0, 0.01, 14.99, 15.00, 15.01) D.(-0.01, 0, 0.01, 99.99, 100.00, 100.01)
2-2某程序输入X为整数类型变量,1<=X<=10,如果用边界值分析法设计测试用例,则X应该取()边界值。 A.0,1,10,11 B.1,10 C.1,11 D.1,5,10,11
2-3如果采用边界值分析法进行健壮性测试,需要对程序的每个输入变量选取()来设计测试用例。 A.最小值、正常值、最大值 B.最小值、略大于最小值、正常值、略小于最大值、最大值 C.略小于最小值、最小值、正常值、最大值、略大于最大值 D.略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值、 略大于最大值
2-4下面关于边界值分析的说法不正确的是()。 A.边界值分析采用定义域或等价区间的边界值设计测试用例 B.边界值分析是一种补充等价划分的黑盒测试技术 C.边界值分析法考虑了输入变量之间的依赖关系 D.程序在处理大量中间数值时不易出错,但容易在边界值处出现错误
判断题: 2-5如果程序的输入条件规定了值的个数,则用最大个数、最小个数、比最大个数少1个、比最小个数多1个的数作为测试数据。× 2-6如果程序规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个和最后一个元素作为测试输入值。√ 2-7边界值分析法的测试用例来自于等价类的边界。√ 2-8设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件。×
选择题 2-9在边界值分析中,下列数据通常不用来做测试数据的是() A.正好等于边界的值 B.等价类中的典型值 C.刚刚大于边界的值 D.刚刚小于边界的值
2-10边界值测试属于()。 A.模块测试 B.系统测试 C.白盒测试 D.黑盒测试
8-1 边界值分析 一个计算第二天日期的NextDate程序,规定输入的 年、月、日的变量分别为month,day,year,相应的取值范围为year:[1950,2050],month:[1,12],day:[1,31],给出健壮性边界值分析的测试用例
Test9 8-1 场景测试法 网上书店都订购过书籍,整个订购过程为:用户输入账号和密码,登录到网站后,进行书籍的选择,当选好自己心仪的书籍后进行订购,这时把所需图书放进购物车,进行 结帐并生成订单,整个购物过程结束。 (1)通过以上的描述,从中确定哪是基本流,哪些是备选流。给出表格列出基本流和备选流。 (2)根据基本流和备选流来确定场景。给出场景事件图。 (3)设计场景条件表。 (4)场景事件图 (5)设计测试用例
Test10 2-1对于随机出现的缺陷,该怎么办? A.提交缺陷报告,并在报告中注明是随机出现的 B.放弃提交该缺陷报告 C.如果随机出现的缺陷严重性高,则提交缺陷报告,如果严重性不高,则放弃提交缺陷报告 D.看心情,心情好就不提交,心情不好就提交。
2-2缺陷报告不仅要保证缺陷能够被开发人员复现,还需要提供相关信息,有利于更好地解决缺陷及管理缺陷。√
2-3下列关于缺陷报告的说法中不正确的是() A.每个缺陷报告中只能描述一条缺陷,而不要包含多条缺陷; B.缺陷报告中要提供复现缺陷的精确步骤; C.缺陷报告中需要提供发现缺陷的特定环境、特定设置的描述; D.缺陷报告需要简洁,因此不要包含图片、日志等附加信息。
2-4下列关于缺陷分类的说法中不正确的是() A.可以将缺陷分为功能缺陷、界面缺陷、警告、功能建议四类; B.可以将缺陷按照严重程度分为高严重性、中严重性、低严重性; C.可以将缺陷按照优先级分类,优先级的高低可以从用户需求角度来考虑; D.一般说来,低严重性缺陷(如界面缺陷)优先级较低。
2-5下列关于软件缺陷的说法中正确的一项是() A.在软件开发生命周期中,引入缺陷数量最多的阶段是编码阶段; B.缺陷管理的过程自测试人员提出缺陷开始至开发人员修改缺陷结束; C.开发人员在修改缺陷后需要验证缺陷,并且根据验证结果关闭或重新打开缺陷; D.在修改缺陷前,开发团队必须确认缺陷是否有效。
2-6测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。×
2-7开发人员修改完缺陷后,可将此缺陷的状态由“处理中”改为“关闭”。×
2-8问题还没有解决,测试人员新报告的缺陷,或验证后缺陷仍然存在,这些缺陷所处的状态为()。 A.激活状态 B.非激活状态 C已修复状态 D.关闭状态
2-9系统主要功能部分丧失,次要功能完全丧失,这属于软件缺陷级别中的 () A.致命缺陷 B.严重缺陷 C.一般缺陷 D.建议缺陷
2-10下列()不属于软件缺陷。 A.测试人员主观认为不合理的地方 B.软件未达到产品说明书标明的功能 C.软件出现了产品说明书指明不会出现的错误 D.软件功能超出产品说明书指明范围
2-11常规操作引起的系统崩溃、死机、死循环、闪退,这属于软件缺陷级别中的 ()。 A.致命缺陷 B.严重缺陷 C.一般缺陷 D.建议缺陷
8-1 缺陷管理 (60 分) 已知某电信公司的话费计算小程序(已预埋bug)FeeCost_bug.exe。(雨课堂提供) 话费计算小程序对应的需求如下: 电信公司在计算通话费用时,通常会根据系统上报的主叫号码、被叫号码、通话开始时间、通话时长等信息进行计算。假设有如下计费规则: 1、无论何种类型通话,6秒(不含6秒)以内不计费 2、市内电话6秒及以上、3分钟以内(含3分钟)0.2元,此后每分钟0.1元 3、国内长途电话每分钟0.2元,晚上23:00~次日7:00通话费用打五折 为简化本次体验难度,特做如下约束: 1、通话时长取值范围为[0,3600],单位:秒 2、主叫号码、被叫号码用区号代替,取值范围为[10,999],如深圳为755,广州为20 3、通话开始时间用YYYYMMDDhhmmss格式表示,数值需要符合标准日历要求,如20181232中日期不符合要求 输出为:通话费用(单位:元) 作业要求: 分别用黑盒测试方法中的等价类划分和边界值分析方法生成测试用例。按如下模板提交缺陷报告。
略
PTA客观题参考答案如下: 练习2 F BCBCBD ACD ABD BD 练习3 CBDDC DABAA 练习5 FTFTT DADCB DAAB ABC ACD 练习8 CADCB AAABD 练习10 CADDD BBABAA
|