单元测试与集成测试

合集下载

软件质量保证与测试 第五章 单元测试与集成测试

软件质量保证与测试 第五章 单元测试与集成测试

测试用例的编 写 驱动模块、桩 模块的设计 执行测试用例 记录缺陷
单元测试用例
《缺陷跟踪报 告》
评估 阶段
完备性评估 代码覆盖率评 估
《单元测试报 告》
5.6 单元测试常用工具简介
1. JUnit介绍
2. 在Eclipse中JUnit应用举例
3. Junit+Ant构建自动的单元测试
4. CheckStyle/PMD与FindBug的使用
5.2.1 编码的标准和规范
标准: 建立起来必须遵守的规则 规范: 建议最佳做法,推荐更好方式 实施代码规范的原因: 可靠性 可读性和可维护性 可移植性
C语言编码规范
规范 规范内容 编号 1 一行代码只做一件事情 2 3 代码行的最大长度宜控制在70-80个字 函数与函数之间,说明语句和执行语句 之间最好加空行 在程序开头加注释,说明基本信息;在 重要函数处加注释,说明其功能 不要漏掉函数的参数和返回值,如果没 有,用void表示 是否 通过
检查要点是代码是否符合标准和规范,是否有 逻辑错误
审查(Inspection)

以会议形式,制定目标、流程和规则


按缺陷检查表(不断完善)逐项检查
发现问题适当记录,避免现场修改
发现重大缺陷,改正后会议需要重开。
走查与审查的比较
准备 走 查 审 查 通读设计和编码 事先准备Spec、程序设计 文档、源代码清单、代码 缺陷检查表等 非正式会议 正式会议 开发人员为主 项目组成员包括测试人员 无 缺陷检查表 会议记录 代码标准规范 无逻辑错误 静态分析错误报告 代码标准规范 无逻辑错误
单元测试的过程与文档管理时间依据任务成果计划阶段详细设计阶段后软件需求规格说明书详细设计说明制定测试计划单元测试计划设计阶段单元测试计划提交后单元测试计划软件详细设计说明驱动模块桩模块的设计单元测试用例执行阶段编码完成单元测试用例软件需求规格说明书详细设计说明执行测试用例记录缺陷缺陷跟踪报评估阶段单元测试用例缺陷跟踪报告缺陷检查表完备性评估代码覆盖率评阿迪达斯三条纹标志是由阿迪达斯的创办人阿迪达斯勒设计的三条纹的阿迪达斯标志代表山区指出实现挑战成就未来和不断达成目标的愿望

单元测试和集成测试的概念

单元测试和集成测试的概念

单元测试和集成测试的概念1. 什么是单元测试?单元测试,顾名思义,就是对软件中的“单元”进行测试。

哎,说到这里,你可能会想:“单元?什么玩意儿?”其实啊,这里的“单元”就是程序中的最小部分,比如一个函数或者一个方法。

我们可以把它想象成拼图中的一块,单独拿出来看看,能不能完美地拼上去。

单元测试的目的是确保每一块拼图都能正常工作。

想象一下,你在拼一幅画,结果发现一块拼图坏了,那可真是让人心烦意乱啊!1.1 单元测试的好处说到单元测试的好处,简直就像是在给你一瓶神奇的药水,喝了之后精神焕发!首先,单元测试可以提前发现问题。

你要知道,程序在开发过程中,bug就像过街老鼠,人人喊打。

通过单元测试,我们可以在早期阶段就把这些“老鼠”赶走,免得到后期麻烦更大。

其次,单元测试还可以提高代码的可维护性。

就像你打理花园,平时多浇水、施肥,长出来的花草自然旺盛。

代码也是一样,经过单元测试后,维护起来顺手多了,改动代码时也不怕把其他地方搞坏了。

1.2 怎么写单元测试?那么,如何写单元测试呢?其实没什么复杂的,首先你需要用一些测试框架,比如JUnit、pytest这些就很常见。

写个测试就像写作文,先列个提纲,再详细展开。

你需要定义输入、预期输出,然后用代码来验证。

这一过程就像在试探你的朋友,看他能不能按时还钱,如果能,那就放心了;如果不能,那就得考虑下次借不借了。

2. 什么是集成测试?集成测试则是另一个层面的东西。

说白了,集成测试就是把已经经过单元测试的“拼图块”拿到一起,看看它们能不能拼成一幅完整的画。

这就像你和朋友们一起去聚会,单独每个人都很优秀,但你得看看大家能不能和谐相处,不然聚会现场就尴尬了。

