等级考试公共基础考点分析之软件工程基础(5) |
|
www.nanhushi.com 佚名 不详 |
考点20 软件测试的实施 软件测试是保证软件质量的重要手段,软件测试是一个过程,其测试流程是该过程规定的程序,目的是使软件测试工作系统化 软件测试过程分4个步骤,即单元测试、集成测试、验收测试和系统测试二 1单元侧试 单元测试是对软件设计的最小单位—模块(程序单元)进行正确性检验测试。单元测试的目的是发现各模块内部可能存在的各种错误。 单元测试的依据是详细的设计说明书和源程序。 单元测试的技术可以采用静态分析和动态测试。 单元测试主要针对模块的以下5个基本特性进行: (l)模块接口测试—测试通过模块的数据流; (2)局部数据结构测试; (3)重要的执行路径检查; (4)出错处理测试; (5)影响以土各点及其他相关点的边界条件测试。 2集成侧试 集成测试是测试和组装软件的过程。集成测试所设计的内容包括:软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试等。 集成测试时将模块组装成程序,通常采用两种方式:非增量方式组装与增量方式组装。 非增量方式也称为一次性组装方式,将测试好的每一个软件单元一次组装在一起再进行整体测试。 增量方式是将已经测试好的模块逐步组装成较大系统,在组装过程中边连接边测试,以发现连接过程中产生的问题。 增量方一式包括自顶向下、自底向上、自顶向下与自底向上相结合的混合增量方法。 (1)自顶向下的增量方式。将模块按系统程序结构,从主控模块(主程序)开始,沿控制层次自顶向下地逐个把模块连接起来。 自顶向下集成过程步骤如下: ①主控模块作为测试驱动器。 ②按照一定的组装次序,每次用一个真模块取代一个附属的桩模块; ③当装入每个真模块时都要进行测试; ④做完每一组测试后再用一个真模块代替另一个桩模块; ⑤可以进行回归测试,以便确定没有新的错误发生。 (2)自底向上的增量方式。自底向上集成测试方法是从软件结构中最底层的、最基本的软单元开始进行集成和测试。 自底向上集成的过程与步骤如下: ①底层的模块组成簇,以执行某个特定的软件子功能; ②编写一个驱动模块作为测试的控制程序,和被测试的簇连在一起,负责安排测试用例的输入及输出; ③对簇进行测试; ④拆去各个小簇的驱动模块,把几个小簇合并成大簇,再重复做②、③以及④步。 (3)混合增量方式。自顶向下增量的方式和自底向上的增量的方式各有优缺点,一种方式的优点是另一种方式的缺点。针对自顶向下、自底向上方法各自的优点和不足,入们提出了自顶向下和自底向上相结合、从两头向中间逼近的混合式组装方法,被称为“三明治”方法。 3确认侧试 确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中确定的各种需求,以及软件配置是否完全、正确 4系统测试 系统测试是通过测试确认的软件作为整个计算机系统的一个元素,与计算机硬件、外设、支撑软件、数据和人员等其他系统元素组合在一起,在实际运行(使用)环境下对计算机系统进行一系列的集成测试和确认测试。 系统测试的日的是在真实的系统仁作环境下检验软件是否能与系统正确连接,发现软件与系统需求不一致的地方。 系统测试的具体实施一般包括:功能测试、性能测试、操作测试、配置测试、外部接口测试、安全性测试等。 3.5 程序的调试 考点21 软件调试的概念 在对程序进行成功测试之后将进行程序调试(排错)。程序的调试任务是诊断和改正程序中的错误。调试主要在开发阶段进行 1程序调试的基本步骤 (1)错误定位从错误的外部表现形式入手,研究有关部分的程序,确定程序中出错的位置,找出错误的内在原因。 (2)修改设计和代码,以排除错误\排错是软件开发过程中一项艰苦工作,这也决定了调试工作是一个具有很强技术性和技巧性的工作。 (3)进行回归测试,防止引进新的错误因为修改程序可能带来新的错误,重复进行暴露这个错误的原始测试或某此有关测试,以确认该错误是否被排除、是否引进了新的错误。 2程序调试原则 (l)确定错误的性质和位置时的注意事项: ①分析思考与错误征兆有关的信息; ②避开死胡同; 了只把调试工具当作辅助手段来使用; ④避免用试探法,最多只能把它当作最后手段二 (2)修改错误原则: ①在出现错误的地方,很可能有别的错误; ②修改错误的一个常见失误是只修改了这个错误的征兆或这个错误的表现,而没有修改错误本身;
③注意修正一个错误的同时有可能会引入新的错误; ④修改错误的过程将迫使人们暂时回到程序设计阶段; ⑤修改源代码程序,不要改变目标代码。 考点22 软件调试的方法 1强行排错法 作为传统的调试方法,其过程可概括为设置断点、程序暂停、观察程序状态、继续运行程序。涉及的调试技术主要是设置断点和监视表达式: (1)通过内存全部打印来排错; (2)在程序特定部位设置打印语句,即断点法; (3)自动调试工具。 2回溯法 该方法适合于小规模程序的排错、即一旦发现了错误,先分析错误征兆,确定最先发现“症状”的位置。然后,从发现“症状”的地方开始,沿程序的控制流程,逆向跟踪源程序代码,直到找到错误根源或确定出错产生的范围、 3原因排除法 原因排除法是通过演绎和归纳,以及二分法来实现。 演绎法是一种从一般原理或前提出发,经过排除和精化的过程来推导出结论的思考方法。 归纳法是一种从特殊推断出一般的系统化思考方法。其基本思想是从一些线索着手,通过分析寻找到潜在的原因,从而找出错误。 二分法实现的基本思想是,如果已知每个变量在程序中若干个关键点的正确值,则可以使用定值语句(如赋值语句、输入语句等)在程序中的某点附近给这些变量赋正确值,然后运行程序并检查程序的输出。 3.6 软件工程管理 1软件工程管理的职能 (1)组织管理软件开发将涉及业务人员和技术人员,只有他们的共同参与才能保证待开发的软件能根据用户提出的需求,在软件技术入员配合下顺利完成。 (2)人员管理。软件开发,特别是应用软件开发,需要各方面和各层次人员参加。完备的人员组织和管理,明确的任务分工,特别是开发入员和测试人员间的分一r和配合,将对软件开发的质量起到良好的保证 (3)资源管理、软件是特定系统的组成部分,它的开发也是系统开发的组成部分,软件开发离不开系统环境资源的支持,它们包括硬件、支撑软件、通信和辅助资源 (4)计划管理。计划管理包括对整个软件生命周期的计划安排和执行,工作量的估算和分配以及具体的进度安排。 2进度安排 (1)进度的表示方法明确软件开发的起始时间和交付时间是制定进度的关键数据,在总开发时间内科学地划分软件生命周期各时间段内的比例是非常关键的。 (2)进度的安排方法。当前主要的进度安排方法包括:甘特图方法,即Grant方法;时间标记网络法(Time Scalar Network)、进度计划评审法(Program Evaluation and Review Technique)和关键路径法(Critical Path Method)等。 3标准化 对于规模化的生产,科学的管理应该是规范化的管理和标准化的管理。对于软件生产和软件生产工程化,当其规模达到一定程度后,其管理的规范化和标准化要求就十分迫切了。 (l)软件工程标准化。软件F-程标准化是在大规模的软件生产活动中提出的要求,它包括: ①如何制定软件计划; ②怎样进行软件需求分析、设计; ③程序的编码、测试要求; ④维护的进行以及软件的组织管理等,它们都需制定必要的标准并形成规范 (2)标准化的作用。软件工程标准化的作用可概括为3方面: ①为软件开发各层次人员提供共同遵守的规定,把参与软件开发的各层次入员约束在一个共同的、必须遵守的标准下,以利于规范行为和有效通讯; ②为软件工程成果的评价和验收提供客观的、统一的标准; ③为软件的维护带来极大的好处。 4软件配置 由于软件生产的复杂性,从研制、生产到使用需要经历复杂的过程,每一过程都将产生各种产品,如文档、手册和程序,它们共同构成一个完整的软件系统,这种构成就是软件配置。 软件配置是动态的,它随软件设计、生产和使用,即按生命周期的推动而逐步增加和完善。 5软件产权保护 软件是一种不只是产品,同时又是一种易复制的产品从长远和发展看,与保护任何一种知识产品一样,应对软件产品的版权进行保护,会有利于软件产业的发展。
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: 高校等考试题天天练文化基础]11月5日 下一篇文章: 等级考试公共基础考点分析之软件工程基础(4) |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|