软件测试课堂作业+期末整理【超实用】

软件测试 专栏收录该内容
2 篇文章 0 订阅

疫情期间在家结课,所用教材(第一本),辅助自学教材(第二本,MOOC上武剑洁老师的配套教材)。
虽说MOOC是国家精品课,但个人觉得“内容太少、太理论”了。
我们大学老师和MOOC出的题目有点不一样(鼠标下滑到最后可见,点击可直接跳转),纯理论,as usual总感觉没讲啥就结课了。期末考试原题
AltAlt

MOOC上的题(只有第一周的题作为随堂测试题)
课前专题测试
1. 因为在软件开发的每一环节都有可能产生意想不到的问题,所以(B)

A.在设计测试用例时,只须考虑合理的输出条件即可  B.应把软件验证和确认贯穿整个软件开发的全过程中
C.应尽量由程序员或开发小组测试自己的程序  D.在设计测试用例时,只须考虑合理的输入条件即可

2. 当使用决策表设计测试用例时,对于如下的描述,您不能认同的是(B)

A.决策表往往不能完全消除测试用例的冗余  B.决策表相比边界值和等价类方法简单得多
C.决策表不是在任何情况下都需要使用的  D.决策表应与等价类方法相结合

3. 测试应从何时开始加入项目活动中?(A)

A.需求阶段  B.设计阶段  C.编码阶段  D.确认阶段

4. 网页上有个登录的账号输入框,允许输入字母、数字,最多10个字符长度。下列哪个属于需要测试的边界值?(B)

A.中文与空格  B.11个字母加数字  C.6个字母加数字  D.@#¥等特殊字符

5. 基路径测试是代码的测试中经常用到的一种测试方法,如下特性中不符合基路径测试的一项是(C)

A.控制流图也可用于计算圈复杂度  B.基路径测试一定满足判定覆盖
C.当存在不可行路径时,不应采用基路径测试方法  D.基路径测试的思想可用于功能测试

6. 测试用例是用来干什么的?(D)

A.描述需求  B.展示测试结果  C.向程序猿挑刺  D.提供测试依据

7. 某数据通信产品提供客户端的ADSL上网业务,其主要有4个功能模块组成,分别是M1、 M2、M3和M4表示。在测试计划阶段,利益相关者对它们进行了风险的识别和分析,得到的可能性与严重程度分别如下(数字越大,表示可能性越大,严重程度越高):M1:56%、10;M2:48%、5;M3:36%、7;M4:72%、8 。请问,作为测试人员,在不考虑加权的情况下,你认为哪个模块的风险级别最低?(B)

A.M3  B.M2  C.M1  D.M4  把可能性乘以严重程度

8. 如下描述中错误的是(D)

A.Stub是对象的一个简单实现,而Mock是模拟一个被模拟对象的实例
B.Stub和Mock都是单元测试中用于模拟程序的手段
C.Stub是包含业务逻辑的,而Mock不包含业务逻辑
D.JMock只能对接口进行Mock,却对非接口无能为力

9. Browser/Server模式实现了开发环境与应用环境的分离,便于管理和系统维护,该模式的最大优点之一是(A)

A.客户端的“零维护”  B.传输速度快  C.运算效率高  D.服务器端不用安装专用软件

10. 软件质量的定义是(B)

A.满足规定用户需求的能力  B.软件特征的综合,以及满足规定和潜在用户需求的能力
C.最大限度达到用户满意度  D.软件的功能性、可靠性、易用性、效率、可维护性、可移植性

11. 结构化分析方法(SA)的主要思想是什么?(B)

A.自底向上、逐步抽象  B.自顶向下、逐步求精  C.自顶向下、逐步抽象  D.自底向上、逐步求精

12. “视质量为生命,为顾客提供更优质的服务”更适合作为以下哪个?(D)

A.质量策略  B.质量标准  C.质量目标  D.质量方针

13. 软件需求分析所要做的工作是____,因此,在进行需求分析时应注意一切信息与需求都是站在应用的角度上考虑的。(A)

A.清晰描述软件的功能和性能  B.解决目标系统“怎么做”的问题
C.为原始问题及目标软件建立物理模型  D.确定软件开发阶段的适用工具

14. 针对main()函数定义了如下的出口准则要求:要求达到100%的判定覆盖。 变量i取下面的哪个值能效率最高的满足上述的出口准则要求?(C)
main() { 
  int i,sum=0; 
  scanf("%d",&i); //输入变量i的取值; 
    while(i<=25) { 
      sum=sum+i; 
      i++;
    }
    printf("%d\n",sum); //打印sum的值;
} 