2.1 集成测试的目的集成测试的主要目的是验证模块之间的接口和交互。

就像你做菜,有些材料搭配得很好,有些则可能味道奇怪。

我们需要通过集成测试,确保所有模块在一起运行时不会出现不和谐的音符。

这样,整个系统的表现才能更加流畅。

单元测试与集成测试的区别

单元测试与集成测试的区别

单元测试与集成测试的区别软件项目开发中,测试是一个非常重要的环节。

测试可以保证软件的质量和稳定性,同时也可以及时发现和修复可能存在的问题。

而在测试的阶段中,单元测试和集成测试是两个非常关键的步骤。

本文将着重阐述单元测试和集成测试的区别。

一、概念定义单元测试是指在软件开发过程中对程序模块进行的最小测试。

单元测试是对某个程序模块进行的测试,这个模块可以是函数、类、方法、接口等等,它是软件测试的最小单位。

比如在Java中,JUnit是单元测试的流行框架。

而集成测试是在单元测试之后,将多个模块集成在一起进行测试,目标是测试程序模块之间的接口。

集成测试的主要任务是测试各个模块之间的交互和信息流,如果需要,可以用mock或stub的方式模拟某些模块的接口。

二、测试对象单元测试的测试对象是某个模块,它对某个场景的输入进行测试,预期输出结果应该是什么。

在测试中需要保证每个模块都是独立的,防止其他测试的结果影响到它的测试结果。

单元测试可以发现程序模块中的缺陷,同时有利于代码的重构。

而集成测试的测试对象是将多个模块组合在一起进行测试,这个测试过程需要保证每个测试+环节都是正常的。

在测试过程中有可能会发现模块之间的接口调用异常、数据传输异常等问题,因此集成测试也是非常重要的一个测试环节。

三、测试的深度单元测试的主要观察点是代码细节和具体实现,它需要保证代码完整性,可以尽可能地覆盖代码的不同分支和路径,以发现代码函数、方法或对象中可能存在的问题。

而集成测试的主要观察点是测试模块之间的交互,检查整个程序流程是否按照正常流程执行,以及与其他模块的接口是否协同完整。

集成测试会发现不同模块之间的"黏合"问题,以及各种应用场景下的具体问题,这也说明了为什么集成测试非常重要。

四、测试成本单元测试可以在代码实现的早期进行,测试范围比较小,测试用例非常有限,可以很快地找到被测试模块中的问题,因此测试成本比较低。

而集成测试需要在所有单元测试完成之后进行,需要测试所有模块之间的关系,需要模拟所有系统级数据等等,测试用例相对较多,所以集成测试的成本比较高。

单元测试、集成测试、系统测试和验收测试

单元测试、集成测试、系统测试和验收测试

单元测试、集成测试、系统测试和验收测试单元测试、集成测试、系统测试和验收测试是软件工程中常用的测试方法。

在软件开发过程中,每个测试阶段都有不同的目的和重点。

1. 单元测试
单元测试是指对软件的最小测试单元进行测试,通常是指一个函数、一个模块或一个类。

它的目的是测试这个最小单元是否能够按照预期进行工作,以及是否符合设计要求。

单元测试通常由开发人员自己进行,并使用各种测试框架和工具。

2. 集成测试
集成测试是指将多个单元测试合并在一起进行测试,以测试各个单元之间的交互和集成后的整体功能是否符合要求。

集成测试通常由开发人员或测试人员进行,在整个软件开发周期中的不同阶段进行。

3. 系统测试
系统测试是指对整个软件系统进行测试,以测试其是否符合需求和设计要求。

系统测试通常由测试人员进行,测试场景通常是真实环境下的模拟测试,以确保软件能够在各种情况下正常工作。

4. 验收测试
验收测试是指在开发阶段结束后进行的最后一次测试,以确保软件符合客户或用户的需求和要求。

验收测试通常由客户或用户进行,测试场景通常是真实环境下的模拟测试,以确保软件能够在实际操作中正常工作。

总体而言,单元测试、集成测试、系统测试和验收测试是软件工
程中不可或缺的测试方法,每个测试阶段都有自己的重点和目的,以确保软件能够按照预期工作。

软件开发中的单元测试和集成测试

软件开发中的单元测试和集成测试

软件开发中的单元测试和集成测试在软件开发领域,单元测试和集成测试是其中两个非常重要的测试方法。

