知识点讲解
 
       测试的阶段
知识路径: > 软件工程 > 软件工程基础知识 > 软件测试与审计 > 软件测试 > 
被考次数:2次
被考频率: 低频率
总体答错率: 62%
知识难度系数:
考试要求: 掌握     
相关知识点:11个
        为了保证系统的质量和可靠性,应力求在分析、设计等各个开发阶段结束前,对软件进行严格的技术评审。而软件测试则是为了发现错误而执行程序的过程,根据测试的目的、阶段的不同,可以把测试分为单元测试、集成测试、确认测试和系统测试等几类。
               单元测试
               单元测试又称为模块测试,是针对软件设计的最小单位(程序模块)进行正确性检验的测试工作。其目的在于检查每个程序单元能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,以及发现各模块内部可能存在的各种错误。单元测试需要从程序的内部结构出发设计测试用例,多个模块可以平行独立地进行单元测试。
               单元测试根据详细设计说明书进行测试,包括模块接口测试、局部数据结构测试、路径测试、错误处理测试和边界测试等。单元测试通常由开发人员自己负责。由于通常程序模块不是单独存在的,因此常常要借助驱动模块(相当于用于测试模拟的主程序)和桩模块(子模块)来完成。单元测试的计划通常是在软件详细设计阶段完成的,单元测试一般使用白盒测试方法。
               集成测试
               集成测试也称为组装测试、联合测试(对于子系统而言,则称为部件测试)。它将已通过单元测试的模块集成在一起,主要测试模块之间的协作性。从组装策略而言,可以分为一次性组装和增量式组装(包括自顶向下、自底向上及混合式)两种。集成测试计划通常是在软件概要设计阶段完成的,集成测试一般采用黑盒测试方法。
               模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其他模块。这些辅助模块分为两种。
               (1)驱动模块:相当于被测模块的主程序。它接收测试数据,把这些数据传送给被测模块,最后输出实测结果。
               (2)桩模块:用于代替被测模块调用的子模块。桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么事情也不做。
               各种模块之间的关系如下图所示。
               
               各种模块之间的关系
               在自底向上增殖式集成时,因为模块是自底向上进行组装,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)已经组装并测试完成,所以不再需要桩模块。在模块的测试过程中需要从子模块得到的信息可以直接运行子模块得到。
               软件集成的过程是一个持续的过程,会形成多个临时版本。在不断的集成过程中,功能集成的稳定性是真正的挑战。在每个版本提交时,都需要进行“冒烟”测试,即对程序主要功能进行验证。冒烟测试也称为版本验证测试或提交测试。
               确认测试
               确认测试也称为有效性测试,主要包括验证软件的功能、性能及其他特性是否与用户要求(需求)一致。确认测试计划通常是在需求分析阶段完成的。根据用户的参与程度,通常包括以下4种类型。
               (1)内部确认测试:主要由软件开发组织内部按软件需求说明书进行测试。
               (2)Alpha测试:由用户在开发环境下进行测试。
               (3)Beta测试:由用户在实际使用环境下进行测试。
               (4)验收测试:针对软件需求说明书,在交付前以用户为主进行测试。
               系统测试
               如果项目不只包含软件,还有硬件和网络等,则要将软件与外部支持的硬件、外设、支持软件、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列集成与确认测试。一般来说,系统测试的主要内容包括功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等。系统测试计划通常在系统分析阶段(需求分析阶段)完成。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有