公共基础知识复习资料(4)(2)

学人智库 时间:2018-02-10 我要投稿
【www.unjs.com - 学人智库】

  考点6 软件测试的实施

  考试链接:

  考点6在笔试考试中出现的几率为30%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该识记软件测试过程的4个步骤,单元测试的两种测试方式。

  软件测试过程分4个步骤,即单元测试、集成测试、验收测试和系统测试。

  单元测试是对软件设计的最小单位--模块(程序单元)进行正确性检验测试。单元测试的技术可以采用静态分析和动态测试。

  集成测试是测试和组装软件的过程,主要目的是发现与接口有关的错误,主要依据是概要设计说明书。集成测试所设计的内容包括:软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试等。集成测试时将模块组装成程序,通常采用两种方式:非增量方式组装和增量方式组装。

  确认测试的任务是验证软件的功能和性能,以及其他特性是否满足了需求规格说明中确定的各种需求,包括软件配置是否完全、正确。确认测试的实施首先运用黑盒测试方法,对软件进行有效性测试,即验证被测软件是否满足需求规格说明确认的标准。

  系统测试是通过测试确认软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、支撑软件、数据和人员等其他系统元素组合在一起,在实际运行(使用)环境下对计算机系统进行一系列的集成测试和确认测试。

  系统测试的具体实施一般包括:功能测试、性能测试、操作测试、配置测试、外部接口测试、安全性测试等。

  3.4软件的调试

  考点7 软件调试的基本概念

  考试链接:

  考点7在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择题的形式出现,分值为2分,此考点为重点识记内容,读者应该识记软件调试的概念。

  误区警示:

  程序经调试改错后还应进行再测试,因为经调试后有可能产生新的错误,而且测试是贯穿生命周期的整个过程。

  在对程序进行了成功的测试之后将进入程序调试(通常称Debug,即排错)。程序的调试任务是诊断和改正程序中的错误。调试主要在开发阶段进行。

  程序调试活动由两部分组成,一是根据错误的迹象确定程序中错误的确切性质、原因和位置;二是对程序进行修改,排除这个错误。程序调试的基本步骤:

  (1)错误定位。从错误的外部表现形式入手,研究有关部分的程序,确定程序中出错位置,找出错误的内在原因;

  (2)修改设计和代码,以排除错误;

  (3)进行回归测试,防止引进新的错误。

  调试原则可以从以下两个方面考虑:

  (1)确定错误的性质和位置时的注意事项

  分析思考与错误征兆有关的信息;避开死胡同;只把调试工具当作辅助手段来使用;避免用试探法,最多只能把它当作最后手段。

  (2)修改错误原则

  在出现错误的地方,很可能有别的错误;修改错误的一个常见失误是只修改了这个错误的征兆或这个错误的表现,而没有修改错误本身;注意修正一个错误的同时有可能会引入新的错误;修改错误的过程将迫使人们暂时回到程序设计阶段;修改源代码程序,不要改变目标代码。

  疑难解答:软件测试与软件调试有何不同?

  软件测试是尽可能多地发现软件中的错误,而软件调试的任务是诊断和改正程序中的错误。软件测试贯穿整个软件生命周期,调试主要在开发阶段。

  3.5 例题详解

  一、选择题

  【例1】对软件的特点,下面描述正确的是_______。(考点1)

  A)软件是一种物理实体

  B)软件在运行使用期间不存在老化问题

  C)软件开发、运行对计算机没有依赖性,不受计算机系统的限制

  D)软件的生产有一个明显的制作过程

  解析:软件在运行期间不会因为介质的磨损而老化,只可能因为适应硬件环境以及需求变化进行修改而引入错误,导致失效率升高从而软件退化,所以本题正确答案为B)。

  答案:B)

  【例2】以下哪项是软件生命周期的主要活动阶段?_______(考点2)

  A)需求分析 B)软件开发

  C)软件确认 D)软件演进

  解析:B)、C)、D)项都是软件工程过程的基本活动,还有一个是软件规格说明。

  答案:A)

  【例3】从技术观点看,软件设计包括_______。(考点3)

  A)结构设计、数据设计、接口设计、程序设计

  B)结构设计、数据设计、接口设计、过程设计

  C)结构设计、数据设计、文档设计、过程设计

  D)结构设计、数据设计、文档设计、程序设计

  解析:技术角度,要进行结构、接口、数据、过程的设计。结构设计是定义系统各部件关系,数据设计是根据分析模型转化数据结构,接口设计是描述如何通信,过程设计是把系统结构部件转化为软件的过程性描述。

  答案:B)

  【例4】以下哪个是软件测试的目的?_______(考点5)

  A)证明程序没有错误 B)演示程序的正确性

  C)发现程序中的错误 D)改正程序中的错误

  解析:关于测试目的的基本知识,IEEE的定义是:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求,或是弄清预期结果与实际结果之间的差别,所以正确答案是C)。

  答案:C)

  【例5】以下哪个测试要对接口测试?_______。(考点6)

  A)单元测试 B)集成测试

  C)验收测试 D)系统测试

  解析:检查对测试实施各阶段的了解,集成测试时要进行接口测试、全局数据结构测试、边界条件测试和非法输入的测试等,所以正确答案是B)。

  答案:B)

  【例6】程序调试的主要任务是_______。(考点7)

  A)检查错误 B)改正错误

  C)发现错误 D)以上都不是

  解析:程序的调试任务是诊断和改正程序中的错误。调试主要在开发阶段进行。

  答案:B)

  【例7】以下哪些不是程序调试的基本步骤?_______(考点7)

  A)分析错误原因 B)错误定位

  C)修改设计代码以排除错误 D)回归测试,防止引入新错误

  解析:程序调试的基本步骤:

  (1)错误定位。从错误的外部表现形式入手,研究有关部分的程序,确定程序中出错位置,找出错误的内在原因。

  (2)修改设计和代码,以排除错误。

  (3)进行回归测试,防止引进新的错误。

  答案:A)

  【例8】在修改错误时应遵循的原则有_______。(考点7)

  A)注意修改错误本身而不仅仅是错误的征兆和表现

  B)修改错误的是源代码而不是目标代码

  C)遵循在程序设计过程中的各种方法和原则

  D)以上3个都是

  解析:修改错误原则:

  (1)在出现错误的地方,很可能有别的错误;

  (2)修改错误的一个常见失误是只修改了这个错误的征兆或这个错误的表现,而没有修改错误本身;

  (3)注意修正一个错误的同时有可能会引入新的错误;

  (4)修改错误的过程将迫使人们暂时回到程序设计阶段;

  (5)修改源代码程序,不要改变目标代码。

  答案:D)

  二、填空题

  【例1】软件设计是软件工程的重要阶段,是一个把软件需求转换为_______的过程。(考点3)

  解析:软件设计是软件工程的重要阶段,是一个把软件需求转换为软件表示的过程。其基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,即软件设计是确定系统的物理模型。

  答案:软件表示

  【例2】_______是指把一个待开发的软件分解成若干小的简单的部分。(考点3)

  解析:模块化是指把一个待开发的软件分解成若干小的简单的部分。如高级语言中的过程、函数、子程序等。每个模块可以完成一个特定的子功能,各个模块可以按一定的方法组装起来成为一个整体,从而实现整个系统的功能。

  答案:模块化

  【例3】数据流图采用4种符号表示_______、数据源点和终点、数据流向和数据加工。(考点4)

  解析:数据流图可以表达软件系统的数据存储、数据源点和终点、数据流向和数据加工。其中,用箭头表示数据流向,用圆或者椭圆表示数据加工,用双杠表示数据存储,用方框来表示数据源点和终点。

  答案:数据存储

https://www.unjs.com/