本文旨在介绍这两种测试方法的基本概念、作用、实施步骤和常见误区,希望能够对软件开发人员在实践中的工作有所裨益。

一、单元测试1. 基本概念单元测试(Unit Testing)指的是对软件中的最小可测试单元进行测试的过程。

这个最小单元可以是函数、方法、类或模块等。

单元测试的目的在于验证每个单元的行为是否符合预期,以确保单元的正确性。

2. 作用(1)提高代码质量。

单元测试可以帮助开发人员尽早发现和解决代码中的错误,从而避免这些错误在后续的开发过程中造成更大的影响。

(2)提高代码可维护性。

单元测试可以帮助开发人员更好地了解代码的功能和结构,从而更容易进行维护和重构。

(3)提高代码可重用性。

单元测试可以帮助开发人员更好地了解每个单元的功能和使用方法,从而更容易将其重用到其他项目中。

3. 实施步骤(1)选择测试框架。

在进行单元测试前,开发人员需要选择合适的测试框架,如JUnit、NUnit、pytest等。

这些测试框架提供了各种测试工具和库,可以帮助开发人员更方便地进行单元测试。

(2)编写测试用例。

根据每个单元的功能和预期结果,开发人员需要编写相应的测试用例。

测试用例是一组输入和期望输出的集合,用于验证程序是否按预期运行。

(3)运行测试用例。

运行测试用例时,测试框架会自动将输入值传递给相应的单元,并比较其输出结果是否与预期结果一致。

(4)分析测试结果。

根据测试结果对程序进行修正。

当测试失败时,开发人员需要重新检查代码,并修正错误。

4. 常见误区(1)测试覆盖率过于追求。

测试覆盖率是指测试用例覆盖代码的百分比。

虽然高测试覆盖率有助于发现更多的错误,但并不意味着覆盖率越高程序就越正确。

因此,开发人员应该根据实际情况合理选择测试用例,而不必追求过高的测试覆盖率。

(2)测试只能在开发完成后进行。

开发人员经常会认为,单元测试只是一个后验性的工作,只有在代码编写完成之后才能进行。

为什么要进行单元测试和集成测试

为什么要进行单元测试和集成测试

为什么要进行单元测试和集成测试在软件开发过程中,单元测试和集成测试是非常重要的环节。

它们的作用是确保软件质量,并且可以在开发过程中尽早发现问题,减少后期修正工作量。

那么,为什么要进行单元测试和集成测试呢?一、单元测试的作用单元测试是指针对软件中的最小可测试单元进行测试,例如一个函数、一个类或者一个模块。

其主要目的是为了验证这个最小单元的功能是否正确。

单元测试通常由开发人员自己编写和执行。

单元测试的作用主要有以下几点:1、保证代码的正确性;2、减少程序员在调试阶段的工作量;3、快速锁定错误,方便调试;4、提高代码重用性,降低维护成本;5、增加代码的可读性。

通过单元测试,可以方便快捷地定位代码中的问题,并且能够帮助开发人员编写高度可维护和可读性强的代码。

二、集成测试的作用单元测试验证了最小单元的正确性,但是在整个软件系统中,一个模块的正确性并不代表整个系统的正确性。

因此,需要进行集成测试来验证整个系统的正确性。

集成测试是指将各个独立测试单元组装起来,对整个系统进行测试。

其目的是验证系统的各个部分是否正常协作,并且保证软件系统的正确性。

集成测试的作用主要有以下几点:1、对软件系统进行全面测试,保证软件质量;2、发现模块之间的协调性问题;3、保证软件系统的兼容性、健壮性和稳定性;4、提高软件模块间的交互和内容的一致性,降低后期维护成本;5、减少软件系统出现Bug的可能性。

通过集成测试,可以保证软件系统的质量,发现模块之间的协调性问题,并且为后续的测试和维护工作打下良好基础。

三、综合分析单元测试和集成测试并不是一次性完成的工作,而是在整个软件开发过程中不断迭代并完善。

同时,单元测试和集成测试也不是对软件质量的绝对保证。

然而,单元测试和集成测试确实是保证软件质量,发现问题和减少后期维护成本的重要手段。

通过定期进行单元测试和集成测试,可以保证软件系统具有更高的可靠性、可维护性和可扩展性,从而提高软件开发的效率和质量。

单元测试与集成测试


