精华内容
下载资源
问答
  • 2021-07-23 05:16:28

    软件测试与软件质量关系的概述 论文

    软件测试与软件质量关系的概述

    摘要:软件测试和软件质量的概念是分不开的。测试是手段,质量是目的。软件测试能够提高软件质量,但是软件测试和软件质量保证二者之间既存在包含又存有交叉的关系。软件测试能够找出软件缺陷,确保软件产品满足需求。但是测试不是质量保证。测试可以查找错误并进行修改,从而提高软件产品的质量。软件质量保证则是避免错误以求高质量,并且还有其他方面的措施以保证质量问题。本文是通过软件质量和软件测试的相关概念来讨论软件测试和软件质量之间的关系。

    关键字:软件测试;质量度量;质量模型;白盒测试;黑盒测试

    An overview of the relationship between software testing and the software quality

    Abstract:The concept of software testing and software quality are inseparable. Testing is a means, quality is the goal. Software testing can improve the quality of software, but software testing and software quality assurance exists between include and exists a relationship of cross. Software testing to identify software defects, to ensure that the software products meet the demand. But the test is not quality

    assurance. Test can find errors and modified, so as to improve the quality of software products. Software quality assurance is to avoid mistakes in order to high quality, and other aspects of measures to ensure the quality problem. This article is through the related concepts of software quality and software testing to discuss the relationship between the quality of software testing and software.

    Key words:Software testing; Quality measures; The quality of the model; White box testing; Black box testing

    更多相关内容
  • 软件质量特性 McCall软件质量模型

    千次阅读 2021-11-18 14:35:10
    软件质量定义 软件质量是与软件产品 满足明确或隐含需求的能力 有关的特征或特性的总和。 软件质量的外在特性 1、正确性,在设计、规范和实现等方面的少错误程度。 2、可用性,用户使用和学习这个软件的容易程度。 3...

    软件质量定义

    软件质量是与软件产品 满足明确或隐含需求的能力 有关的特征或特性的总和。

    软件质量的外在特性

    1、正确性,在设计、规范和实现等方面的少错误程度。
    2、可用性,用户使用和学习这个软件的容易程度。
    3、效率,这个软件占用的资源尽量的少,内存占的少且执行时间短。
    4、可靠性,软件在应该在很长时间不出现故障。
    5、完整性,用户授权后才能使用该软件,能够正确访问数据。
    6、适应性,在不修改如软件的情况下能够不同的环境中使用。
    7、精确性,该软件系统给出的设计结果应该保证正确度,就像计算器一样得算出误差非常小的结果。
    8、健壮性,该软件在处理无效的输入或者处于压力环境时能够继续正常运行。

    软件质量的内在特性

    1、可维护性,是否很容易该软件进行修改功能或添加功能,来提高软件的性能,还有修正软件的缺陷。
    2、灵活性,如果该软件是为了特定环境或用途而设计的,那该软件使用到其他环境或改变成其他用处时需要修改的程度。
    3、可移植性,如果该软件是在特定环境下运行而设计的,那么更换环境,对软件的修改程度。
    4、可重复性,该软件的部分功能可能会用到其他系统中的程度,以及难易程度。
    5、可读性,阅读并且理解高软件代码的难易程度。
    6、可测试性,该软件可以进行什么程度的单元测试或者系统测试,以及在何种程度上验证软件系统是否符合要求。
    7、可理解性,在该软件更深层次上的理解程度,比可读性要求更高。

    ISO/IEC 9126-1991质量模型:规定了软件质量模型的6大特性和27个子特性。
    在这里插入图片描述

    McCall软件质量模型

    McCall 软件质量度量模型的三个层次:软件质量要素、评价准则、定量度量。
    McCall 提出了表明软件质量的11个质量特性:
    面向产品运行:正确性、可靠性、可使用性、效率、完整性
    面向产品修正:可维护性、灵活性、可测试性
    面向产品转移:可移植性、可复用性、互联性
    在这里插入图片描述

    展开全文
  • 慕课软件质量保证与测试(习题集)

    万次阅读 多人点赞 2020-05-09 17:08:53
    习题汇总0 总目录1 绪论1.1 软件质量保证与测试的产生与发展1.2 软件缺陷,软件错误,软件故障1.3 软件质量保证与测试的意义,原则和挑战1.4 单元测试1.5 课后作业2 软件测试策略2.1 软件测试的模型,过程和生命周期2.2 ...

    慕课金陵科技学院.软件质量保证与测试.期末复习.习题汇总

    0 总目录

    1 绪论

    1.1 软件质量保证与测试的产生与发展

    第一类测试方法与第二类测试方法的本质区别体现在:
    A.执行测试的人员不同
    B.执行测试的时间不同
    C.执行测试的目的不同
    D.执行测试的效果不同

    正确答案:C

    1.2 软件缺陷,软件错误,软件故障

    1 下列那种不属于软件缺陷:
    A.银行POS机在用户取款时翻倍吐钱,取100,吐200
    B.计算机病毒发作,屏幕出现熊猫烧香画面
    C.网上售票软件反应迟钝,用户难以正常买票
    D.某软件在进行修改升级之后,原来正常的功能现在出错了

    正确答案:B

    1.3 软件质量保证与测试的意义,原则和挑战

    软件质量保证与测试人员需要的的基本素质有( )
    A.计算机专业技能
    B.测试专业技能
    C.行业知识
    D.以上都是

    正确答案:D

    1 有一个武器控制软件,请问它的质量成本中,哪部分成本变化范围最大?
    A.预防成本B.评估成本C.销售成本D.失败成本

    正确答案:D

    1.4 单元测试

    1单选(1分)为了提高软件测试的效率,应该 ( )。
    A.选择发现错误可能性大的数据作为测试数据1.00/1.00
    B.取一切可能的输入数据作为测试数据
    C.随机地选取测试数据
    D. 选取最常见的数据作为测试数据

    正确答案:A

    2单选(1分)以下哪一类人员与软件质量保证与测试工作无关?
    A.软件销售人员1.00/1.00B.软件需求分析人员C.软件设计人员D.代码开发人员

    正确答案:A

    3单选(1分)经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误较多,则该模块中残存的错误数目与其他模块相比,通常应该( )。
    A.相似B.较少C.较多1.00/1.00D.不确定

    正确答案:C

    4单选(1分)软件测试的目的是 ( )。
    A.发现并修改程序中的错误
    B.证明程序是正确的
    C.尽可能多地发现程序中的错误1.00/1.00
    D.发现程序中的所有错误

    正确答案:C

    5单选(1分)以下那一种选项不属于软件缺陷( )。
    A.软件没有实现产品规格说明所要求的功能
    B.软件实现了产品规格没有提到的功能
    C.软件中出现了产品规格说明不应该出现的功能
    D.软件满足用户需求,但测试人员认为用户需求不合常理。

    正确答案:D

    6判断(1分)单元测试通常由开发人员进行。
    A.1.00/1.00B.
    正确答案:对

    7判断(1分)测试是为了验证软件已正确地实现了用户的要求。
    A.B.1.00/1.00
    正确答案:错

    8判断(1分)好的测试员不懈追求完美,保证通过测试的软件不会再有缺陷。
    A.B.1.00/1.00
    正确答案:错

    9填空(2分)软件质量保证的英文缩写是( )。
    正确答案:SQA

    10填空(2分)IEEE对软件测试的定义是:使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足( )或弄清预期结果与实际结果之间的差别 。
    正确答案:规定的需求

    1.5 课后作业

    1(40分)软件缺陷产生的原因有哪些?

    答:针对软件开发过程的主体和对象,软件缺陷的产生,主要是由软件产品的特点和开发过程决定的.从软件自身的特点,团队工作和技术问题等角度分析软件缺陷产生的原因分为以下四点:
    软件自身的特点:1软件自身的实际需求不清晰,导致设计目标偏离实际需求,从而引起功能或产品特征上的缺陷.2系统结构非常复杂,而又无法设计成一个很好的层次结构或组件结构,结果导致意想不到的问题或系统维护,扩充上的困难.即使设计成良好的面向对象的系统,由于对象,类太多,很难完成对各种对象,类相互作用的组合测试,而隐藏着一些参数传递,方法调用,对象状态变化等方面问题.
    3对一些实时应用,需要进行精心设计和技术处理,保证精确的时间同步,否则容易引起时间上不协调.不一致所带来的问题.4系统运行环境的复杂,不仅用户使用的计算机环境千变万化,包括用户的各种操作方式或各种不同的输入数据,容易引起一些特定用户环境下的问题.5.由于通信端口多.存取和加密手段的矛盾性等,会造成系统的安全性或适用性等问题.
    团队合作:1系统需求分析时对客户的需求理解不清楚,或者和用户的沟通存在一些困难.
    2不同阶段的开发人员相互理解不一致.
    3对于设计或编程上的一些假定或依赖性,相关人员没有充分沟通.
    4项目组成员技术水平参差不齐,新员工较多,或培训不够等原因也容易引起问题.
    设计和实现问题
    1系统结构设计不合理.算法选择不科学,造成系统性能低下.
    2没有考虑系统崩溃后的自我恢复或数据的异地备份,灾难性恢复等问题,从而存在系统安全性.可靠性的隐患.
    3对程序逻辑路径或数据范围的边界考虑不够周全,漏掉某些边界条件,造成容量或边界错误.
    4算法错误:在给定条件下没能给出正确或准确的结果.
    5语法错误:对于编译性语言程序,编译器可以发现这类问题;但对于解释性语言程序,只能在测试运行时发现.
    6计算和精度问题:计算的结果没有满足所需要的精度.
    7接口参数传递不匹配,导致模块集成出现问题.
    管理问题
    1缺乏质量文化,不重视质量计划,对质量.资源.任务.成本等的平衡性把握不好,容易挤掉需求分析.评审.测试.等时间,遗留的缺陷会比较多.
    2开发流程不够完善和规范,存在太多的随机性和缺乏严谨的内审或评审机制,容易产生问题.
    例如对需求变化,设计更改,代码修正等因素缺乏严格规范的管理机制,导致开发过程难以稳步推进.
    3开发周期短,需求分析.设计.编程.测试等各项工作不能完全按照定义好的流程来进行,工作不够充分,结果也就不完整.不准确,错误较多;周期短,还给各类开发人员造成太大的压力,引起一些人为的错误.
    4文档不完善,风险估计不足等.
    

    2(60分)哪些情况属于软件缺陷?

    答:软件出现以下情况属于软件缺陷包括:
    1软件出现了产品说明书指明不会出现的错误.
    2软件未达到产品说明书的功能.
    3软件功能超出产品说明书指明范围.
    4软件未达到产品说明书虽未指出但应达到的目标.
    5软件难以理解,不易使用,运行速度缓慢,最终用户认为不好.
    

    2 软件测试策略

    2.1 软件测试的模型,过程和生命周期

    在软件生命周期的哪一个阶段,软件缺陷修复费用最低 ( )
    A.需求分析(编制产品说明书)B.设计C.编码D.产品发布

    正确答案:A

    2.2 软件测试的方法和技术

    下列哪项不属于黑盒测试的优点( )。
    A.不需要源代码B.测试简单易行
    C.可以对代码进行有针对性的测试
    D.可以发现软件功能上的问题

    正确答案:C

    2.3 单元测试

    1单选(1分)在软件生命周期的哪一个阶段,软件缺陷修复的成本最高 ( )
    A.需求分析(编制产品说明书)B.产品发布1.00/1.00C.编码D.设计

    正确答案:B

    2单选(1分)下列中不属于测试原则的是( )。
    A.找到的缺陷越多,软件遗留的缺陷就越少1.00/1.00
    B.完全测试程序是不可能的
    C.软件测试是有风险的行为
    D.测试无法找出所有的软件缺陷

    正确答案:A

    3单选(1分)较实用的软件测试停止标准是( )。
    A.根据查出的缺陷总数量决定是否停止测试。
    B.分析发现的缺陷数量和测试投入成本曲线图,确定应继续测试还是停止测试。1.00/1.00
    C.测试成本超过了预期计划,则停止测试。
    D.测试超过了预定时间,则停止测试。

    正确答案:B

    4单选(1分)软件测试的局限性不包括( )
    A.有的缺陷与特定的环境条件有关。
    B.巧合性有时会导致错误的代码得到正确的结果,掩盖了问题。
    C.软件测试会导致成本增加,项目总体效益降低。1.00/1.00
    D.因为输入/状态空间的无限性,测试不可能完全彻底。

    正确答案:C

    5单选(1分)划分软件测试属于白盒测试还是黑盒测试的依据是 ( )
    A.是否能看到软件文档
    B.是否能看到被测源程序
    C.是否执行程序代码0.00/1.00
    D.运行结果是否确定

    正确答案:B

    6判断(1分)软件测试针对的是初级程序员编写的程序,资深程序员编写的程序无需测试。( )
    A.B.1.00/1.00

    正确答案:错

    7判断(1分)一个软件存在哪些缺陷,开发者和用户的立场是一致的。( )
    A.1.00/1.00B.

    正确答案:错

    8判断(1分)发现错误多的模块,残留在模块中的错误也多。( )
    A.0.00/1.00B.

    正确答案:对

    9填空(2分)动态测试的两个基本要素是____________、_______________。
    正确答案:
    被测试程序
    测试用例

    10填空(2分)按照是否需要知道被测试程序的内部结构,测试方法可以分为:
    正确答案:
    黑盒测试
    白盒测试

    2.4 课后作业

    1(1分)软件测试技术可以分为静态测试和动态测试,下列说法中错误的是( )。
    A、静态测试是指不运行程序,通过检查和阅读等手段来发现程序中的错误。
    B、动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。
    C、动态测试包括黑盒测试和白盒测试。
    D、白盒测试是静态测试,黑盒测试是动态测试。
    参考答案:D

    2(1分)划分软件测试属于白盒测试还是黑盒测试的依据是 ( )
    A、是否执行程序代码
    B、是否能看到软件设计文档
    C、是否能看到被测源程序
    D、运行结果是否确定
    参考答案:C

    3(1分)( )把黑盒测试和白盒测试的界限打乱了。
    A、灰盒测试 B、动态测试 C、静态测试 D、失败测试
    参考答案:A

    4(1分)在软件测试用例设计的方法中,最常用的方法是黑盒测试和白盒测试,其中不属于白盒测试所关注的是( )
    A、程序结构 B、软件外部功能 C、程序正确性 D、程序内部逻辑
    参考答案:B

    5(1分)下列哪项不属于黑盒测试的优点( )。
    A. 不需要源代码
    B. 测试简单易行
    C. 可以对代码进行有针对性的测试
    D. 可以发现软件功能上的问题
    参考答案:C

    6(2分)动态测试的两个基本要素是_______________、__________________。
    参考答案:
    被测试程序 测试用例

    7(2分)软件测试的 W 模型由两个 V 字组成,分别代表_________与_________过程。
    参考答案:
    软件质量验证,确认,测试 软件开发

    8(2分)按照是否需要知道被测试程序的内部结构,测试方法可以分为:
    参考答案:
    黑盒测试 白盒测试

    9(1分)(判断题)黑盒测试的测试用例是根据程序内部逻辑设计的。( )
    参考答案:错

    10(1分)(判断题) 软件测试是有效的发现软件缺陷的手段。( )
    参考答案:对

    11(1分)(判断题)集成测试计划在需求分析阶段末提交。( )
    参考答案:错

    12(4分) 请分析黑盒测试、白盒测试、静态测试、动态测试之间的关系。
    参考答案:

    答:四者之间的关系:
    1黑盒测试一定都是动态测试, 因为黑盒测试都需要运行被测试程序;
    2白盒测试既有静态测试, 如代码检查, 静态结构分析等, 也有动态测试, 如逻辑覆盖测试等;
    3动态测试有可能是黑盒测试, 如根据软件规格说明书进行功能测试,也有可能是白盒测试,如针对源程序做逻辑覆盖测试;
    4静态测试只可能是白盒测试, 因为黑盒测试一定都是动态测试, 都需要运行被测试程序.​
    

    13(8分)试对比分析黑盒测试、白盒测试各自的优缺点。
    参考答案:

    答:1. 黑盒测试的优点有 : 	
    1)比较简单,不需要了解程序的内部的代码及实现
    2)与软件的内部实现无关
    3)从用户的角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题
    4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能
    5)在做软件自动化测试时较为方便
    缺点 :
    1)不可能覆盖所有的代码, 覆盖率较低,大概只能达到总代码量的30%
    2)自动化测试的复用性较低。
    
    2. 白盒测试的优点有 :
    1)帮助软件测试人员增大代码的覆盖率。 提供代码的质量,发现代码中隐藏的问题
    缺点 :
    1)程序运行会有很多不同的路径,不可能测试所有的运行路径
    2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求
    3)系统庞大时,测试开销会非常大。
    

    14(6分) 你认为应如何对一个软件实施测试,试结合你所参与过的软件项目,阐述软件测试工作的一般过程。
    参考答案:

    答:结合我参与的课程设计和软件开发项目,采用的基本如V模型一样的测试过程.
    过程:需求分析->概要设计->详细设计->编码->单元测试->集成测试->系统测试->验收测试
    测试贯穿者整个软件开发活动的始终,前期恰到其时的测试可以为后期节约大量的时间成本​
    

    15(4分) 黑盒测试是动态测试,请分析动态白盒测试与黑盒测试的区别。
    参考答案:

    答:动态白盒测试: 利用查看代码功能和实现方式得到的信息来设计和执行测试, 也叫结构测试;测试程序接口与结构, 测试依据软件程序, 对程序内部特定部位进行覆盖测试, 无法检验程序外部特性.
    黑盒测试: 已知产品的功能设计规格, 可以进行测试证明每个实现了的功能是否符合要求, 测试功能, 测试依据需求规格说明书, 能站在用户的立场上进行测试, 不能测试程序内部特定部位, 如程序有误, 则无法发现.
    

    3 黑盒测试

    3.1 黑盒测试概述

    黑盒测试技术,使用最广的用例设计技术是( )
    A.等价类划分B.边界值分析C.错误推测法D.逻辑覆盖

    正确答案:A

    3.2 等价类划分测试

    在某大学学籍管理信息系统中,假设学生年龄的输入范围为16-40,则根据黑盒测试中的等价类划分技术,下面划分正确的是( )。
    A.可划分为2个有效等价类,2个无效等价类
    B.可划分为1个有效等价类,2个无效等价类
    C.可划分为2个有效等价类,1个无效等价类
    D.可划分为1个有效等价类,1个无效等价类

    正确答案:B

    3.3 边界值测试

    用边界值分析法,假定“1<=X<=100”,那么整数X在测试中应取的边界值不包括( )。
    A.X=1,X=100;
    B.X=0,X=101;
    C.X=2,X=99;
    D.X=3,X=98;

    正确答案:C

    3.4 错误推测法

    凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例的测试方法叫( )。
    A.等价类划分B.边界值分析C.错误推测法D.逻辑覆盖测试

    正确答案:C

    3.5 判定表驱动法

    判定表中一个特定的条件取值组合及其相应要执行的动作称为一条( )。
    A.规则B.变换C.运算D.测试

    正确答案:A

    3.6 因果图法

    ( )方法根据输出对输入的依赖关系设计测试用例。
    A.路径测试B.等价类C.因果图D.归纳测试

    正确答案:C

    3.7 场景法

    对于业务流清晰的系统可以利用( )贯穿整个测试用例设计过程并在用例中综合使用各种测试方法。 A.等价类划分 B.因果图法 C.正交试验法 D.场景法
    正确答案:D

    3.8 正交实验法

    对于参数配置类的软件,要用( )选择较少的组合方式达到最佳效果。
    A.等价类划分 B.因果图法 C.正交试验法 D.场景法
    正确答案:C

    3.9 单元测试

    1单选(1分)在某大学学籍管理信息系统中,假设学生年龄的输入范围为16-40,则根据黑盒测试中的等价类划分技术,下面划分正确的是( )。得分/总分
    A.可划分为2个有效等价类,2个无效等价类
    B.可划分为1个有效等价类,2个无效等价类1.00/1.00
    C.可划分为2个有效等价类,1个无效等价类
    D.可划分为1个有效等价类,1个无效等价类
    正确答案:B

    2单选(1分)在确定黑盒测试策略时,优先选用的方法是 ()
    A.决策表方法 B.边界值分析法 C.等价类划分 D.错误推断法
    正确答案:C

    3单选(1分)凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例的测试方法叫( )。
    A.逻辑覆盖测试 B.边界值分析 C.等价类划分 D.错误推测法
    正确答案:D

    4单选(1分)黑盒测试技术中不包括( )。
    A.逻辑覆盖1.00/1.00 B.边界值分析 C.等价类划分 D.错误推测法
    正确答案:A

    5单选(1分)对于业务流清晰的系统可以利用( )贯穿整个测试用例设计过程并在用例中综合使用各种测试方法。
    A.正交试验法 B.场景法 C.因果图法 D.等价类划分
    正确答案:B

    3.10 课后作业

    1(1分)凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例的测试方法叫( )
    A等价类划分 B边界值分析 C错误推测法 D逻辑覆盖测试
    参考答案:D

    2(1分)黑盒测试技术中不包括( )。
    A等价类划分 B边界值分析 C错误推测法 D逻辑覆盖
    参考答案:D

    3(1分)黑盒测试技术,使用最广的用例设计技术是( )
    A等价类划分 B边界值分析 C错误推测法 D逻辑覆盖
    参考答案:A

    4(1分)在某大学学籍管理信息系统中,假设学生年龄的输入范围为16-40,则根据黑盒测试中的等价类划分技术,下面划分正确的是( )。
    A可划分为2个有效等价类,2个无效等价类
    B可划分为1个有效等价类,2个无效等价类
    C可划分为2个有效等价类,1个无效等价类
    D可划分为1个有效等价类,1个无效等价类
    参考答案:B

    5(1分)有一组测试用例使得被测程序的每一个分支至少被执行一次,它满足的覆盖标准是( )。
    A语句覆盖 B判定覆盖 C条件覆盖 D路径覆盖
    参考答案:B

    6(1分)在确定黑盒测试策略时,优先选用的方法是 ()
    A边界值分析法 B等价类划分 C错误推断法 D决策表方法
    参考答案:B

    7(1分)( )方法根据输出对输入的依赖关系设计测试用例。
    A路径测试 B等价类 C因果图 D归纳测试
    参考答案:C

    8(1分)对于参数配置类的软件,要用( )选择较少的组合方式达到最佳效果。
    A等价类划分 B因果图法 C正交试验法 D场景法
    参考答案:C

    9(1分)对于业务流清晰的系统可以利用( )贯穿整个测试用例设计过程并在用例中综合使用各种测试方法。
    A等价类划分 B因果图法 C正交试验法 D场景法
    参考答案:D

    10(1分)下列不属于黑盒测试方法的是( )。
    A等价类划分 B因果图 C边界值分析 D变异测试
    参考答案:D

    11(1分)用边界值分析法,假定1<X<100,那么整数X在测试中应取的边界值不包括( )。
    A、X=1,X=100;
    B、X=0,X=101;
    C、X=2,X=99;
    D、X=3,X=98;
    参考答案:B

    12(2分)等价类划分有两种不同的情况:
    参考答案:有效等价类 无效等价类

    13(1分)如果有多个输入条件,并且各个条件之间存在关联,那么仅仅只是覆盖所有的等价类还不够,还需要考虑等价类之间的____________。
    参考答案:组合

    14(2分)各个被测变量的等价类总数等于其____________ 加上 ____________。
    参考答案:有效等价类数 无效等价类数

    15(1分)(判断)一个测试用例可覆盖多个有效等价类和无效等价类。( )
    参考答案:错

    16(1分)(判断)不同的等价类划分得到的测试用例的质量不同。( )
    参考答案:​对

    17(1分)(判断)强健壮等价类测试中测试用例个数为各个被测变量的等价类总数的和。( )
    参考答案:错 注:还有各个被测变量的无效等价类数之和

    18(18分)某种信息加密代码由三部分组成,这三部分的名称和内容分别是加密类型码:空白或三位数字;前缀码 :非’0’或’1’开头的三位数;后缀码 :四位数字。假定被测试的程序能接受一切符合上述规定的信息加密代码,拒绝所有不符合规定的信息加密代码,
    试用等价类划分法,分析它所有的等价类,并设计测试用例。
    参考答案:
    在这里插入图片描述

    19(10分)某“银行网站系统”登录界面如下图所示,
    在这里插入图片描述
    试采用错误推测法,举出10种常见问题或错误,并设计10个测试用例。
    参考答案:
    在这里插入图片描述

    20(20分)有一个在线购物网站系统,主要功能包括登录、商品选购、在线支付完成购物等。用户在使用这些功能时可能会出现各种情况,如账号不存在、密码错误、账户余额不足等。设目前该系统中仅有一个账号abc;密码为123;账户余额200;仅有商品A,售价均为50元,库存为15,商品B售价为50元,库存为0。
    试采用场景法:分析画出事件流图,标注出基本流和备选流;分析生成测试场景。对每一个场景设计相应的测试用例。
    参考答案:
    在这里插入图片描述
    在这里插入图片描述

    21(10分)有一个“用户信息输入”界面如下图,输入项有3个:姓名、昵称、手机号码,状态有两个:填与不填。请采用正交实验法对其进行测试。
    (1)请选择一个合适的正交表
    (2)根据选定的正交表进行变量映射
    (3)写出测试用例
    参考答案:
    在这里插入图片描述

    22(20分)有一个处理单价为5角钱的饮料自动售货机软件,其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
    (1)分析软件规格说明,列出原因和结果。
    (2)画出因果图。
    (3)列出简化后的判定表
    参考答案:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    23(24分)某程序功能为输出某个输入日期明天的日期,例如输入2020年2月2日,则该程序的输出为2020年2月3日。该程序有三个输入变量 year、month、day,分别表示输入日期的年、月、日。
    (1) 请根据程序规格,分别为输入变量year、month、day划分有效等价类。
    (2) 分析程序的规格说明,并结合以上等价类划分的情况,给出程序所有可能采取的操作。
    (3) 根据(1)和(2),画出简化后的决策表,并为每条规则设计测试用例。
    参考答案:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4 白盒测试

    4.1 白盒测试概述

    分软件测试属于白盒测试还是黑盒测试的依据是 ( )
    A.是否执行程序代码
    B.是否能看到软件设计文档
    C.是否能看到被测源程序
    D.运行结果是否确定
    正确答案:C

    4.2 程序静态测试

    件测试技术可以分为静态测试和动态测试,下列说法中错误的是( )。
    A.静态测试是指不运行程序,通过检查和阅读等手段来发现程序中的错误。
    B.动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。
    C.动态测试包括黑盒测试和白盒测试。
    D.白盒测试是静态测试,黑盒测试是动态测试。
    正确答案:D

    4.3 逻辑覆盖

    列不属于白盒测试中逻辑覆盖标准的是( )。
    A.语句覆盖B.条件覆盖C.分支覆盖D.边界值覆盖
    正确答案:D

    在以下有关逻辑覆盖的说法中错误的说法是( )A.所有满足条件组合覆盖标准的测试用例集,也满足路径覆盖的覆盖标准
    B.条件覆盖能够查出条件中包含的错误,但有时达不到判定覆盖的覆盖率要求
    C.路径覆盖的查错能力很强,但有时达不到条件组合覆盖的覆盖率要求
    D.包含了语句覆盖,但它不能保证每个错误条件都能检查得出来
    正确答案:A

    4.4 基本路径覆盖

    一个程序进行基本路径覆盖测试,所需测试用例的最少个数为( )。
    A.程序中的路径总数
    B.程序中判定节点的个数
    C.程序中的模块数
    D.程序的环路复杂度
    正确答案:D

    4.5 循环测试

    Z路径覆盖把循环结构简化为了( )结构来进行测试。
    A.分支B.顺序C.嵌套D.随机
    正确答案:A

    4.6 程序变异测试

    变异测试是一种( )驱动测试。
    A.问题B.目标C.路径D.错误
    正确答案:D

    4.7 符号测试

    符号测试允许程序的输入不仅仅是具体的数值数据,而且包括( )。
    A.逻辑数据B.浮点数据C.符号值D.特殊值
    正确答案:C

    4.8 程序插桩和调试

    ( )是一种特殊的插桩,是在程序的特定部位插入语句用来检查变量的特性。
    A.赋值B.显示C.比较D.断言
    正确答案:D

    4.9 单元测试

    1单选(1分)下列不属于白盒测试的技术是 ( ) 。
    A.判定覆盖 B.边界值分析 C.语句覆盖 D.基本路径测试
    正确答案:B

    2单选(1分)代码检查法有桌面检查法,走查和( )。
    A.白盒测试 B.动态测试 C.静态测试 D.代码审查
    正确答案:D

    3单选(1分)如果某测试用例集实现了判定覆盖,那么它一定同时实现了该软件的 ( )
    A.条件组合覆盖 B.语句覆盖 C.条件覆盖 D.判定/条件覆盖
    正确答案:B

    4单选(1分)一个程序中所含有的路径数与( )有着直接的关系。
    A.程序模块数 B.程序的复杂程度 C.程序指令执行时间 D.程序语句行数
    正确答案:B

    5单选(1分)针对下面一个程序段:
    If ((M>0) && (N = = 0))
    FUCTION1;
    If ((M = = 10)|| (P > 10))
    FUCTION2;
    其中,FUCTION1、FUCTION2均为语句块。现在选取测试用例:M=10 N=0 P=3 ,该测试用例满足了( )。
    A.路径覆盖 B.判定覆盖 C.语句覆盖 D.条件组合覆
    正确答案:C

    4.10 课后作业

    习题四

    1(1分)下列不属于白盒测试的技术是 ( ) 。
    A、语句覆盖 B、判定覆盖 C、边界值分析 D、基本路径测试
    正确答案:C

    2(1分)某次程序调试没有出现预计的结果,下列( )不可能是导致出错的原因。
    A、变量没有初始化
    B、编写的语句书写格式不规范
    C、循环控制出错
    D、代码输入有误
    正确答案:B

    3(1分)代码检查法有桌面检查法,走查和( )。
    A、静态测试 B、 代码审查 C、动态测试 D、白盒测试
    正确答案:B

    4(1分)如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的 ( )
    A、判定覆盖 B、条件覆盖 C、判定/条件覆盖 D、组合覆盖
    正确答案:A

    5(1分)软件测试的局限性不包括( )
    A、因为输入/状态空间的无限性,测试不可能完全彻底。
    B、巧合性有时会导致错误的代码得到正确的结果,掩盖了问题。
    C、软件测试会导致成本增加,效益降低。
    D、软件缺陷的不确定性。
    正确答案:C

    6(1分)以下哪种测试方法不属于白盒测试技术( )
    A、基本路径测试 B、边界值分析测试 C、程序插桩 D、逻辑覆盖测试
    正确答案:B

    7(1分)调试是( )
    A、发现与预先定义的规格和标准不符合的问题
    B、发现软件错误征兆的过程
    C、有计划的、可重复的过程
    D、消除软件错误的过程
    正确答案:D

    8(1分)使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和 ( )
    A、程序的注释 B、程序的内部逻辑C、用户使用说明书 D、程序的需求说明
    正确答案:B

    9(1分)数据流覆盖关注的是程序中某个变量从其声明、赋值到引用的变化情况,它是下列哪一种覆盖的变种( )。
    A、语句覆盖 B、控制覆盖 C、分支覆盖 D、路径覆盖
    正确答案:D

    10(1分)如果一个判定中的复合条件表达式为(A > 1)or(B <= 3),则为了达到100%的条件覆盖率,至少需要设计多少个测试用例( )。
    A、1 B、2 C、3 D、4
    正确答案:B

    11(1分)一个程序中所含有的路径数与( )有着直接的关系。
    A、程序的复杂程度 B、程序语句行数C、程序模块数 D、程序指令执行时间
    正确答案:A

    12(1分)条件覆盖的目的是 ( )
    A、使每个判定中的每个条件的可能取值至少满足一次
    B、使程序中的每个判定至少都获得一次"真"值和"假"值。
    C、使每个判定中的所有条件的所有可能取值组合至少出现一次。
    D、使程序中的每个可执行语句至少执行一次。
    正确答案:A

    13(1分)软件调试的目的是( )
    A、发现软件中隐藏的错误
    B、解决测试中发现的错误
    C、尽量不发现错误以便早日提交软件
    D、证明软件的正确性
    正确答案:B

    14(1分)针对下面一个程序段:
    其中,FUCTION1、FUCTION2均为语句块。现在选取测试用例:M=10 N=0 P=3 ,该测试用例满足了( )。

    If ((M>0) && (N = = 0))
    	FUCTION1;
    If ((M = = 10)|| (P > 10))
    	FUCTION2;
    

    A、路径覆盖 B、条件组合覆盖 C、判定覆盖 D、语句覆盖
    正确答案:D

    15(1分)对下面的计算个人所得税程序中,满足判定覆盖的测试用例是( )。

    if (income<800)    taxrate=0;
    else if (income<=1500)    taxrate=0.05;
    else if (income<2000)     taxrate=0.08;
    else taxrate=0.1;
    
    A、income=(799, 1500, 1999, 2000)           B、income=(799, 1501, 2000, 2001)
    C、income=(800, 1500, 2000, 2001)           D、income=(800, 1499, 2000, 2001)
    

    正确答案:A

    16(1分)设有一段程序如下:

    if (a==b  and c==d or e==f)  do  S1
        else  if (p==q  or s==t) do  S2
            else do S3
    

    若要达到“判定—条件覆盖”的要求,最少的测试用例数目是( )
    A、6 B、8 C、3 D、4
    正确答案:C

    17(1分)下列不属于白盒测试中逻辑覆盖标准的是( )。
    A、语句覆盖 B、条件覆盖 C、分支覆盖 D、边界值覆盖
    正确答案:D

    18(1分)在某学校的综合管理系统设计阶段,教师实体在学籍管理子系统中被称为"教师",而在人事管理子系统中被称为"职工",这类冲突描述正确的为( )。
    A、语义冲突 B、命名冲突 C、属性冲突 D、结构冲突
    正确答案:B

    19(3分)代码检查的方式有三种:、_____________。
    正确答案:桌面检查 代码审查 代码走查

    20(3分)数据流分析就是对程序中数据的__________、__________及其之间的__________等进行分析的过程。
    参考答案:定义 引用 依赖关系

    21(1分)____________是逻辑覆盖标准的一种,它要求选取足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。
    正确答案:条件组合覆盖

    22(1分)(判断)所有满足条件组合覆盖标准的测试用例集,也分支覆盖标准。 ( )
    参考答案:对

    23(1分)(判断)软件测试的目的在于发现错误、改正错误。 ( )
    正确答案:错

    24(1分)(判断)条件覆盖能够查出条件中包含的错误,但有时达不到判定覆盖的覆盖率要求。 ( )
    正确答案:对

    25(1分)(判断)在白盒测试中,如果某种覆盖率达到100% ,就可以保证把所有隐藏的程序缺陷都已经揭露出来了。 ( )
    正确答案:错

    26(1分)(判断)白盒测试的条件覆盖标准强于判定覆盖。 ( )
    正确答案:错

    27(1分)(判断)判定覆盖包含了语句覆盖,但它不能保证每个错误条件都能检查出来。 ( )
    正确答案:对

    28(13分)请为以下程序段设计测试用例集,要求分别满足语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖覆盖、条件组合覆盖。

    public int do_work(int A,int B){          
           int x=0;
           if((A>4) && (B<9)) 
            { x = A-B;}
           if( A==5 && B>28 )  
            { x= A+B;}
            return x;    
         }          
    

    参考答案:
    在这里插入图片描述
    在这里插入图片描述

    29(11分)请为以下程序段设计测试用例集,要求满足条件组合覆盖

    public class Triangle {  
       protected long lborderA = 0;
       protected long lborderB = 0;
       protected long lborderC = 0;
    
       // Constructor
       public Triangle(long lborderA, long lborderB, long lborderC) {
          this.lborderA = lborderA;
          this.lborderB = lborderB;
          this.lborderC = lborderC;   
       } 
    
       public boolean isTriangle(Triangle triangle) {
          boolean isTriangle = false;
     
          // check boundary
          if (triangle.lborderA > 0 && triangle.lborderB > 0 && triangle.lborderC > 0 )
            // check if subtraction of two border larger than the third
          if ((triangle.lborderA-triangle.lborderB) < triangle.lborderC
                  && (triangle.lborderB-triangle.lborderC) < triangle.lborderA
                     && (triangle.lborderC-triangle.lborderA) < triangle.lborderB) 
          {isTriangle = true; }
          return isTriangle;
       }
    }
    

    正确答案:
    在这里插入图片描述
    在这里插入图片描述

    30(13分)请为程序模块Function1
    (1)画出程序控制流图,计算控制流图的环路复杂度
    (2)导出基本路径
    (3)设计基本路径覆盖测试用例
    程序模块Function1代码如下:

    1     public  int  Function1(int num, int cycle, boolean flag)
    2     {
    3            int ret = 0;
    4            while( cycle > 0 )
    5            {
    6                  if( flag == true )
    7                  {
    8                          ret = num - 10;
    9                          break;
    10                 }
    11                 else
    12                 {
    13                        if( num%2 ==0 )
    14                        {
    15                               ret = ret * 10;
    16                        }
    17                        else
    18                        {
    19                               ret = ret + 1;
    20                        }
    21                 }
    22                 cycle--;
    23          }
    24          return ret;
    25   }
    

    正确答案:
    在这里插入图片描述
    在这里插入图片描述

    31(6分)请对以下程序进行插桩,显示循环执行的次数

    public class GCD {
         public int getGCD(int x,int y){
              if(x<1||x>100)
              {
                  System.out.println("参数不正确!");
                  return -1;
              }
    
              if(y<1||y>100)
              {
                  System.out.println("参数不正确!");
                  return -1;
              }
    
              int max,min,result = 1;
              if(x>=y)
              {
                  max = x;
                  min = y;
              }
              else
              {
                  max = y;
                  min = x;
              }
    
              for(int n=1;n<=min;n++)
              {
                  if(min%n==0&&max%n==0)
                  {
                      if(n>result)
                      result = n;
                  }
              }
    
              System.out.println("最大公约数为:"+result);
              return result;
           }
     }
    

    正确答案:

    package com.mozhimen.test;
    
    public class ceshi4_31 {
    
    	int count=0;
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		ceshi4_31 ceshi=new ceshi4_31();
    		
    		int x=4;
    		int y=10;
    		ceshi.getGCD(x,y);
    	}
    
    	public int getGCD(int x,int y){
    		
            if(x<1||x>100)
            {
                System.out.println("参数不正确!");
                return -1;
            }
    
            if(y<1||y>100)
            {
                System.out.println("参数不正确!");
                return -1;
            }
    
            int max,min,result = 1;
            if(x>=y)
            {
                max = x;
                min = y;
            }
            else
            {
                max = y;
                min = x;
            }
    
            for(int n=1;n<=min;n++)
            {
            	count++;
                if(min%n==0&&max%n==0)
                {
                    if(n>result)
                    result = n;
                }
            }
    
            System.out.println("最大公约数为:"+result);
            System.out.println("count:"+count);
            return result;
         }
    }
    

    32(10分)请对以下代码段进行变异,变异规则为将 “++” 替换为 “–”,然后设计测试数据,能够测试发现所有的变异点。

    public class zhengchu {
           public   String  iszhengchu(int n) { 
    			if(n<0||n>500) { 
    				return "error";
    			}
    			int flag=0;
    			String note="";
    			if(n%3==0) {
    			flag++;
    			note=note+" 3";
    		}
    
    		if(n%5==0) {
    			flag++;
    			note+=" 5";
    		}
    
    		if(n%7==0) {
    			flag++;
    			note+=" 7";
    		}
    
    		return "能被"+flag+"个数整除,"+note;      
        }     
    }
    

    正确答案:
    在这里插入图片描述

    5 软件测试过程

    5.1 单元测试

    软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?( )
    A.集成测试B.单元测试C.目的测试D.确认测试
    正确答案:B

    单元测试一般以( )为主。
    A.白盒测试B.黑盒测试C.系统测试D.分析测试
    正确答案:A

    5.2 集成测试1-简介和相依性分析+集成测试的原因

    集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性( )
    A.正确性B.可靠性C.可使用性D.可维护性
    正确答案:A

    软件测试过程中的集成测试主要是为了发现( )阶段的错误码。
    A.需求分析B.概要设计C.编码D.维护
    正确答案:B

    5.2 集成测试2-方法和分析+自顶向下和自顶向上集成

    集成测试的测试用例是根据( )的结果来设计。
    A.需求分析B.源程序C.概要设计D.详细设计
    正确答案:C

    增量式集成测试有3种方式:自顶向下增量测试方法,( )和混合增量测试方式。
    A.从小到大增量测试方法
    B.自底向上增量测试方法
    C.从大到小增量测试
    D.自上向底增量测试方法
    正确答案:B

    5.2 集成测试3-核心系统先行集成+基于调用图的集成

    核心系统先行集成每次加入一个外围软件部件都产生一个产品( ),直至最后形成稳定的软件产品。
    A.基线B.副本C.分支D.升级
    正确答案:A

    基于调用图的集成主要有相邻集成和( )。
    A.成对集成B.相对集成C.自底向上集成D.自顶向下集成
    正确答案:A

    5.2 集成测试4-高频集成+其他集成测试方法

    ( )测试方法频繁不断地将新代码加入到一个已经稳定的基线中,这样可以尽早地发现代码中的问题,同时控制可能出现的基线偏差,而不至于等到最后阶段各种问题、缺陷和偏差集中暴露,甚至于发现整个软件根本就不是我们所需要的。
    A.高频集成B.成对集成C.三明治集成D.大棒集成
    正确答案:A

    以下关于集成测试的内容正确的表述有( )。
    ①集成测试也叫组装测试或者联合测试;
    ②在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
    ③一个模块的功能是否会对另一个模块的功能产生不利的影响;
    ④各个子功能组合起来,能否达到预期要求的父功能;
    ⑤全局数据结构是否有问题;
    ⑥单个模块的误差累积起来,是否会放大,从而达到不能接受的程度;
    A.②④⑤⑥B.③④⑤⑥C.①②③⑤⑥D.以上全部正确
    正确答案:D

    5.3 系统测试1-概述

    系统测试完全采用( )技术,因为这时已不需要考虑组件模块的实现细节,而主要是根据需求分析时确定的标准检验软件是否满足功能、性能和安全等方面的要求。
    A.黑盒测试B.白盒测试C.静态测试D.手工测试
    正确答案:A

    5.3 系统测试项目

    对Web网站进行的测试中,属于功能测试的是 ( )
    A.连接速度测试B.链接测试C.平台测试D.安全性测试
    正确答案:B

    几乎所有的性能测试都会涉及( )。
    A.并发测试B.压力测试C.容量测试D.安装测试
    正确答案:A

    以下哪种软件测试属于软件性能测试的范畴( )。
    A.接口测试B.压力测试C.单元测试D.易用性测试
    正确答案:B

    5.4 验收测试

    下列关于alpha测试的描述中正确的是:( )。
    A.alpha测试一定要真实的最终软件用户参加
    B.alpha测试是集成测试的一种
    C.alpha测试是系统测试的一种
    D.alpha测试是验收测试的一种
    正确答案:D

    5.5 回归测试

    ( )的目的是为了检查验证修改的正确性以及修改对其它部分的影响。
    A.回归测试B.单元测试C.集成测试D.系统测试
    正确答案:A

    5.6 单元测试

    1单选(1分)单元测试中用来模拟被测模块调用者的模块是 ( )
    A.父模块 B.驱动模块 1.00/1.00C.桩模块D.子模块
    正确答案:B

    2单选(1分)在软件底层进行的测试称为 ( )
    A.集成测试B.功能测试C.系统测试 D.单元测试 1.00/1.00
    正确答案:D

    3单选(1分)增量式集成测试有3种方式:自顶向下增量测试方法,( )和混合增量测试方式。
    A.从小到大增量测试方法
    B.自底向上增量测试方法 1.00/1.00
    C.从大到小增量测试方法
    D.自上向底增量测试方法
    正确答案:B

    4单选(1分)用于考察当前软硬件环境下软件系统所能承受的最大负荷并帮助找出系统瓶颈所在的是( )。
    A.容量测试 B.疲劳测试C.负载测试 D.压力测试 1.00/1.00
    正确答案:D

    5单选(1分)下列关于alpha测试的描述中正确的是:( )。
    A.alpha测试是系统测试的一种
    B.alpha测试是验收测试的一种1.00/1.00
    C.alpha测试是集成测试的一种
    D.alpha测试一定要真实的最终软件用户参加
    正确答案:B

    5.7 课后作业

    习题5

    1(1分)软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?( )
    A.集成测试 B.单元测试  C.系统测试 D.验收测试
    参考答案:B

    2(1分)增量式集成测试有3种方式:自顶向下增量测试方法,( )和混合增量测试方式。
    A.自下向顶增量测试方法
    B.自底向上增量测试方法
    C.自顶向上增量测试方法
    D.自下向顶增量测试方法
    参考答案:B

    3(1分)在软件测试步骤按次序可以划分为以下几步:( )。
    A、单元测试、集成测试、系统测试、验收测试
    B、验收测试、单元测试、系统测试、集成测试
    C、单元测试、集成测试、验收测试、系统测试
    D、系统测试、单元测试、集成测试、验收测试
    参考答案:A

    4(1分)软件验收测试合格通过的标准不包括( )
    A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
    B.至少有一项软件功能超出软件需求分析说明书中的定义,属于软件特色功能。
    C.立项审批表、需求分析文档、设计文档和编码实现一致。
    D.所有在软件测试中被发现的严重软件缺陷均已被修复。
    参考答案:B

    5(1分)下列关于alpha测试的描述中正确的是:( )
    A.alpha测试一定要真实的最终软件用户参加
    B.alpha测试是集成测试的一种
    C.alpha测试是系统测试的一种
    D.alpha测试是验收测试的一种
    参考答案:D

    6(1分)编码阶段产生的错误主要由( )检查出来的。
    A、单元测试 B、集成测试 C、系统测试 D、有效性测试
    参考答案:A

    7(1分)单元测试一般以( )为主。
    A、白盒测试 B、黑盒测试 C、系统测试 D、分析测试
    参考答案:A

    8(1分)单元测试的测试用例主要根据( )的结果来设计。
    A、需求分析 B、源程序 C、概要设计 D、详细设计
    参考答案:D

    9(1分)集成测试的测试用例是根据( )的结果来设计。
    A、需求分析 B、源程序 C、概要设计 D、详细设计
    参考答案:C

    10(1分)集成测试对系统内部的交互以及集成后系统功能检验了何种质量特性( )
    A、正确性 B、可靠性 C、安全性 D、可维护性
    参考答案:A

    11(1分)( )的目的是对即将交付使用的软件系统进行全面的测试,确保最终软件产品满足用户需求。
    A、系统测试   B、集成测试   C、单元测试   D、验收测试
    参考答案:A

    12(1分)单元测试中用来模拟被测模块调用者的模块是 ( )
    A、父模块 B、子模块 C、驱动模块 D、桩模块
    参考答案:C

    13(1分)在自底向上测试中,要编写( )。
    A、测试存根 B、驱动模块 C、桩模块 D、 底层模块。
    参考答案:B

    14(1分)以下哪种软件测试属于软件性能测试的范畴( )。
    A、接口测试 B、压力测试 C、单元测试 D、正确性测试
    参考答案:B

    15(1分)下列关于α测试的描述中,正确的是( )
    A.α测试采用白盒测试技术;
    B.α测试不需要从用户角度考虑问题;
    C.α测试是系统测试的一种;
    D.α测试是验收测试的一种;
    参考答案:D

    16(1分)下列软件属性中,软件产品首要满足的应该是( )
    A、功能需求 B、性能需求 C、可扩展性和灵活性 D、容错纠错能力
    参考答案:A

    17(1分)按照测试组织划分,软件测试可分为:开发方测试,第三方测试,( )。
    A.集成测试 B.单元测试 C.用户测试 D.灰盒测试
    参考答案:C

    18(1分)软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性( )是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。
    A、成熟性 B、易恢复性 C、容错性 D、稳定性
    参考答案:C

    19(1分)下面哪项对验收测试的描述不正确?( )
    A、与系统测试不同的是以客户业务需求为标准来进行测试
    B、测试人员多由客户方担任,也可以客户委托第三方来进行验收测试
    C、由资深的开发和测试人员来进行测试
    D、不仅仅要验收程序,还要验收相关的文档
    参考答案:C

    20(1分)对于软件的β测试,下列哪些描述是正确的? ( )
    A. β测试就是在软件公司内部展开的测试,由公司专业的测试人员执行的测试。
    B. β测试就是在软件公司内部展开的测试,由公司的非专业测试人员执行的测试。
    C. β测试就是在软件公司外部展开的测试,由非专业的测试人员执行的测试。
    D. β测试就是在软件公司外部展开的测试,由专业的测试人员执行的测试。
    参考答案:C

    21(1分)在程序测试中,用于检查程序模块或子程序之间的调用是否正确的静态分析方法是 ( )
    A、操作性分析 B、可靠性分析 C、引用分析 D、接口分析
    参考答案:C

    22(1分)用于考察当前软硬件环境下软件系统所能承受的最大负荷并帮助找出系统瓶颈所在的是( )。
    A、压力测试 B、容量测试 C、负载测试 D、疲劳测试
    参考答案:A

    23(2分)集成测试以_______________说明书为指导,验收测试以_______________说明书为指导。
    参考答案:概要设计 软件规格

    24(2分)软件验收测试可分为 2 类:__________________、__________________。
    参考答案:α+β测试 正式验收测试

    25(1分)____________指软件系统被修改或扩充后重新进行的测试。
    参考答案:回归测试

    26(1分)____________是在软件开发公司内模拟软件系统的运行环境下的一种验收测试。
    参考答案:α测试

    27(1分)____________的依据是软件规格说明书。
    参考答案:验收测试

    28(1分)(判断)单元测试通常由开发人员进行。 ( )
    参考答案:对

    29(1分)(判断)测试应从"大规模"开始,逐步转向"小规模"。 ( )
    参考答案:错

    30(1分)(判断)负载测试是验证要检验的系统的能力最高能达到什么程度。 ( )
    参考答案:错

    31(1分)(判断)为了快速完成集成测试,采用一次性集成方式是适宜的。 ( )
    参考答案:错

    32(1分)(判断)验收测试是站在用户角度的测试。 ( )
    参考答案:对

    33(1分)(判断)自底向上集成需要测试员编写桩模块。 ( )
    参考答案:错

    34(1分)(判断)β测试是集成测试的一种。 ( )
    参考答案:错

    35(1分)(判断)如何看待软件产品内部的缺陷,开发者和用户的立场是一致的。 ( )
    参考答案:错

    36(13分)试针对如下程序代码设计测试脚本。

    public class GCD {   
    	public int getGCD(int x,int y) {
    		if(x<1||x>100) {   
    			System.out.println("数据超出范围!");        
    			return -1;    
    		}      
    		if(y<1||y>100) {   
    			System.out.println("数据超出范围!");      
    			return -1;        
    		}      
    		int max,min,result = 1;      
    		if(x>=y) {  
    			max = x;         
    			min = y;     
    		}      
    		else {  
    			max = y;         
    			min = x;     
    		}      
    		for(int n=1;n<=min;n++) {   
    			if(min%n==0&&max%n==0) {       
    				if(n>result)              
    					result = n;
    			}     
    		}      
    		System.out.println("因数:"+result);      
    		return result;
    	}
    }
    

    参考答案:

    (1)设计测试脚本,对GCD类的getGCD方法实现语句覆盖测试。

    public class GCD {   
    	public void testDemo_yuju(){
      		int test1=getGCD(-1,100);
      		int test2=getGCD(2,1);
      		System.println.out(test1+ test2);
     	}
    	public int getGCD(int x,int y) {
      		if(x<1||x>100) {   
       			System.out.println("数据超出范围!");        
       			return -1;    
      		}      
      		if(y<1||y>100) {   
       			System.out.println("数据超出范围!");      
       			return -1;        
      		}      
      		int max,min,result = 1;      
      		if(x>=y) {  
       			max = x;         
       			min = y;     
      		}      
      		else {  
       			max = y;         
       			min = x;     
      		}      
      		for(int n=1;n<=min;n++) {   
       			if(min%n==0&&max%n==0) {       
        				if(n>result)              
         				result = n;
       			}     
      		}      
      		System.out.println("因数:"+result);      
      		return result;
     	}
    }
    

    (2)设计测试脚本,对GCD类的getGCD方法实现条件覆盖测试。

    public class GCD {  
    	public void testDemo_tiaojian(){
    		int test1=getGCD(-1,-1);
    		int test2=getGCD(100,100);
    		int test3=getGCD(2,1);
    		int test4=getGCD(1,2);
    		System.println.out(test1+ test2+ test3+ test4);
    	}
     	public int getGCD(int x,int y) {
       		 if(x<1||x>100) {   
    		        System.out.println("数据超出范围!");        
    		        return -1;    
        		}      
        		if(y<1||y>100) {   
          			System.out.println("数据超出范围!");      
          			return -1;        
        		}      
        		int max,min,result = 1;      
        		if(x>=y) {  
          			max = x;         
          			min = y;     
        		}      
        		else {  
          			max = y;         
          			min = x;     
        		}      
        		for(int n=1;n<=min;n++) {   
          			if(min%n==0&&max%n==0) {       
            			if(n>result)              
             			result = n;
          			}     
        		}      
        		System.out.println("因数:"+result);      
        		return result;
      	}
    }
    

    37(8分)设有程序段ModuleA和 ModuleB如下,

    public class ModuleA {       
    	public static double operate(double x) {              
    		// 模块A内部进行处理              
    		// ...              
    		double r = x/2;              
    		// 调用模块B              
    		double y = ModuleB.operate(r);              
    		// 继续处理              
    		// ...              
    		return y;       
    	}
    } 
    public class ModuleB {       
    	public static double operate(double r) {              
    		// 模块B内部进行处理              
    		// ...              
    		double temp = Pi*r * r * r *4/3;              
    		// 继续处理              
    		// ...              
    		double y = temp;              
    		return y;       
    	}
    }
    

    参考答案:

    (1)阅读程序,请说明这两段程序合起来的功能是什么?

    输入直径,求圆球的体积
    

    (2)已知变量x一开始就有一定的误差△x,请分析 ModuleA.operate(x)执行完毕后,返回结果y的相对误差有多大?
    在这里插入图片描述

    38(6分) 设有两段代码ModuleA和 ModuleB如下,它们由不同的程序员开发。

    public class ModuleA {       
    	/*** 实现把 str1 中包含的 str2 去掉后的内容返回的功能        
    	* @param str1 字符串1
    	* @param str2 字符串2        
    	* @param 返回处理的结果        
    	*/       
    	public String operate(String str1, String str2) {              
    		return str1.replace(str2, "");       
    	}
    }
    
    public class ModuleB {       
    	private ModuleA moduleA;              
    	public void setModuleA(ModuleA moduleA) {              
    		this.moduleA = moduleA;       
    	}       
    	/**        
    	* 模块B的具体处理操作中,调用了模块A的接口        
    	*/       
    	public String operate(String str1, String str2) {              
    		// str1 待替换的目标串       
    		// str2 原串              
    		return moduleA.operate(str1, str2);       
    	}
    }  
    

    参考答案:
    (1)试分析对这两段代码进行集成测试时会出现什么问题?

    ModuleB的目标是将str2中包含str1的字符串替换(去除),而ModuleA提供的接口是将str1中包含str2的字符串替换或删除
    两者接口颠倒,将会出现字符串替换错乱的问题
    

    (2)试设计两个测试数据,一个能发现这一问题,另一个则不能发现这一问题。
    在这里插入图片描述

    39(7分)某连锁机构网站有注册账号5万个,平均1天大约有12000个用户要访问该系统,用户一般在7点——22点使用该系统,在一天的时间内,用户使用系统的平均时长约为0.5小时。假设用户登录访问该系统符合泊松分布,为进行并发测试,请估算系统的平均并发用户数C_avg和并发用户峰值数C_max。

    参考答案:

    系统的平均并发用户数C_avg=nL/T=12000*0.5/(22-7)=400
    并发用户峰值数C_max~=400+3*400^1/2=460
    

    6 白盒测试

    6.1 面向对象测试

    以下哪句话是不正确的( )?
    A.测试过的软件就没有缺陷
    B.测试的目的是尽可能多的发现程序中的缺陷
    C.成功的测试在于发现了迄今尚未发现的缺陷
    D.测试是为了验证程序是否符合需求
    正确答案:A

    6.2 单元测试

    1单选(1分)封装这一特征简化了对对象的使用,但同时也给测试结构的()、测试路径的选取、测试数据的生成等带来了困难。
    A.分析1.00/1.00B.定义C.合成D.提取
    正确答案:A

    2单选(1分)通过继承机制,子类可以继承父类的特点和功能,这一特征为( )的扩散提供了途径。
    A.缺陷1.00/1.00B.代码C.数据D.消息
    正确答案:A

    3单选(1分)如果父类带有缺陷,派生出的( )也会带有缺陷。继承使代码的重用率得到了提高,但同时也使缺陷的传播几率增加。
    A.函数B.代码C.子类1.00/1.00D.软件
    正确答案:C

    4单选(1分)面向对象软件测试是根据面向对象的软件开发过程结合面向对象的特点提出的。它不包括:
    A.对象封装测试1.00/1.00B.类测试技术C.对象交互测试技术D.分析与设计模型测试技术
    正确答案:A

    5单选(1分)应该在软件的其它部分使用该类之前来执行对类的测试。防止因未经测试的类被使用而导致( )。
    A.执行失败B.代码出错C.缺陷传导和扩散1.00/1.00D.测试异常
    正确答案:C

    6.3 课后作业

    习题六

    1(1分)以下哪句话是不正确的:
    A、测试过的软件就没有缺陷
    B、测试的目的是尽可能多的发现程序中的缺陷
    C、成功的测试在于发现了迄今尚未发现的缺陷
    D、测试是为了验证程序是否符合需求
    正确答案:A

    2(1分)下列项目中不属于测试文档的是 ( )
    A、测试计划 B、测试用例 C、 被测程序 D、测试报告
    正确答案:C

    3(1分)软件测试管理不包括: ( )
    A、测试团队管理 B、缺陷管理 C、软件需求管理 D、测试用例管理
    正确答案:C

    4(1分)软件测试风险管理包含( )和风险控制两方面内容。
    A、风险排序 B、风险识别 C、风险评估 D、风险分析
    正确答案:C

    5(1分)编写测试计划的目的不包括( )
    A、使测试工作顺利进行
    B、使项目参与人员沟通更舒畅
    C、使测试工作更加系统化
    D、使测试内容更少,完成更快
    正确答案:D

    6(1分)下面哪项内容不包含在测试计划文档中? ( )
    A. 测试策略 B. 测试用例 C. 测试时间安排 D. 测试标准
    正确答案:B

    7(2分)软件测试项目的生命周期包括测试需求分析、_________、_________、测试开发、测试执行、评估(或总结)等阶段。
    正确答案:测试计划 测试设计

    8(2分) 软件测试中,________描述测试的整体方案,________描述依据测试用例找出的问题。
    正确答案:测试计划 缺陷报告

    9(1分)________________________就是以测试项目为管理对象,通过一个临时性的专门的测试组织,运用专门的软件测试知识、技能、工具和方法,对测试项目进行计划、组织、执行和控制,并在时间成本、软件测试质量等方面进行分析和管理活动。
    正确答案:测试项目管理

    10(1分)软件测试文档为测试项目的组织、规划和管理提供了一个____________。
    正确答案:规范化的架构

    11(1分)(判断)测试人员要坚持原则,缺陷未完全修复坚决不予通过。 ( )
    正确答案:错

    12(1分)(判断)在软件测试中, 预设输出结果是检验待测系统在特定执行下是否正确的方法。 ( )
    正确答案:对

    13(1分)(判断)发现缺陷越多的模块隐藏的缺陷可能也越少。 ( )
    正确答案:对

    14(10分)什么是软件测试文档,测试项目中,主要的测试文档有哪些?
    正确答案:

    软件测试文档(Testing Documentation)记录和描述了整个测试流程,它是整个测试活动中非常重要的文件。测试过程实施所必备的核心文档是:测试计划、测试用例和软件测试报告。
    主要的测试文档有:1、软件测试计划 2、软件测试说明 3、软件测试报告
    

    15(10分)软件测试工作和软件开发工作相比,有哪些特点。
    正确答案:

    软件测试的目标在于,以最小的工作量和成本,尽可能多地发现软件系统中存在的各种错误和缺陷,以确保软件系统的正确性和可靠性。其主要特点是:
    (1) 软件测试的开销大。按照 Boehm 的统计,软件测试的开销大约占总成本的 30% ~ 50% 。 
    (2) 不能进行“穷举”测试。只有将所有可能的情况都测试到,才有可能检查出所有的错误,但这是不可能的。
    (3) 软件测试难度大。既然不能进行 “穷举”测试,又要查出尽可能多的错误,随着软件的规模和复杂度不断增加,软件测试工作的难度越来越大。 测试也是一种开发活动,但鉴于软件测试的以上特点,它比其他软件开发活动更加复杂、困难和重要,且无论怎样强调它的重要性都不过分。
    

    16(6分)试分析测试用例为什么需要更新?
    参考答案:

    第一,存在较多冗余的测试用例,在测试执行过程中执行此类用例浪费时间而且没有价值;  
    第二,存在较多与当前系统实现不一致的用例,此类用例严重误导测试执行人员,并容易造成新加入项目的测试人员对系统理解的混乱;  
    第三,存在一些重复的测试用例,此类用例的反复执行虽然可能可以确保某一功能实现的正确性,但确可能造成严重的资源浪费,特别是当此类功能并非系统的主要功能时这样的时间浪费在项目时间非常紧迫的情况下是非常不值得的。  
    虽然一再要求测试人员及时更新测试用例,一再强调测试用例的重要性,但仍存在大量的测试用例未能得到有效的维护。
    

    7 自动化测试

    7.1 自动化测试概述

    下列( )不是软件自动化测试的优点。
    A.速度快、效率高
    B.准确度和精确度高
    C.能提高测试的质量
    D.能充分测试软件
    正确答案:D

    7.2 自动化黑盒测试

    过JUnit提供的API可以编写出测试结果明确、可重用的单元测试( )
    A.计划B.脚本C.数据D.方案
    正确答案:B

    7.3 单元测试

    1单选(1分)( )可以让并不熟悉脚本语言的软件测试人员也可以方便的得到测试脚本。
    A.录制技术 1.00/1.00B.数据验证点技术C.数据驱动技术 D.回放技术
    正确答案:A

    2单选(1分)在自动化黑盒测试工具中,通过录制来得到( ),可以减少工作量。
    A.测试文件 B.测试脚本 1.00/1.00C.测试数据D.测试设计
    正确答案:B

    3单选(1分)自动化黑盒测试工具中,脚本录制好后,只要执行脚本,就可以把测试过程重做一遍,这被称为( )。
    A.录制B.回放 1.00/1.00C.复制 D.重播
    正确答案:B

    4单选(1分)在自动化黑盒测试工具中,通过录制来得到( ),可以减少工作量。
    A.测试文件 B.测试设计 C.测试脚本1.00/1.00D.测试数据
    正确答案:C

    5单选(1分)关于自动化测试局限性的描述,以下描述错误的是( )。
    A.自动测试不能提高测试覆盖率
    B.自动测试比手工测试发现的缺陷少
    C.自动化测试不能取代手工测试
    D.自动化测试对测试设计依赖性极大
    正确答案:B

    7.4 课后作业

    1(1分)对软件文档的要求不包括( )。
    A、完整性 B、美观性 C、一致性 D、易理解性。
    正确答案:B

    2(1分)软件设计阶段的质量控制主要采取的方式是( )。
    A、评审 B、白盒测试 C、黑盒测试 D、动态测试
    正确答案:A

    3(1分)以下不属于软件评审内容的是( )。
    A、管理评审 B、技术评审 C、文档评审 D、人员评审
    正确答案:D

    4(1分)以下不是评审工具的是( )。
    A、Gerrit B、Jupiter C、JaCoCo D、SourceMonitor
    正确答案:C

    5(1分)评审会议结束后,应当整理得到________作为存档材料。
    参考答案:评审表单

    6(2分)对评审会议发现的问题和缺陷要进行分析和跟踪,有的缺陷将________,有的缺陷则必须________。
    正确答案:被有条件的接受 修正

    7(3分)验收评审的内容主要是:开发的软件系统是否已达到________________规定的各项技术指标;________是否完整、正确;________是否齐全,是否符合有关标准等。
    正确答案:软件需求说明书 使用手册 文档

    8(1分)按照 IEEE 的定义,________是软件开发组之外的人员或小组,对软件需求、设计或代码,进行详细检查的一种正式评价方法。
    正确答案:评审

    9(1分)除软件测试之外,________是另一种软件质量控制和软件质量保证的有效方法。
    正确答案:评审

    10(2分)大中型软件的质量更多的取决于________和________质量,而不仅仅是编码质量。
    正确答案:分析 设计(不确定)

    11(1分)正式评审一般以___________的形式进行。
    参考答案:会议

    12(1分)(判断)技术评审既是一种技术手段,也是一种质量管理手段。 ( )
    正确答案:对

    13(1分)(判断)详细设计评审是所有的评审活动中最难的一个。 ( )
    正确答案:错 需求

    14(1分)(判断)评审的主要目标在于检测错误、核对与标准的偏离。 ( )
    正确答案:对

    15(1分)(判断)数据库设计一般要求遵循4NF。 ( )
    正确答案:错

    16(1分)(判断)应选择那些最复杂和最危险的部分进行评审。 ( )
    正确答案:对

    17(1分)(判断)应该将发现缺陷的工作推后,最后来处理,这样效率高。 ( )
    正确答案:错

    18(8分)什么是软件评审,主要的分阶段软件评审活动有哪些?
    参考答案:

    软件评审是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得到改进。 
    主要的分阶段软件评审活动有管理评审、技术评审、文档评审和流程评审。
    

    19(12分)试分析通过评审可以有哪些收效?
    参考答案:

    1提高项目的生产率。这是由于早期发现了错误,因而减少了返工时间,还可能减少测试时间
    2改善软件的质量。
    3在评审过程中,使开发团队的其他成员更熟悉产品和开发过
    程。
    4通过评审,标志着软件开发的一个阶段的完成。
    5生产出更容易维护的软件。主要原因是:对于被评审的软件,评审者必须是非常熟悉的;同时,在评审过程中,一定会产生并利用很多证明文档,于是评审就迫使开发者产生出许多有用的文档,而这些文档如果不是因为评审,则在整个项目期间可能都不会生产。此外,评审过程也将增加对所开发软件的理解。
    

    9 软件质量与质量保证

    9.1 软件错误及分类

    软件测试是按照特定的规程,( )的过程。
    A.发现软件错误B.说明程序正确C.证明程序没有错误D.设计并运行测试用例
    正确答案:A

    9.2 程序中隐藏错误数量估计

    采用Hyman分别测试法,两个测试员同时互相独立地对同一程序的两个副本测试了 3 天时间,如果两人发现的缺陷重合度低,则( )。
    A.说明软件中尚未发现的缺陷多
    B.说明软件中尚未发现的缺陷少
    C.说明两名测试员工作都很不尽责
    D.说明两名测试员工作都很尽责
    正确答案:A

    9.3 软件质量

    软件验证和确认是保证软件质量的重要措施,它的实施应该针对( )
    A.程序编写阶段
    B.软件开发的所有阶段
    C.软件调试阶段
    D.软件设计阶段
    正确答案:B

    9.4 软件质量模型

    McCall 质量模型使用 3 种视角来定义和识别软件产品的质量,其中不包括的是( )。
    A.产品修正B.产品转移C.产品运行D.产品设计
    正确答案:D

    9.5 软件质量管理

    软件确认就是要证实我们是不是制造了正确的产品,要保证( )。
    A.程序代码正确B.设计方案正确C.做的东西正确D.做的过程正确
    正确答案:C

    9.6 软件质量管理体系

    CMMI中文全称为( )
    A.软件能力成熟度模型
    B.软件能力成熟度模型集成
    C.质量管理体系
    D.软件工程研究所
    正确答案:B

    9.7 单元测试

    1单选(1分)软件验证和确认是保证软件质量的重要措施,它的实施应该针对( )
    A.软件开发的所有阶段 1.00/1.00
    B.软件调试阶段
    C.程序编写阶段
    D.软件设计阶段
    正确答案:A

    2单选(1分)软件的六大质量特性包括( )。
    ①功能性、可靠性 ②可用性、效率
    ③稳定性、可移植 ④多语言性、可扩展性
    A.①②③ 1.00/1.00B.①②④C.①③④ D.②③④
    正确答案:A

    3单选(1分)软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性( )是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。
    A.可靠性依从性B.易恢复性 C.容错性 1.00/1.00D.成熟性
    正确答案:C

    4单选(1分)对Web网站进行的测试中,属于功能测试的是 ( )
    A.链接测试 1.00/1.00B.连接速度测试 C.平台测试D.安全性测试
    正确答案:A

    5单选(1分)CMMI中文全称为( )。
    A.软件能力成熟度模型集成 1.00/1.00B.软件工程研究所C.软件能力成熟度模型 D.质量管理体系
    正确答案:A

    10 软件测试组织和管理

    10.1 人员和资源组织

    软件测试人员的工作职责不包括:( )
    A.制定测试计划
    B.设计测试用例
    C.执行测试过程
    D.对软件缺陷进行修复
    正确答案:D

    10.2 过程和进度管理

    下列各项中( )不是一个测试计划所应包含的内容。
    A.测试资源、进度安排
    B.测试预期输出
    C.测试范围
    D.测试策略
    正确答案:B

    10.3 文档、用例和缺陷管理

    文档测试不包括测试文档的( )。
    A.完整性B.美观性C.一致性D.易理解性。
    正确答案:B

    10.4 单元测试

    1单选(1分)软件测试人员的工作职责不包括:( )
    A.设计测试用例
    B.执行测试过程
    C.制定测试计划
    D.对软件缺陷进行修复
    正确答案:D

    2单选(1分)软件质量保证与测试人员需要的的基本素质有( )
    A.计算机专业技能
    B.行业知识
    C.以上都是1.00/1.00
    D.测试专业技能
    正确答案:C

    3单选(1分)软件测试是按照特定的规程,( )的过程。
    A.证明程序没有错误
    B.设计并运行测试用例
    C.说明程序正确
    D.发现软件错误
    正确答案:D

    4单选(1分)( )是对要执行的软件测试及测试的结果进行描述、定义、规定和报告的任何书面或图示信息。
    A.软件测试脚本
    B.软件测试文档
    C.软件测试用例
    D.软件测试结果
    正确答案:B

    5单选(1分)缺陷跟踪就是要确保每个被发现的缺陷最终都能够被( ),而不是不了了之 。
    A.隐藏B.改正C.发现D.关闭
    正确答案:D

    10.5 课后作业

    1(1分)
    软件质量保证与测试人员需要的的基本素质有( )
    A、计算机专业技能 B、测试专业技能 C、行业知识 D、以上都是
    参考答案:D

    2(1分)CMM中文全称为( )
    A、软件能力成熟度模型
    B、软件能力成熟度模型集成
    C、质量管理体系
    D、软件工程研究所
    参考答案:A

    3(1分)CMM将软件组织的软件能力成熟度描述为( )
    A、二级 B、三级 C、四级 D、五级
    参考答案:D

    4(1分)软件的六大质量特性包括( )。
    ①功能性、可靠性 ②可用性、效率 ③稳定性、可移植 ④多语言性、可扩展性
    A、①②③ B、②③④ C、①③④ D、①②④
    参考答案:A

    5(1分)软件验证和确认是保证软件质量的重要措施,它的实施应该针对( )
    A、程序编写阶段 B、软件开发的所有阶段
    C、软件调试阶段 D、软件设计阶段
    参考答案:B

    6(3分)软件缺陷按严重程度被分为6个等级,分别是:_________、_________、_________、一般错误、较小错误、测试建议。
    参考答案:严重错误 主要错误 次要错误

    7(1分)软件对属于各种质量因素的需求的符合性是由____________来测量的。
    参考答案:软件质量度量

    8(1分)Burnstein博士提出了________,它描述了测试过程,是软件测试得到良好计划和控制的基础。
    参考答案:​Test Maturity Model(TMM即软件能力成熟度模型)

    9(2分)按照时间点来区分,软件质量特性度量有两类_________和_________。
    参考答案:预测型 验收型

    10(2分)CMM内容包含初始级、_________、_________、可重复级和可优化级五个等级。
    参考答案:定义级 定量管理级

    11(3分)McCall模型划分了_________、_________、_________三个纬度的11个软件质量因素。
    参考答案:软件运行 软件转移 软件修改

    12(1分)_________是指软件产品中能满足给定需求的性质和特性的总体。
    参考答案:软件质量

    13(1分)(判断)软件质量保证的独特性是由软件产品不同于其他制造产品的本质决定的。( )
    参考答案:对

    14(1分)(判断)TMM 分解为3个级别,在最高级中,测试不是行为,而是一种自觉的约束,不用太多的测试投入,即可产生低风险的软件。( )
    参考答案:对

    15(1分)(判断)CMMI并不包括CMM,更加适用于企业的过程改进实施。( )
    参考答案:错

    16(1分)(判断)只有客户才会有兴趣透彻定义软件需求以确保他约定的软件产品的质量。( )
    参考答案:错

    17(16分)某软件公司为某电影院设计开发了一款票务系统,包括票务管理、账号管理、在线购票、统计分析等功能,该软件计划长期使用,部分模块将用于其他类似软件,软件在使用时应能接入数字化城市平台。试结合软件质量模型分析应从哪些特性来分析评价这一软件的质量。
    参考答案:
    在这里插入图片描述

    11 本科目完结

    展开全文
  • 第二章 软件质量工程体系2.1 软件质量控制的基本方法2.1.1 软件质量控制的基本概念2.1.2 软件质量控制的基本方法2.2 软件质量控制模型和技术2.2.1 软件质量控制模型2.2.2 软件质量控制模型参数2.2.3 软件质量控制的...

    在这里插入图片描述

    2.1 软件质量控制的基本方法

    2.1.1 软件质量控制的基本概念

    · 软件质量控制是一组由开发组织和使用的程序和方法,使用他们可在规定的资金投入和实践限制的条件下,提供满足客户质量要求的软件产品并持续不断地改善开发过程和开发组织本身,以提高将来生产高质量软件产品的能力。
    根据这个定义,我们可以看到:
    软件质量控制是开发组织执行的一系列过程。
    软件质量控制的目标是以最低的代价获得客户满意的软件产品。
    对于开发组织本身来说,软件质量控制的另一个目标是每一次开发过程中学习以便使软件质量控制一次比一次好。
    软件质量因素
    Functionality
    Reliability
    Usability
    Portability
    Efficiency
    Maintainbility
    软件质量体系

    在这里插入图片描述
    质量保证
    在这里插入图片描述
    软件质量控制和质量管理
    在这里插入图片描述
    软件质量控制是软件质量管理的指向器和原动力。而软件质量管理,则是软件质量控制的执行机构。

    2.1.2 软件质量控制的基本方法

    目标问题度量法
    · 对一个项目的各个方面(产品、过程和资源)规定具体的目标,这些目标的表达应非常明确
    · 对每一个目标,要引出一系列能反映出这个目标是否达到要求的问题,并要求对这些问题进行回答。这些问题的答案将有助于使目标定量化。
    · 将回答这些问题的答案映射到对软件质量等级的度量上,根据这种度量得出软件目标是否达到的结论,或确认哪些做好了,哪些仍需改善。
    · 收集数据。要为收集和分析数据做出计划。
    目标问题度量法示例图
    · 目标:改善现场使用中的软件产品的质量。
    可维护性
    · 问题:可维护性开发过程在预防和组织缺陷发生方面有效吗?正在发生哪些缺陷?产生缺陷的原因是什么?
    · 度量:产品的缺陷密度;按缺陷类别划分的产品缺陷的发生频率;缺陷产生的频率分布以及缺陷发生所在阶段的频率分布。
    准备开发–>进行开发–>运行维护–><–进行可维护性开发
    风险管理法
    根据经验识别相关目要素的有关风险;
    评估风险发生的概率和发生的代价;
    按发生概率和代价划分风险等级并排序;
    在项目限定条件下选择控制风险的技术并制定计划;
    执行计划并监视进程;
    持续评估风险状态并采取正确的措施。
    SEI风险管理模型
    在这里插入图片描述

    风险识别、风险分析、风险计划、风险控制和风险跟踪。
    软件项目各阶段的风险

    阶段可能面临的风险问题
    计划目标不清 范围不清 缺少沟通业务不清 缺乏可行性分析
    设计缺乏经验 没有变更控制计划项目计划仓促(进度风险) 设计疏漏
    实施缺乏环境 设计错误 开发能力 项目范围变更 进度变更人员变更 内部沟通不畅 备选方案无效 测试计划不充分或缺少经验
    发布质量差 客户不满意设备未按时到货 资金不能及时回收

    风险严重程度等级

    影响程度标准等级
    危险严重影响项目,可能导致项目取消或者直接失败10-9
    影响进度,导致延期,客户抱怨严重8-7
    影响预算或软件性能差,客户不满意6-5
    影响进程但很快解决,客户有些不满4-3
    影响较小,客户未察觉或认可2-0

    风险控制方法
    在控制阶段主要用到的风险控制方法有风险避免、风险弱化、风险承担和风险转移等,分别叙述如下:
    · 风险避免,通过变更计划消除风险的触发条件,如采用成熟技术、增加资源、减少软件范围等。
    · 风险弱化,降低风险发生的概率,如简化流程、更多测试、开发原型系统等。
    · 风险承担,制定应急方案,随机应变。
    · 风险转移,将风险发生的结果连同应对

    2.2 软件质量控制模型和技术

    2.2.1 软件质量控制模型

    基于PDCA的全面统计质量控制(TSQC)模型,是我国实际采用的模型之一。
    在这里插入图片描述

    2.2.2 软件质量控制模型参数

    产品
    过程
    资源
    在这里插入图片描述

    2.2.3 软件质量控制的实施过程

    预开发阶段
    开发阶段
    维护阶段
    在这里插入图片描述
    软件质量控制技术的特征

    质量控制技术预防性特性检测性特征
    因果分析分析原因,提出改进建议,预防出错
    配置管理控制软件配置,防止引入新的错误
    独立的确认与验证及时发现和纠正需求、设计、编码的错误
    检查在测试之前检查并纠正设计和编码的缺陷检查和纠正设计、编码缺陷
    管理度量检查早期问题并调整质量控制参数
    性能工程提供某种方法避免潜在的性能问题度量实际性能、确认是否满足需求
    初样对早期需求和问题的确认,用户界面设计确认
    可靠性建模度量软件的可靠性、并预测附加测试
    软件审计识别关键风险并提出规避方法检测超时、超支和质量缺陷
    SEI软件能力评估评估组织的开发过程、确定成熟度等级

    部分软件质量控制技术对质量参数的影响
    在这里插入图片描述
    软件质量控制问题与质量控制技术
    最终产品的质量需求是什么?
    选择什么样的开发组织?
    为预防软件质量缺陷应该做点儿什么?
    怎样检查软件质量?
    在检查点应该获得哪些信息?

    2.2.4 软件 质量控制技术

    选择控制技术需要考虑的因素
    ~有些技术是任何时候都要考虑的,尽管它们的使用等级可以变化。
    ~要考虑所选技术的效益并使需求、风险和限制得到平衡。
    ~有些技术是冗余的或是矛盾的,只需或只能选择其一。
    ~有些技术是互补的,同时使用可能提高效益。
    ~控制技术的选用不能与约定相矛盾。
    ~有些技术只能用于特定的开发阶段或特定的开发活动中。
    ~检测性技术宜尽早使用,以防早期缺陷的产生和传播。
    ~对于高风险的设计和程序,质量控制活动和检查点的安排时间上不要隔太久。

    2.3 软件质量保证体系

    软件质量保证是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。
    · 它通过对软件产品和活动进行评审和审计来检验软件是合乎标准的。
    · 软件质量保证组在项目开始时就一起参与建立计划、标准和过程
    · 这些将使软件项目满足机构方针的需求。
    SQA(软件质量保证)是CMM(软件能力成熟度)2级中的一个重要关键过程区域,它是贯穿于整个软件过程的第三方独立审查活动,在CMM的过程中充当重要角色
    SQA的目的是向管理者提供对软件过程进行全面监控的手段,包括评审和审计软件产品和活动,验证它们是否符合相应的规程和标准,同时给项目管理者提供这些评审和审计的结果。
    因此,满足SQA是达到CMM2级要求的重要步骤之一。

    2.3.1 能力成熟模型(CMM)

    能力成熟度模型
    能力成熟度模型的产生和发展:
    1987年,美国卡内基·梅隆大学软件研究所(Software Engineering Institute,SEI)受美国国防部的委托,率先在软件行业从软件过程能力的角度提出了软件过程成熟度模型(Capability Maturity Model,CMM),随后在全世界推广实施的一种软件评估标准,用于评价软件承包能力并帮助其改善软件质量的方法。
    ~主要用于软件开发过程和软件开发能力的评价和改进。
    ~侧重于软件开发过程的管理以及工程能力的提高于评估。
    CMM自1987年开始实施认证,现已成为软件业最权威的评估认证体系。
    CMM包括5个等级,共计18个过程域,52个目标,300多个关键实践。
    **软件质量保证(SQA)**是建立一套有计划、有系统的方法,来向管理层保证拟定出的标准、步骤、实践、方法能够正确地被所有项目所采用。
    能力成熟度模型(CCM)
    是对于软件组织在定义、实施、度量、控制和改善其软件过程的时间中各个发展阶段的描述。
    在美国国防部的指导下。由软件开发团体和软件工程学院及Carneigie Mellon大学共同开发的
    CMM的核心:是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。
    CMM的基本思想
    CMM的基本思想是基于已有60多年历史的产品质量原理。休哈特(Walter Shewart)在30年代发表了统计质量控制原理,戴明(W. Edwards)和朱兰(Joseph Juran)的关于质量的著作又进一步发展和论证了该原理。
    实际上,将质量原理变为成熟度框架的思想是克劳斯比(Philip Crosby),他在著作《质量免费》(Quality is Free)中首先提出,他的质量管理成熟度网络描绘了采用质量实践时的5个进化阶段,而该框架后来又由IBM的拉迪斯(Rom Radice)和他的同事们在汉弗莱(Watts Humphrey)指导下进一步改进以适应软件过程的需要。
    1986年,汉弗莱将此成熟框架带到了SEI并增加了成熟度等级的概念,将这些原理应用于软件开发,发展成为软件过程成熟度框架,形成了当前软件产业界正在使用的框架。
    实施CMM的必要性
    实施CMM是改进软件质量的有效方法:控制软件生产过程、提高软件生产者组织性和软件生产者个人能力的有效合理的方法软件工程和很多研究领域及实际问题有关,主要相关领域和因素有:
    需求工程(Requirements Engineering)。
    理论上,需求工程是应用已被证明的原理、技术和工具,帮助系统分析人员理解问题或描述产品的外在行为。
    软件复用(Software Reuse),定义为利用工程知识或方法,由一已存在的系统,来建造一新系统。这种技术,可改进软件产品质量和生产率。
    还有软件检查、软件计量、软件可靠性、软件可维修性、软件工具评估和选择等

    2.3.2 软件质量保证SQA

    SQA背景
    SQA目标
    SQA任务
    SQA在软件开发不同阶段的目标
    SQA活动
    SQA的实施

    2.4 小结

    软件质量控制是一组由开发组织使用的程序和方法,使用它可在规定的资金投入和时间限制的条件下,提供满足客户质量要求的软件产品并持续不断地改善开发过程和开发组织本身,以提高将来生产高质量软件产品的能力。
    用于软件控制的一般性方法:目标问题度量法风险管理法PCDA质量控制法。其中在我国最常用的是模型是基于PDCA的全面服务质量管理(TSQC)模型
    软件质量保证(SQA)是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。
    在提高软件质量方面卓有成效。

    注:经验不足,请在评论区指正。会定期修改博客,谢谢大家。

    展开全文
  • 软件质量的六大特征

    千次阅读 2020-04-05 12:34:02
    可靠性对某些软件是重要的质量要求,它除了反映软件满足用户需求正常运行的程度,且反映了在故障发生时能继续运行的程度。 3.易使用性:对于一个软件,用户学习、操作、准备输入和理解输出时,所做努...
  • 软件质量因素 6个The different elements, which impact the product, are named as software factors. They can be extensively partitioned into two software quality management process. The principal class ...
  • 软件质量保证与测试 问答题

    千次阅读 2019-07-08 12:15:44
    软件质量保证与测试 问答题 18道简答题目及答案 软件质量保证活动的实施步骤 定义项目类型和生命周期 建立SQA计划,确定项目审计内容 生成SQA报告 审计SQA报告 独立汇报 简述软件质量保证的基本目标和任务 ...
  • 1、软件质量的定义 软件质量是软件特性的综合,指软件满足规定或潜在用户需求的能力,其主要从内部质量、外部质量、使用质量和过程质量这四个方面来衡量。 2、软件质量模型 测度与度量:在软件质量中用于测量的一种...
  • 慕课版软件质量保证与测试(第一章.课后题答案一、选择题二、填空题三、判断题四、解答题 一、选择题 1. 缺陷产生的原因包括()   A. 交流不充分及沟通不畅;软件需求的变更;软件开发工具的缺陷  &...
  • 软件测试与软件质量模型

    千次阅读 2020-04-03 12:53:53
    系统测试与软件质量模型软件质量模型六大属性功能性可靠性易用性效率可维护性可移植性 软件质量模型六大属性 功能性 可靠性 易用性 效率 可维护性 可移植性 ...
  • 软件质量评估

    千次阅读 2018-06-08 11:47:35
    摘要: 本文从软件质量的有关概念出发,根据指标选取原则,在分析软件质量特征的基础上提出了相应的软件质量评估指标的选取原则,并进而建立了软件质量评估体系。关键词: 软件质量 质量评估指标体系1 软件质量的...
  • 目录一、软件测试阶段划分1、按照开发阶段划分1)...软件能力成熟度模型3、软件质量模型三、软件测试方法1、黑盒测试2、白盒测试3、灰盒测试4、黑盒和白盒之间的比较 一、软件测试阶段划分 1、按照开发阶段划分 1)单元
  • 软件质量控制基础

    千次阅读 2020-04-10 11:43:27
    1、软件质量控制的理念 高质量的过程产生高质量的产品。建立好的软件工程过程模型,监督在项目实施过程中与该模型的一致性,通过控制开发过程的质量实现最终的软件质量目标。 质量不是指定给某个人或某个...
  • 软件质量保证测试

    千次阅读 2019-01-06 17:25:32
    1.软件是计算机程序、规程以及可能的相关文档和运行计算机系统需要的数据。包含4个部分,即计算机程序、规程、文档和软件系统运行所必需的数据。软件与硬件完全不同的特征:1、软件是...软件质量保证(Software Qual...
  • 软件质量 软件测试和质量保证

    千次阅读 2019-02-15 15:07:49
    软件质量:  软件质量包括  内部质量 外部质量 使用质量 就是说软件满足规定或潜在用户需求的能力,要从软件在内部、外部和使用中的表现来衡量   软件测试:  软件由文档、数据以及程序组成,那么软件...
  • 软件质量模型的六大特性和27个子特性如下: ISO/IEC9123软件质量特性 图示: **一、功能性: 1、适合性:解释软件产品是否提供了相应的功能  2、准确性:软件提供的功能是否正确(用户需要的) 即解释软件对不对 ...
  • 软件质量的特性

    千次阅读 2020-03-20 11:42:25
    软件质量的简单介绍 软件质量是软件的生命,它直接影响着软件的使用和维护。通常软件的质量有下面几个方面来评价质量的优劣: (1) 软件需求是衡量软件质量的基础,不符合需求的软件就不具备质量。设计的软件应在...
  • 软件质量管理

    千次阅读 2018-09-18 15:15:21
    ANSI/IEEE Std 729-1983定义软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。 M.J.Fisher定义软件质量为“所有描述计算机软件优秀程度的特性的组合” 特性 ◆软件质量特性,反映了...
  • 软件质量模型(学习笔记)

    千次阅读 2021-10-25 11:29:24
    一、软件质量模型 二、8个特性及其子特性 一、软件质量模型 软件质量模型将系统、软件产品属性划分为8个特性:功能性、性能效率、兼容性、易用性、可靠性、信息安全性、维护性和可移植性。 二、8个特性...
  • 软件工程之软件质量概念

    千次阅读 热门讨论 2019-11-19 16:24:07
    软件质量 1.ANSI/IEEE Std 729-1983定义软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。 2.M.J.Fisher定义软件质量为“所有描述计算机软件优秀程度的特性的组合”。 软件质量特性...
  • 软件质量模型

    千次阅读 2020-03-25 11:45:22
    常见的质量模型: 基于经验的模型: 根据经验,使用典型的质量因素来构建一个多层质量模型。 层次模型: ...McCall质量模型: ...也称GE模型,General Electrics Model,...用户不了解软件内部实现细节 但用户了解自己...
  • 浅谈团队提高软件质量的方式

    千次阅读 2018-11-17 14:21:46
    软件质量是产品或服务所满足明示或暗示需求能力的固有特性和特征的集合,软件的质量特性有功能性、可靠性、易用性、可维护性、可移植性。缺陷则指系统所需要实现的某种功能的失效或违背。在某种程度上,缺陷的数量...
  • 软件质量属性

    千次阅读 2019-05-12 10:33:21
    质量特性 质量子特性 功能性 适宜性 准确性 互用性 依从性 安全性 可靠性 成熟型 容错性 可恢复性 可用性 可理解性 易学性 可操作性 效率 时间特性 资源特性 可维护性 ...
  • 小白进阶之SQA软件质量保证工程师工作职责与素质要求 一、 SQA 工作职责与素质要求 二、实施 SQA 的目的 三、对 SQA 人员的素质要求 四、SQA 人员的组成 五、SQA 工作的内容 六、SQA 与几类角色间的关系 七、SQA ...
  • 软件质量】软件可维护性

    千次阅读 2019-11-20 15:46:00
    本文介绍软件的可维护性
  • 衡量软件质量的指标 作为软件架构师,软件质量始终是重中之重,我们以交付的质量来衡量我们。 虽然我们有许多工具来衡量和控制软件质量,但是在涉及到什么之前,第一步是弄清楚要对质量进行什么衡量? 以我的经验...
  • 慕课版软件质量保证与测试(第五章.课后作业一、选择题二、填空题三、判断题四、解答题 一、选择题 1. 软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?( )   A. 集成测试 &...
  • 软件质量练习题1

    千次阅读 2020-05-19 11:06:06
    2.简述软件质量成本的构成 (1)运行质量成本:企业为保证和提高产品质量而支付的一切费用以及因故障所造成的损失费用之和。 预防成本:为预防质量缺陷发所支付的费用。 评价成本:评定产品是否满足规定质量水平所...
  • 软件质量保证和管理》(作者:朱少民)电子课件(PPT)业已完成 <br>第1章 质量 第2章 软件质量 第3章 软件质量工程体系 第4章 软件质量控制和保证 第5章 软件配置管理 第6章 软件质量度量 ...
  • 1.软件质量

    千次阅读 2021-12-04 14:01:05
    软件质量保证与测试学习笔记

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 530,266
精华内容 212,106
关键字:

软件质量