A.23  B.24  C.25  D.26

15. 在类测试中,我们需要注意的是(D)

A.接口类无法实例化,因此无法进行单元测试  B.子类相比父类具有更高的测试优先级 从
C.类中的私有方法无法进行单元测试  D.抽象类中不一定有抽象方法

第一周 软件测试与质量概述
1. 以下描述中哪些是错误的?(C)

A.静态测试不需要搭建测试环境  B.测试用例的基本组成包含:输入、预期输出和测试环境
C.穷尽测试是一种非常有效的测试手段  D.测试用例能代表需求的小的测试单元

2. 以下描述正确的是(B)

A.程序员不需要测试自己的程序  B.测试工程师肯定比其他人的测试工作做的更好
C.测试职位的价值之一在于它能证明程序是满足用户要求的  D.没有需求就不能开始测试

3. 以下哪些项属于软件质量(ABCD)

A.顾客和用户觉得软件满足其综合期望的程度  B.软件产品中能满足给定需要的性质和特征的总体
C.确定软件在使用中将满足顾客预期要求的程度  D.软件具有所期望的各种属性的组合程度

4. 以下哪些情况一定可以看做是软件缺陷(ACD)

A.某App分享到微信后,针对IOS用户,在IOS12以下的版本中,在微信中打开该APP出现闪退现象
B.将手机的日历中的某一条备忘文本复制后,无法粘贴到短信编辑框中
C.登录电子邮箱时,输入正确的用户名和密码,填写正确的动态验证码后,手机收到动态短信提示成功登录,但网页端只是重新刷新了登录界面,要求重新输入用户名和密码
D.在微信中收到好友分享的文章链接,点击该链接后选择在APP中打开,对应APP出现闪退现象