4.驱动模块和桩模块
※ 运行单元程序有时需要基于被测单元的接口,开发相应的驱 动模块和桩模块。
4.驱动模块和桩模块
驱动模块(drive):对底层或子层模块进行(单元或集成)测试 时所编制的调用被测模块的程序,用以模拟被测模块的上级模块。
桩模块(stub):也有人称为存根程序,对顶层或上层模块进行 测试时,所编制的替代下层模块的程序,用以模拟被测模块工作过 程中所调用的模块
※ 面向对象的单元就是类,单元测试实际测试的就是对类的测 试。
※ 类测试的目的主要确保一个类的代码能够完全满足类的说明 所描述的要求
5.类测试
※ 对类的测试可以分成两个层次进行:
方法内测试 方法间测试
※ 类测试一般有两种主要的方式:功能性测试和结构性测试, 即黑盒测试和白盒测试。
功能性测试以类的规格说明为基础,它主要检查类是否符合其规格 说明的要求
单元测试与集成测试
目录
1 单元测试的目标和任务 2 单元的静态测试 3 驱动程序和桩程序 4 单元测试工具 5 集成测试
1
单元测试的目标和任务
※ 测试的4个阶段: 单元测试集成测试系统测试验收测试
按阶段进行测试是一种基本的测试策略
1.什么是单元测试
※ 定义:单元测试是对软件基本组成单元进行的测试。
3.单元测试的目标和任务
任务4:模块边界条件测试
检查临界数据处理的正确性 Checklist: − 普通合法数据的处理。 − 普通非法数据的处理。 − 边界值内合法边界数据的处理。 − 边界值外非法边界数据的处理。 − 其它
3.单元测试的目标和任务
任务5:模块的各条错误处理通路测试
预见、预设的各种出错处理是否正确有效。 Checklist: − 输出的出错信息难以理解。 − 记录的错误与实际不相符。 − 程序定义的出错处理前系统已介入。 − 异常处理不当。 − 未提供足够的定位出错的信息。 − 其它

单元测试与集成测试

单元测试与集成测试软件开发是现代计算机科学中的一个重要分支领域,其在工业界和学术界都有着广泛的应用。

随着软件规模和复杂度的不断提高,软件测试在软件工程中的地位也越来越重要。

软件测试可以分为几种不同的类型,其中单元测试和集成测试是软件测试中最基本的两种类型。

本文将探讨这两种测试的基本概念、区别以及在软件开发过程中的重要作用。

一、基本概念1、单元测试单元测试是指针对软件中最小的可测试单元的测试方法。

通常情况下,这个单元是指一个函数或者一个方法。

单元测试是在软件开发过程中最早出现的一种测试方法,其目的是保证编写的代码符合预想的设计需求。

单元测试的基本原则就是将一段代码的功能组合看成一个互相独立的单元进行单独测试。

一般来说,单元测试能够高效地发现代码中的错误,同时也能为后续测试提供依据。

2、集成测试集成测试是指在将多个单元测试中的代码组合在一起形成系统之后,针对整个软件系统进行测试的方法。

集成测试主要是为了测试软件系统的各个组件之间的协作和配合是否正常,以及检验其能否完成预期的操作。

通常情况下,集成测试在软件开发流程的后期进行,一般是在系统测试之前进行的。

二、区别和联系单元测试和集成测试在测试的对象和范围上有着明显的差别。

单元测试的测试范围非常狭窄,只是针对代码中一个函数或方法进行测试。

而集成测试则是对整个软件系统进行测试,只有当多个单元之间的协作关系完全形成,才去进行集成测试。

除此之外,在测试的目的上也有着一定的区别。

单元测试主要是为了保证代码的正确性,发现代码中的bug,而集成测试则主要是为了保证系统的稳定性和健壮性,测试各个组件之间的协作,以及检验整个软件系统的功能性。

同时,它们也有着一定的联系。

单元测试是集成测试的前提,只有在单元测试中发现并解决了代码中的问题,才能够保证集成测试的顺利进行。

集成测试和单元测试各自又有所不同,但是两者却都是系统测试的组成部分。

三、在软件开发中的重要性单元测试和集成测试都有着举足轻重的地位,在软件开发中的重要性无法被忽视。

单元测试与集成测试的区别

单元测试与集成测试的区别在软件开发过程中,单元测试和集成测试是两种常见的测试方法,它们在不同的阶段有着不同的作用和目的。

下面将分别介绍单元测试和集成测试的概念、特点和区别。

首先,单元测试是针对软件中的最小可测试单元进行测试的过程。

通常来说,单元测试是由开发人员编写和执行的,用于验证代码中的各个函数、方法、类或模块的正确性。

