⑴单元测试:
单元测试又称为模块测试,是针对软件设计的最小单位程序模块进行正确性检查的测试工作,单元测试需要从程序内部结构出发设计测试用例,多个模块可以平行地独立进行单元测试。
单元测试的内容:
① 模块接口测试
应对通过所测模块的数据流进行测试
调用所测模块时的输入参数与模块的形式参数的个数、属性和顺序是否匹配
所测模块调用子模块时,输入子模块的参数与子模块的形式参数在个数、属性和顺序上是否匹配。输出给标准函数的参数的个数、属性和顺序是否正确。
全局变量的定义在各个模块中是否一致。
当模块通过外部设备进行输入/输出操作,文件属性是否正确、open和close语句是否正确,规定的I/O格式说明与I/O语句是否匹配;缓冲区容量是否与记录长度匹配,在读写之前是否打开了文件,读写之后是否关闭了文件,对I/O错误是否做了处理
② 局部数据结构测试
局部数据结构是最常见的错误来源
不一致的数据类型
不正确或不一致的数据说明
使用尚未赋值或尚未初始化的变量
错误的初始值或错误的缺省值
③ 路径测试
运算的优先次序、常见的比较和控制流
④ 错误处理测试
遇见出错的条件,并设置适当的出错处理
⑤ 边界测试
例如循环的次数,最大或最小值
步骤:
利用设计文档设计测试用例;创建被测模块的桩模块或驱动模块;利用被测试模块、驱动模块和桩模块来建立测试环境,进行测试
驱动模块:相当于所测模块的主程序,它接收测试数据,把这些数据传送给所测模块,最后再输出实际结果
桩模块:用以代替所测模块调用的子模块。
⑵集成测试
又称为组装测试或联合测试,在单元测试的基础上,需要将所有模块按照概要设计说明书和详细设计说明书的要求进行组装。
1、在把各个模块连接起来的时候,穿越各个模块的接口的数据时候会丢失
2、一个模块的功能是否会对另一个模块的功能产生不利的影响
3、各个子功能组装完成后,能否达到预期的父功能
4、全局数据结构是否有问题
5、单个模块产生的误差累计起来是否会放大
模块组装成系统的方式:一次性组装方式和增殖式组装方式
1、一次性组装方式
先对模块分别进行测试,再把所有模块组装进行测试
缺点:发现错我不容易定位
2、增值式组装测试
先对一个个模块进行模块测试,然后将这些模块逐步组装成系统
分为两种方式:自顶向下的增殖方式和自底向上的增殖方式
① 自顶向下的增殖方式(不需要驱动模块)
将模块铵系统程序结构,严控制层次自顶向下进行组装。
首先以主模块作为被测模块兼驱动模块,所有直属主模块的下属模块全部用桩模块代替,对主模块进行测试。再采用深度优先或广度优先的策略,用实际模块代替桩模块,再用桩模块代替它们的直接下属模块,与已经测试的模块构成新的子系统。然后进行回归测试。
深度优先策略:
广度优先策略:(不需要桩模块)
② 自底向上的增殖方式(不需要驱动模块)
由驱动模块控制最底层模块的并行测试。
③ 混合增殖式
自顶向下增殖方式:
优点:能够较早的发现主要控制方面的问题
缺点:需要建立桩模块,增加了一些附加的测试,涉及算法和输入输出的模块一般在底层,这些底层模块要到组装和测试的后期才能发现。一旦发现问题就会出现过多的回归测试。
自底向上增殖方式:
优点:不需要建立桩模块,建立驱动模块要比建立桩模块要简单得多,同时涉及到算法已近输入输出的模块要先测试,把最容易出现问题的部分在早期解决。
缺点:程序一直未能作为一个实体存在,直到最后一个模块加上才能形成一个实体
。控制方面最后才能接触。
集成测试完成的标志:
1、成功执行了测试计划中规定的所有集成测试
2、修改了所发现的错误
3、测试结果通过专门小组的评审
集成测试需要提交的测试报告:
集成测试计划、集成测试规格说明书以及集成测试分析报告
3.确认测试
确认测试的目标是验证软件的功能和性能以及其他特性是否与用户的要求一致。确认测试一般包括有效性测试和软件配置复查。一般有第三方测试机构进行。
① 进行有效性测试
现软件确认要通过一系列黑盒测试。确认测试同样需要制订测试计划和过程,测试计划应规定测试的种类和测试进度,测试过程则定义一些特殊的测试用例,旨在说明软件与需求是否一致。无是计划还是过程,都应该着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整、准确人机界面和其他方面(例如,可移植性、兼容性、错误恢复能力和可维护性等)是否令用户满意。
确认测试的结果有两种可能,一种是功能和性能指标满足软件需求说明的要求,用户可以接受;另一种是软件不满足软件需求说明的要求,用户无法接受。项目进行到这个阶段才发现严重错误和偏差一般很难在预定的工期内改正,因此必须与用户协商,寻求一个妥善解决问题的方法
②软件配置复查
保证软件配置的所有成分齐全,质量都符合要求。应该遵守用户手册和操作手册中的规定步骤。
4、系统测试
软件作为计算机系统的一部分,与硬件、网络、外设、支撑软件、数据以及人员结合在一起,在实际或模拟环境下,对计算机系统进行测试,
目的在于与系统需求比较,发现问题
5、验收测试
以用户为主的测试,软件开发人员和质量保证人员参加,由用户设计测试用例。
不是对系统进行全覆盖测试,而是对核心业务流程进行测试。
相关推荐
软件测试的四个阶段是软件开发过程中的重要组成部分,每个阶段都有其特定的职责和目标。测试人员需要了解项目需求,制定测试大纲、测试设计、测试用例,并进行测试实施和结果分析。输出的文档包括《测试任务说明书》...
软件测试是确保软件质量的关键环节,它涵盖了多种分类和方法,旨在发现并修复程序中的错误和缺陷。下面将详细阐述这些测试类型及其特点。 首先,按照测试技术,软件测试可分为黑盒测试、白盒测试和灰盒测试。黑盒...
软件测试技术按照划分 软件测试能否单独由开发人员完成? 软件测试和软件开发那个工作难? 软件测试水平高还是软件开发水平高? 不同测试阶段测试的分工 第二讲 详细剖析软件测试过程及V模型? 主要内容: V...
#### 4.1 按开发阶段划分 - **单元测试**:针对软件设计中的最小单位——程序模块进行正确性检查的测试工作。 - **集成测试**:在单元测试的基础上,将所有程序模块进行有序的、递增的测试。 - **系统测试**:对...
软件测试是软件开发过程中的一个重要阶段,它的目的是为了确定软件是否满足需求和规范,是否达到预期的结果。软件测试可以分为两种:静态测试和动态测试。静态测试包括代码review、走查和静态分析等活动;动态测试...
软件测试是软件开发过程中的一个重要步骤,它确保软件产品的质量和可靠性。本文档旨在提供一个软件测试规范文档,用于指导软件测试工作。 概述 软件测试是软件开发过程中的一个重要步骤,它旨在确保软件产品的质量...
软件测试可以按照不同的角度进行分类,包括按照开发阶段划分、按照实施组织划分、按照测试方式划分和按照测试技术划分。其中,按照开发阶段划分包括单元测试、集成测试、确认测试和验收测试。 三、软件问题分类 ...
2. 按阶段划分: 单元测试:对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。 集成测试:检查软件单位之间的接口是否正确。 系统测试:对已经集成好的软件系统进行彻底的测试,以验证软件系统的...
按照软件开发阶段划分,测试包括: 1. **单元测试**:针对单个程序模块进行,确保模块内部逻辑的正确性。 2. **集成测试**:将已通过单元测试的模块组合起来,测试模块间的交互和接口。 3. **确认测试**:验证软件...
- **按阶段划分**: - **单元测试**:针对单个模块或组件进行测试,确保每个模块的功能正确性。 - **集成测试**:将多个已经通过单元测试的模块组合起来进行测试,检查模块间的接口是否正确。 - **系统测试**:对...
本文将深入探讨软件测试的基本概念、分类以及测试方法。 测试是软件生命周期中的关键环节,其目的是确保产品在交付给最终用户之前达到稳定状态。测试过程涵盖了多个层次和方面,从方法上可分为手工测试和自动化测试...
书中通过两个典型的软件项目案例,系统地展示了软件测试从项目启动到测试完成的全过程,覆盖了从测试计划制定、测试用例设计、测试工具选择、脚本开发、功能测试、系统测试等关键环节。此外,还着重讲解了测试管理的...
性能测试技术培训之测试阶段划分,是一门深入探讨性能测试在软件开发周期中扮演关键角色的专业课程。由王勇在2012年4月所撰写的这份文档,详细介绍了性能测试的重要性和其在互联网环境下的应用,尤其强调了性能测试...
软件测试是软件开发过程中的重要环节,旨在发现并修复程序中的错误、遗漏、缺陷和矛盾,确保软件产品的质量和可靠性。 在软件开发中,测试不仅是一个孤立的步骤,而是一个贯穿始终的过程。它包括单元测试、集成测试...