5. 在游戏行业,游戏提供商常常在游戏正式发布之前邀请用户展开α测试作为检验游戏的一种方式(×
6. 用户注册了某机票预订网站的会员,但在某次使用该机票预订网站进行机票预订时,并未事先登陆,而是直接查询航班,然后填写必要信息后在线购买了机票。此时,由于是以非会员身份进行机票购买,导致该用户登录网站后无法查询到自己该次购买机票的订单信息,该用户由此感到不满。用户认为,该机票预订网站应能根据自己填写的手机号码、身份证号码等信息,自动识别自己的会员身份,并应自动提示以会员身份登录系统后再购买机票。请问,在这个案例中,机票预订系统未能识别的用户需求是(C)

A.显式需求  B.隐式需求  C.实际需求

第二周 黑盒测试技术
1. 以使用某购票系统进行国内车票购买的过程为例,如果需要针对相关业务流程设计测试用例,则如下描述中错误的是(A)

A.成功登录系统,为已有乘车人成功购买单程单张车票,以及为已有乘车人成功购买单程多张车票,这两个流程分别对应两个基本事件流
B.系统登录失败,该流程对应的是备选事件流
C.成功登录系统,出发地城市分别选择100个不存在的、或不在中国境内的城市,无法购票,对应同一个备选事件流
D.成功登录系统,为已有乘车人成功购买单程、单张车票,该流程对应的是基本事件流

2. 以下描述中哪个是正确的?(A)

A.功能测试中,针对事件流中的每个节点,应使用等价类和边界值测试对涉及的数据进行校验
B.在功能测试中,应优先使用等价类测试方法来测试数据,然后使用场景法测试流程,最后使用边界值测试做补充测试
C.在数据可以穷尽的情况下,只要能保证测试用例覆盖所有数据,就可以确保测试没有风险
D.在功能测试中,应选择所有不同的测试方法,围绕功能点设计尽量多的测试用例

3. 下图给出了猫狗大战小游戏的一个典型的对战场景,其中图中的猫和狗分别代表对战的双方,在人机对战模式下,猫是机器内置的对手,用户可操作的是狗角色,图中中央上方显示的分别是对战双方的血量,中央血条下方是风力和风向标志,四个圆形图标从左到右依次表示:打击两次、强力打击工具、臭弹工具、补血工具(补血工具仅对自己进行补血,不能攻击对手)。通过按下鼠标左键的时间长短控制出手力度,时间越长,出手力度越大。请问,以下描述中哪些是错误的(ABCD)

Alt
A.若对攻击工具进行等价划分,则可得到如下等价类:1.打击两次工具,2.强力打击工具,3.臭弹工具,4.补血工具
B.可使用等价划分方法,根据风向以及力度,划分为能打中对手、不能打中对手两种情况
C.从输入的角度来说,可使用等价划分方法,划分为如下三种情况:1.没超时打不中,2.没超时打中,3.超时
D.针对攻击时的风向,可划分为如下两个等价类:1.顺风,2.逆风

4. 给定一组输入条件,每个输入条件均对应各自连续的有效取值范围,则以下的描述中正确的是(AD)

A.如果希望更好地控制测试用例规模,则设计的测试用例能覆盖所有有效等价类就可以了
B.每个输入条件都至少可以划分为一个有效等价类和两个无效等价类
C.从等价类中抽取测试数据时,一定要选择非边界值
D.从输入设计测试用例后,往往还需要围绕系统输出来补充设计测试用例

5. 任何情况下都必须使用边界值测试(B)

A.×  B.√

6. 等价类测试和边界值测试是面向数据的,场景法是面向____的(流程
第三周 黑盒测试技术(续)
1. 已知下一日问题中,年份取如下测试数据: 1800, 1801, 2049, 2050,月份取如下测试数据: 1, 2, 11, 12,日期取如下测试数据: 1, 2, 30, 31,则如下哪个正交表最合适?(C)

A.L8(27)  B.L9(34)  C.L16(45)  D.L4(23)

2. 已知被测系统有三个因素:A,B,C,其中,A和B分别有两种取值A1,A2, B1,B2,C因素有三种取值C1,C2,C3,基于AETG算法的基本思想,若当前所有尚未覆盖的因素的成对组合构成集合T1,如下表所示,且候选测试用例已确定B因素取值为B2,则此时,若考虑对A因素的取值,则A应取值(D)
(A1,B2)(A1,C2)(A1,C3)(A2,B1)
(A2,B2)(A2,C1)(A2,C2)(A2,C3)
(B1,C2)(B1,C3)(B2,C1)(B2,C2)
(B2,C3)

A.只能取零值  B.A1和A2都无所谓  C.只能取A2  D.只能取A1

3. 以下描述中哪些是正确的(BCD)

A.对于有k个影响因素,每个因素有n个不同取值的被测对象,至少需要k2个测试用例才能满足完全的成对组合覆盖
B.成对测试的目标是以最少的测试用例数,覆盖最多的成对组合元素
C.正交表测试非常适于成对测试
D.正交表测试满足100%的成对测试

4. 如下关于决策表的描述中正确的是(ACD)

A.决策表方法不适于处理无效域的数据  B.当输入条件之间相互独立时,最好采用决策表测试方法
C.决策表测试方法应与等价划分方法结合起来使用  D.决策表测试是面向数据的测试

5. 正交表要求各输入条件的取值个数相同,成对测试不要钱各输入条件取值个数相同(
6. IPO算法的基本思想中,每次不是选择所有因素,而是采用____的方式生成测试用例。(逐步增加因素
第四周 单元测试
1. 单元测试中最不需要测试的是(B)

A.类中的一个功能方法  B.一个执行排序功能的函数  C.类中的Getter方法  D.一个类

2. 基于JUnit4.x设计单元测试脚本时,用于支持参数化测试的运行器是(C)

A.TestCase  B.Categories  C.Parameterized  D.Suite

3. 编写单元测试脚本时,不适合的设计包括(BC)

A.使用断言校验执行结果  B.在被测类的main函数中编写测试脚本
C.在一个测试方法中执行多个测试用例  D.测试类的设计保证尽量简洁

4. 如下描述中错误的包括(ABC)

A.做了良好的单元测试就不需要做集成测试了
B.单元测试代码必须与产品代码放在一起,这样有助于测试
C.单元测试必须由测试工程师来完成
D.单元测试有利于程序员提交代码的质量

5. 单元测试就是用某一款代码扫描工具将产品代码扫描一遍,看看有没有什么问题。(×
6. 开发单元测试脚本不需要提前设计测试用例。(×
第五周 白盒测试技术
1. 以下描述中哪个是正确的(A)

A.在评审会正式召开之前,评审员必须认真阅读被审查的工作产品在评审会正式召开之前,评审员必须认真阅读被审查的工作产品
B.在代码评审过程中,应留出足够的时间让评审人员与开发人员就现场发现的缺陷修复达成一致意见
C.在代码评审会前,必须提前设计测试用例,并在评审过程中逐一执行每个测试用例,观察执行结果
D.代码评审不涉及测试环境搭建、测试脚本编写、测试用例管理等工作,因此应广泛使用代码评审,至少每周组织2-3次代码评审

2. 以下描述中哪个是错误的(C)

A.判定节点是导致程序执行风险的主要因素
B.控制流分析的主要目的就是通过对判定节点的测试来降低程序执行的风险
C.对代码设计测试用例必须要根据程序的设计来进行
D.编程过程中编译器会发现代码中的部分错误,程序调试过程中程序员也会使用自己预设的数据来测试程序,但控制流分析仍然是必要的

3. 以下描述中哪些是错误的(ACD)

A.条件判定节点将影响程序执行的走向,因此,条件判定节点是代码中风险最高的元素
B.只要程序中存在循环结构,测试就无法穷尽
C.串联的条件判定结构比嵌套的条件判定结构风险更高
D.只要在代码中不使用判定结构或循环结构,就一定可以降低程序运行的风险

4. 以下描述中哪些是正确的(D)

A.设计测试用例时,如果使用了判定覆盖指标就不需要再使用语句覆盖
B.假设被测代码中有n个判定节点,如果基于判定覆盖指标设计测试用例,则一定需要设计2n个测试用例
C.应谨慎使用条件组合覆盖指标,因为该指标指导下设计测试用例可能导致测试效率不高
D.在时间有限的情况下,可优先选择判定覆盖测试函数代码

5. 通过消除函数内部结构之间的依赖关系,或将函数体内相似的代码改为函数调用,一定能够降低函数的复杂度,但这样也有可能会增大集成测试的负担。(×
6. 在代码评审会召开之前,为了确保所有参会人员都了解会议流程、会议目的,都拿到正确、完整的评审材料,往往需要先召开____。(评审预备会
第六周 白盒测试技术(续)
1. 以下的描述中正确的是(B)

A.环复杂度指标真实再现了循环结构和判定结构对程序结构复杂性造成的影响
B.可通过将程序中的重复代码改为函数调用来降低代码所在函数的环复杂度
C.一段程序的环复杂度必须控制在10以内
D.一段程序的环复杂度大小等于该程序代码中判定节点的个数加1

2. 以下描述中哪个是错误的(D)

A.只要遵循独立路径测试的路径构建原则,得到的路径集就一定是无冗余的
B.独立路径不保证得到的测试用例有意义
C.随便从程序路径中抽取若干条路径来测试,也没有错
D.独立路径测试只能用于对代码的测试

3. 以下描述中哪些是正确的(ACD)

A.在程序设计中,要保证同一段程序代码中不同结构体之间完全独立是很困难的
B.程序内判定和循环结构的嵌套相比串联更容易导致增大程序结构的复杂度
C.通过需求分析得到程序的路径数目与程序实际的路径数不一致时,则可能是程序设计不够合理
D.直接基于程序控制流图计算环复杂度是完全可行的

4. 以下的描述中错误的是(D)

A.一个场景可以仅包含1个备选事件流
B.解决场景爆炸的最佳方案是基于事件流的个数设计场景
C.基于独立路径测试的思想设计场景可以保证最少的可行场景
D.场景中同一个节点可同时触发多个备选事件流

5. 场景是分层次的,如果当前场景过于复杂,可将部分场景节点分解为低一级的层次,以便于测试。(
第七周 测试管理及工具
1. 当使用测试管理工具对需求、测试用例和缺陷进行管理时,不正确的措施是(B)

A.软件缺陷必须与测试用例相对应
B.对产品的测试应分版本,不同软件版本,应有不同的测试计划
C.测试用例必须与需求相对应
D.测试执行应按照轮次来完成

2. 当测试人员报告缺陷时,正确的处理方式是(D)

A.缺陷标题应尽量详细描述  B.缺陷一旦关闭,就不能再次打开
C.严重性级别为“严重”的缺陷必须对应“高”优先级  D.如果缺陷确实无法重现,也应提交,并在报告中注明这一情况

3. 记录缺陷时需要注意(ACD)

A.标题应尽量简洁,体现所发现缺陷的核心特点  B.必须100%确保报告的缺陷可重现
C.必须记录被测软件系统的版本号  D.应尽可能详细记录执行过程

4. 利用测试管理工具记录测试用例时,应注意(BCD)

A.通过使用TestCenter可实现测试用例的自动执行
B.记录测试用例时,不仅应包含数据,还应有步骤
C.测试用例中的步骤可从需求设计中得到
D.测试用例应与需求场景对应,且一个需求场景可包含多个测试用例

5. 测试用例报告中,每个测试用例的ID必须由人为按规则指定,不能由管理软件自动生(×
6. 填写缺陷报告时,应明确指出该缺陷是否可以修复。(×
其余的随堂测试题
1. 修复软件缺陷费用最高的是哪个阶段(D)

A.编制说明书  B.设计  C.编写代码  D.发布

2. 以下哪项属于动态黑盒测试?(D)

A.直接测试底层功能、过程、子程序和库  B.可估算执行测试时代码量和具体代码
C.从软件获得读取变量和状态信息的访问权  D.测试的是软件在使用过程中的实际行为

3. 下列不属于软件缺陷的是?(A)

A.测试人员主观认为不合理的地方  B.软件未达到产品说明书标明的功能
C.软件出现了产品说明书指明不会出现的错误  D.软件功能超出产品说明书指明范围

笔记:软件缺陷的正式定义
①被测系统与需求不一致
②软件未达到需求规格说明书中指明的功能
③软件出现了需求规格说明书中指明不会出现的错误
④软件功能超出需求规格说明书指明的范围
⑤软件未达到需求规格说明书中虽未指明但应达到的目标

4. 软件测试类型按开发阶段划分为(B)

A.需求测试、单元测试、集成测试、验证测试  B.单元测试、集成测试、系统测试、验收测试
C.单元测试、集成测试、验证测试、验收测试  D.调试、单元测试、集成测试、用户测试

笔记:具体的测试分类
①从测试阶段或对象角度分类(V模型)

Alt

  • 单元测试:是针对每个单元的测试。用于验证一个单元模块的功能是否正常。一个单元模块可以包括几行或上百行代码。单元测试与编码过程是紧密联系的,单元测试有时也认为是编码阶段的一个活动。【单元测试对应编码阶段,测试对象是单个模块组件
  • 集成测试:是将不同单元模块组合在一起,形成更大组件的过程。用于查找单元或组件间的接口错误,其关注的重点是那些在单元测试中不能被发现的缺陷。【集成测试对应详细设计,测试对象是一组模块组件
  • 系统测试:检验软件产品能否与系统的其他部分(比如,硬件、数据库及操作人员)协调工作。用于评估整个系统的行为并确保系统行为符合用户需求,并评估系统与硬件设备、运行环境和应用程序等之间的接口。【系统测试对应概要设计,测试对象是整个软件系统
  • 验收测试:部署软件之前的最后一个测试操作。测试范围类似系统测试,通常由系统提供者和客户共同完成的。验收测试使客户确信应用程序具有所需的特性并且能够正确的运行。【验收测试对应需求阶段,测试对象是整个软件系统

②从测试技术的角度分类

  • 黑盒测试:关注的是与产品的外部行为相关的缺陷,此时并不考虑产品的内部结构或运行逻辑。
  • 白盒测试:关注的是与代码内部结构相关的缺陷,因此,需要测试人员掌握一定的编程技术。
  • 灰盒测试:是综合运用黑盒测试和白盒测试技术的一种混合测试方法。

③从测试目标的角度分类

  • 回归测试:是软件版本修改后的重新测试,可应用于所有测试级别,目的是为了确保被修改组件的行为没有改变,不会造成意外结果。
    功能测试:针对软件功能需求进行测试,目的是检查应用程序的行为是否符合预期。
    性能测试:用于验证系统是否满足规格说明的性能需求,例如容量和响应时间等。
    Alpha测试( α测试):在软件发布前,有时会让小规模、有代表性的潜在用户试用软件,如果由开发机构人员来模拟潜在用户开展测试,则称为α测试。
    Beta测试( β测试):软件的早期版本被发布给具有代表性用户群来测试,称为β测试。β测试常被用于面向大众市场的系统、计算机游戏和类似的应用程序。
  • 压力测试:以设计的最大负载或超过最大负载来运行软件,用于确定系统运行的负载界限。
    负载测试:通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。
    安全性测试:是对产品进行检验,以验证产品符合安全需求定义和产品质量标准的过程 。用于测试系统在遭遇未授权访问、计算机犯罪和破坏时是否能保护自己。
  • 配置测试:当开发的系统需要应用于多种环境配置时,需要对每种配置进行测试,以检测系统行为是否符合规格要求。包含硬件配置和软件配置。
    安装测试:在目标环境中通过安装来验证软件及其安装过程。目的是确保该软件在正常或异常情况的不同条件下都能进行安装,且安装后可立即正常运行。
    可用性测试:用于评估系统使用的简易程度,交互是否具有人机工程学设计以及用户文档使用的有效性。
    可恢复性测试:用于检验系统在灾难或意外宕机后的重启能力。

④从测试执行方式的角度分类

  • 手动测试:人工执行测试。即根据测试用例中描述的规程,不借助特殊的软件工具,人工来运行被测系统,观察系统实际输出是否符合测试用例的预期输出。
  • 自动化测试:软件测试的自动化,是一个将以人为驱动的测试行为转化为机器执行的过程。目的是节省人力、时间或硬件资源,并提高测试效率。

⑤从是否执行程序的角度分类

  • 静态测试:不运行被测软件,而只是静态地检查程序代码(代码是否符合相应的标准和规范)、界面(软件的实际界面与需求中的说明是否相符)或文档中可能存在的错误(用户手册和需求说明是否符合用户的实际需求)的过程。
  • 动态测试:实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。
  • 所以判断一个测试属于动态测试还是静态的,唯一的标准就是看是否运行程序。
5. 软件质量包括(C)

A.软件验证质量、软件开发质量、软件测试质量  B.软件测试质量、软件调试质量、软件分析质量
C.过程质量、软件内部质量、软件外部质量、软件使用质量  D.软件测试质量、软件开发质量、软件调试质量

注意:软件测试不能提高软件质量,但可以验证软件质量。

6. 黑盒测试是从____观点出发的测试,白盒测试是从____观点出发的测试。(C)

A.开发人员、管理人员  B.用户、管理人员  C.用户、开发人员  D.开发人员、用户

开放题:简述黑盒测试和白盒测试的区别及它们在软件测试过程中的优缺点?
黑盒测试:又被称为功能测试数据驱动测试基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。

  • 优点:
  1. 比较简单,不需要了解程序内部的代码及实现;
  2. 与软件的内部实现无关;
  3. 从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
  4. 基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
  5. 在做软件自动化测试时较为方便。
  • 缺点:
  1. 不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的 30%;
  2. 自动化测试的复用性较低。

白盒测试:也称结构测试逻辑驱动测试,是通过程序的源代码进行测试而不使用用户界面。

  • 优点:
  1. 帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
  • 缺点:
  1. 程序运行会有很多不同的路径,不可能测试所有的运行路径;
  2. 测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;
  3. 系统庞大时,测试开销会非常大。
7. 下列描述错误的是(A)

A.软件发布后,如果发现问题,那就是软件测试人员的错。  B.穷尽测试实际上在一般情况下是不可行的。
C.软件测试自动化不是万能的。  D.测试能由非开发人员进行,调试必须由开发人员进行。

8. 下列说法不正确的是?(C)

A.测试不能证明软件的正确性  B.测试员需要良好的沟通技巧
C.QA(quality assurance)与testing属于一个层次的概念  D.成功的测试是发现了错误的测试

开放题:简述软件质量保证和软件测试的区别?
软件测试是软件质量保证工作的一个活动,即软件测试是软件质量保证工作的一个子集。
软件质量保证工作包括:评审、配置管理、风险管理、测试、建立标准、进行度量等一系列活动。

9. 划分软件测试属于白盒测试还是黑盒测试的依据是(C)

A.是否执行程序代码  B.是否能看到软件设计文档
C.是否能看到被测源程序  D.运行结果是否确定

10. 使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和____(C)

A.程序的注释  B.用户使用说明书  C.程序的内部逻辑  D.程序的需求说明
在这里插入图片描述在这里插入图片描述
       白盒测试各方法的区分(推荐)        黑盒测试各方法的区分(一般推荐)

11. 软件测试用例主要由输入数据和____两部分组成(C)

A.测试计划  B.测试规则  C.预期输出结果  D.以往测试记录分析

12. 确认测试以____文档作为测试的基础(B)

A.设计说明书  B.需求规格说明书  C.源程序  D.开发计划

13. 软件调试的目的是(D)

A.统计出错的次数  B.排除存在错误的可能性  C.对错误性质进行分类  D.找出错误所在并改正之

14. 条件覆盖的目的是(D)

A.使程序中的每个可执行语句至少执行一次  B.使每个判定的所有可能的条件取值组合至少执行一次
C.使程序中的每个判定至少都获得一次“真”值和“假”值  D.使程序的每个判定中每个条件的可能值至少满足一次

15. 文档测试主要检查文档的(ABCD)

A.正确性  B.完备性  C.易理解性  D.一致性

16. 黑盒测试用例设计方法(ABD)

A.等价类划分  B.边界值分析  C.程序结构分析  D.判定表法

17. 按照是否执行程序,我们可以将测试划分为(C)

A.手工测试和自动化测试  B.黑盒测试和白盒测试  C.静态测试和动态测试  D.单元测试和集成测试

18. 如何从正向和逆向的角度理解软件测试?

  正向思维:以功能验证为导向,测试是证明软件是正确的。
  逆向思维:以破坏性检测为导向,测试是为了找到软件中的错误。
在这里插入图片描述

19. 如何从验证和确认的角度理解软件测试?

  验证:是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性。
  有效性确认:是确认所开发的软件是否满足用户真正需求的活动。

20. 对于逻辑表达式((a&b)| |c),需要( C )个测试用例才能完成条件组合覆盖。

A.2  B.3  C.4  D.5

21. 逻辑覆盖法不包括( C )。

A.分支覆盖  B.语句覆盖  C.需求覆盖  D.修正条件判定覆盖
  白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。
  白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。

22. 如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的( A )。

A.判定覆盖  B.条件覆盖  C.判定/条件覆盖  D.组合覆盖

23. 单元测试中用来模拟被测模块调用者的模块是( C )

A.父模块  B.子模块  C.驱动模块  D.桩模块

24. 不属于单元测试内容的是( D )

A.模块接口测试  B.局部数据结构测试  C.路经测试  D.用户界面测试

(1) 模块接口测试

  • 在单元测试的开始,应对通过被测模块的数据流进行测试。测试项目包括:
    • 调用本模块的输入参数是否正确;
    • 本模块调用子模块时输入给子模块的参数是否正确;
    • 全局量的定义在各模块中是否一致。
  • 在做内外存交换时要考虑:
    • 文件属性是否正确;
    • OPEN与CLOSE语句是否正确;
    • 缓冲区容量与记录长度是否匹配;
    • 在进行读写操作之前是否打开了文件;
    • 在结束文件处理时是否关闭了文件;
    • 正文书写/输入错误;
    • I/O错误是否检查并做了处理。

(2) 局部数据结构测试

  • 不正确或不一致的数据类型说明
    • 使用尚未赋值或尚未初始化的变量
    • 错误的初始值或错误的缺省值
    • 变量名拼写错或书写错
    • 不一致的数据类型
    • 全局数据对模块的影响

(3) 路径测试

  • 选择适当的测试用例,对模块中重要的执行路径进行测试。
  • 应当设计测试用例查找由于错误的计算、不正确的比较或不正常的控制流而导致的错误。
  • 对基本执行路径和循环进行测试可以发现大量的路径错误。

(4) 错误处理测试

  • 出错的描述是否难以理解。
  • 出错的描述是否能够对错误定位。
  • 显示的错误与实际的错误是否相符。
  • 对错误条件的处理正确与否。
  • 在对错误进行处理之前,错误条件是否已经引起系统的干预等。

(5) 边界测试

  • 注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。
  • 如果对模块运行时间有要求的话,还要专门进行关键路径测试,以确定最坏情况下和平均意义下影响模块运行时间的因素。
25. 客户端交易处理性能指标是一类重要的负载压力测试指标,以下不属于客户端交易处理性能指标的是( C )

A.负载测试  B.压力测试  C.疲劳强度测试  D.大数据量测试

26. 以下不属于易用性测试的是( B )

A.易安装性测试  B.兼容性测试  C.用户界面测试  D.功能易用性测试

27. 在进行单元测试时,常用的方法是( B )

A.采用黑盒测试,辅之以白盒测试  B.采用白盒测试,辅之以黑盒测试
C.只是用黑盒测试  D.只是用白盒测试

易用性测试一般不仅针对应用程序,还要包括用户文档,除了对用户文档的测试,易用性测试主要包括3个方面:易安装性测试、功能易用性测试和用户界面测试。而兼容性测试是与易用性测试并列的测试方法,两者不存在包含关系。

应用题
  1. 某城市的电话号码由三部分组成,这三部分的名称和内容分别是
    地区码:空白或三位数字;
    前缀:非‘0’或‘1’开头的三位数;
    后缀:四位数字
    假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,试用等价分类法和边界值分析法来设计它的调试用例。

在这里插入图片描述
在这里插入图片描述

  1. 打印机是否能打印出来正确的内容,有多个因素的影响,包括驱动程序、纸张、墨粉等。结果有两种:打印内容和不同的错误提示。假定:优先警告缺纸,然后警告没有墨粉,最后警告驱动程序不对。请用判定表方法画出判定表,并根据判定表设计出测试用例。

在这里插入图片描述
    化简后的判定表
在这里插入图片描述
    测试用例
在这里插入图片描述

  1. PowerPoint软件打印功能,描述如下:
    打印范围分:全部、当前幻灯片、给定范围 3种
    打印内容分:幻灯片、讲义、备注页、大纲视图 4种
    打印颜色/灰度分:颜色、灰度、黑白 3种
    打印效果分:幻灯片加框、幻灯片不加框 2种
    请利用如下正交表设计测试用例。

①将需求转化为因子-状态表(因子:输入参数,状态:输入参数取值)
在这里插入图片描述
②将因子-状态表的文字用字母代替
在这里插入图片描述
∵ 因子数一共4个;状态数出现最多的是3(打印范围取值有3种状态,打印内容取值4种状态,打印颜色取值有3种状态,打印效果取值有2种状态,得出最多的为3种状态)。
∴ 根据上面两点,找到最接近的正交表4因子3状态

③将因子-状态表代入正交表(规则:多则合并,少则补充任意状态值)
在这里插入图片描述    在这里插入图片描述
④若正交表中有合并项,将合并项拆成多行
在这里插入图片描述
⑤将正交表中的字母用文字代替
在这里插入图片描述

  1. 根据下面被测程序流程图,设计测试用例达到百分之百的条件组合覆盖和百分之百的路径覆盖率。
    在这里插入图片描述

条件组合覆盖测试用例
条件 M={A>1 and B=0} N={A=2 or X>1}
在这里插入图片描述在这里插入图片描述
路径覆盖测试用例
在这里插入图片描述

  1. 程序Triangle,输入三个整数,表示一个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三角形、非三角形还是普通三角形。画系统测试用例。

在这里插入图片描述在这里插入图片描述

期末试题,注意时间分配!(没有标准答案)
  1. 如何从正向和逆向的角度理解软件测试?如何从验证和确认的角度理解软件测试?(15分)

答案是课堂作业里布置过的

  1. 根据软件缺陷构成示意图,规格说明和系统设计存在的缺陷在软件缺陷中占有较大比例,此种情况对软件开发和测试工作有何启发?(结合课堂内容)(15分)
    在这里插入图片描述
  1. 请依据下图的详细设计流程图设计测试用例找到程序中的缺陷。(要求此测试用例能被执行)(10分)
  1. 登录功能说明书:(用户输入和密码输入)管理员用户名为“admin”,密码为“123456”,正常登录。
    用户名和密码输入为空,提示“用户名和密码不允许为空”。
    空的情况下:要求用户名必须输入4-6个字母,否则提示“输入非法”。要求密码必须输入6位数字,否则提示“输入非法”。
    在输入合法的情况下:用户名错误,提示“用户名和密码输入错误”,用户名和密码清空。用户名正确,密码错误,提示“用户名和密码输入错误”,用户名保留,密码清空。
    请用等价类划分和健壮边界值分析法分别设计测试用例。
    要求:1、画出等价类表(3分),依据等价类表设计测试用例(5分)
       2、分析边界值(3分),依据边界值设计测试用例(3分)
       3、用测试用例的八大要素,设计两个标准的系统测试用例(6分)(共20分)
  1. 制作一个机票价格计算软件,针对不同购票类别有不同的折扣方式。
    购票日期:当天购票,票价为原价;提前半月以上,票价为七折;提前一个月以上,票价为4折。
    客户类型:普通客户,票价为原价;普通会员,票价打9折;金卡会员,票价打8折;砖石卡会员,票价打7折。
    舱位:经济舱500元;商务舱1300元;头等舱2800元。
    票种:单程票,票价为原价;返程票,票价9折。
    实际票价 = 票种基数 * 客户类型基数 * 购票日期基数 * 舱位票价
    要求:1、请利用正交表设计用例,要求列出所有因子(5分)
       2、列出每个因子对应的状态并对每个状态进行标号(5分)
       3、将因子状态带入正交表得出测试用例(10分)(共20分)
       
  1. 如果你是项目经理,你将如何带领团队研发出符合用户需求的软件产品。(结合课堂内容)(20分)
评论 4 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:博客之星2020 设计师:CSDN官方博客 返回首页

打赏作者

鸽子不二

你的鼓励是我创作的最大动力!

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值