单元测试的目的是在开发过程中尽早地发现和修复代码中的错误,确保代码的可靠性和稳定性。

单元测试通常是自动化执行的,并且在开发过程中频繁地运行,以确保代码的质量和可靠性。

相比之下,集成测试是将不同的单元组合在一起进行测试的过程。

在集成测试中,开发人员会测试不同的模块、组件或服务之间的交互和集成,以确保它们能够正常地协同工作。

集成测试的主要目的是验证不同模块之间的接口和依赖关系,以确保整个系统的功能和性能符合设计要求。

集成测试通常在单元测试之后进行,也可以在软件开发过程的不同阶段进行多次。

单元测试和集成测试有着明显的区别。

首先,单元测试是针对最小的代码单元进行测试的,通常是独立于其他组件的,可以在开发的早期阶段进行。

而集成测试是将不同的组件或模块组合在一起进行测试的,需要考虑各个组件之间的依赖关系和交互。

其次,单元测试通常是由开发人员编写和执行的,重点在于代码的正确性和可靠性;而集成测试可能涉及多个团队或部门的合作,重点在于测试整个系统的功能和性能。

另外,单元测试通常是自动化执行的,可以频繁地运行以及早发现问题;而集成测试可能需要更多的人力和时间投入,会在系统集成的不同阶段进行。

综上所述,单元测试和集成测试是软件开发过程中两种重要的测试方法,它们各自有着不同的特点和作用。

单元测试主要用于验证代码的正确性和可靠性,帮助开发人员尽早地发现和修复问题;而集成测试主要用于验证不同组件之间的交互和集成,确保整个系统的功能和性能符合设计要求。

在软件开发过程中,单元测试和集成测试都是必不可少的环节,通过合理地结合和运用这两种测试方法,可以提高软件质量、减少开发成本,加快软件交付的速度。

软件测试中的单元测试与集成测试

软件测试中的单元测试与集成测试软件测试是软件开发过程中十分重要的一个环节,其目的是为了保证软件质量,提高软件可靠性。

测试通常包括多种不同的测试方法,其中最为基础和常用的两种测试方法就是单元测试和集成测试。

一、单元测试单元测试是软件测试中最为基础的测试方法,其主要目的是在软件开发过程中,对单个逻辑模块、函数或类进行测试。

在进行单元测试时,需要将被测的单元与它的所有依赖隔离开来,采用不同的测试框架(例如JUnit、CppUnit等)对其进行测试。

为什么要进行单元测试?1. 防止代码回归。

当程序员重新修改已经可以正常运行的代码时,可能会由于各种原因导致程序出错。

通过单元测试,可以及时发现这些问题,并且可以通过重新测试对相关的问题进行修复。

2. 提高代码质量。

单元测试能够沟通程序员和测试工程师之间的交流,帮助程序员在自己编写代码期间更好的理解和修复问题。

3. 保证代码的正确性。

单元测试可以对开发人员编写的代码进行不间断的测试,并可以及时发现和修正代码中的错误。

二、集成测试集成测试是将已经通过单元测试的模块或应用程序进行整合,进行测试,目的是验证集成后系统的功能、性能和稳定性等。

在集成测试中,需要针对软件系统组件之间的接口进行测试,并模拟系统的使用环境,检测系统是否可以正常运行。

为什么要进行集成测试?1. 确保软件各个模块的正确性。

在进行软件开发过程中,经常会涉及多个不同的软件模块,而每个模块在被集成到系统中时都需要经过严格的测试和验证。

基于集成测试结果,可以更好地确定每个模块的正确性和互操作性。

2. 检测软件系统的性能。

集成测试可以模拟用户场景并进行真实的仿真测试,检测系统是否具有足够的性能和可靠性,以满足用户需求。

3. 明确开发团队的阶段目标和成果。

单元测试和集成测试都是软件测试中非常必要的步骤,二者都有各自的重要性和价值。

单元测试是软件开发周期中的第一步,它可以快速捕获软件开发过程中的错误,减少重构的时间和成本。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-7
模块或构件接口
对模块接口的测试保证在测试时进出程序 单元的数据流是正确的,
接口名称,传入参数的个数、类型、顺序等是 否与模块接口匹配;
模块输出或返回值或类型是否正确。 重点关注模块之间的数据输入与输出,优先开
展穿越模块接口的数据流的测试。
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-8
局部数据结构
对局部数据结构的检查保证临时存储的数 据在算法执行的整个过程中都能维持其完 整性。
另外,应该测试局部数据结构,并在单元 测试时确认对于全局数据的局部影响执行。
单元测试与集成测试C0Cha20p2teSro5ftware
第五讲:单元测试与集成测试单元测试集成测试5-1提纲
导言 单元测试
单元测试考虑事项 单元测试规程 单元测试局限性
集成测试
自顶向下集成 自底向上集成 混合式集成 端到端集成测试
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-2
导言(1/2)
按阶段进行测试是一种基本的测试策略。
通常情况下,由开发者执行测试而不是由最 终用户执行测试,主要使用白盒测试技术, 并辅助使用黑盒测试技术,如边界值分析法。
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-6
单元测试考虑事项
单元测试对构件的五方面进行测试:
模块或构件接口; 局部数据结构; 边界条件; 独立路径; 处理错误的路径。
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-11
独立路径(2/3)
计算中常见的错误有: (1)误解的或者不正确的算术优先级; (2)混合模式的操作; (3)不正确的初始化; (4)精度不够精确; (5)表达式的不正确符号表示。
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-12
独立路径(3/3)
比较和控制流是紧密地耦合在一起的(也就是说, 控制流的转移是在比较之后发生的),测试用例应 当能够发现下列错误:
(1)不同数据类型的比较; (2)不正确的逻辑操作或优先级; (3)应该相等的地方由于精度的错误而不能相等; (4)不正确的比较或者变量; (5)不正常的或者不存在的循环中止; (6)当遇到分支循环的时候不能退出; (7)不适当地修改循环变量。
单元测试(大量使用白盒测试)。 集成测试(大量使用黑盒测试,白盒测试辅助); 系统测试(软、硬件环境) 确认测试(按照需求确认)
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-3
提纲
导言 单元测试
单元测试考虑事项 单元测试规程 单元测试局限性
集成测试
面向对象的设计:单元是类,可能是基/父类、 抽象类或派生/子类。
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-5
单元测试
使用构件级别的设计规格说明书作为指南, 对重要的控制路径进行测试以发现模块内的 错误。
重点放到内部处理逻辑和构件边界内的数据 结构。这种测试可以对多个构件并行进行。
对设计信息的复审可能能够为建立前面讨 论过的每一类错误的测试用例提供指导, 每一个测试用例都应当和一系列的预期结 果联系在一起。
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-16
单元测试规程 (2/5)
开发驱动器(driver)或/和程序桩(stub)。
在面向对象的程序里,模仿对象(mock objects)技术取代程序 桩(stub) 。模仿对象是以一种可控方式来模拟真实对象行为的仿 真对象。 (模仿外接数据源)
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-13
处理错误的路径 (1/2)
对所有处理错误的路径进行测试(Try Catch, Throw处理机制)。好的软件设计 中错误条件是可以预料的,而且当错误真 的发生的时候,错误处理路径被建立,以 重定向或者干脆终止处理。
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-17
单元测试规程 (3/5)
驱动器和程序桩都是单元测试中的额外的 开销,必须开发但又不和最终软件一起交 付。
驱动器和程序桩的简单程度反映了模块设 计高内聚、低耦合的程度。
Testing
5-9
边界条件
保证模块在所限定或约束处理的条件边界上能够 正确执行。
边界条件的测试是利用黑盒测试技术中的边界值 分析法。
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-10
独立路径 (1/3)
覆盖控制结构中的独立路径(基本路径) 。 关注循环测试。
但要避免把错误处理过程加到软件中去,但从 不进行测试。
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-14
处理错误的路径 (2/2)
在错误处理部分应当考虑的潜在错误:
(1)对错误描述费解。
(2)所报的错误与真正遇到的错误不一致。
(3)在错误处理之前错误条件先引起系统干 涉造成系统异常。
(4)例外条件处理不正确。
(5)错误描述没有提供足够的信息来帮助确 定错误发生的位置(程序设计中建立错误日志、 运行日志、出错信息表)。
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-15
单元测试规程 (1/5)
单元测试通常看成为是附属于编码步骤。 在源代码级的代码被开发、复审、和语法 正确性验证之后,单元测试用例设计就开 始了。
自顶向下集成 自底向上集成 混合式集成 端到端集成测试
单元测试与集成测试C0Cha20p2teSro5ftware
Testing
5-4
单元测试
单元测试(Unit testing)是对最小的软件设 计单元(模块或源程序单元)的验证工作。
面向过程的设计:一个单元可能是单独的程 序、函数、过程、网页以及菜单等。
相关文档
最新文档