0371-55933772 微信:15303711384

郑州博为峰软件测试培训学校

择优推荐郑州十大软件测试培训机构榜首今日公布

来源:郑州博为峰软件测试培训学校 发布时间:2023/9/28 17:07:09

  择优推荐郑州十大软件测试培训机构榜首今日公布,郑州博为峰IT教育专注软件测试培训10+年,为外7000+就业合作企业输送了约6W名软件测试,每一名学员的就业信息真实可查,18所校区常年招生,提供软件测试就业培训、测试开发,及自动化、性能、接口、大数据等专项测试课程,就业/晋升才是硬道理!

  什么是单元测试

  单元测试是针对代码单元的独立测试。要测试代码单元,首先要其使能够独立运行。项目中的代码具有依赖关系,例如,一个源文件可能直接或间接包含大量头文件,并调用众多其他源文件的代码,抽取其中的一个或一组源文件,一般是无法独立编译运行的。这就要用技术手段进行隔离,即将测试任务与其他代码隔离,必要时还要与依赖系统隔离。此外,并行开发过程中,边开发边测试,还需补齐尚未实现但需调用的代码。

  1、与其他代码隔离

  与其他代码隔离的一般方式是打桩,桩是用来代替实际代码的简单代码,打桩就是编写或生成桩代码。例如,函数A调用了函数B,函数B又调用了函数C和函数D,如果函数B用桩来代替,那么,函数A就可以完全切断与函数C和函数D的关系。

  如果项目有1000个源文件,一位工程师负责测试其中50个,这50个源文件就是测试任务。是不是需要将其他950个源文件的代码都打桩呢?不是的。

  与测试任务关系密切的底层或相关源文件应该直接加入编译,不要打桩,测试时可以调用实际代码,这些源文件称为外围文件。特别是,有些测试数据需要调用现有代码来生成,这些代码所在的文件应作为外围文件。

  其他文件也不需要全部打桩,只有与测试任务和外围文件有关联的代码才需要打桩。自动化测试工具可以根据代码之间的关系,自动识别需打桩的代码。手工测试方式,则可以利用编译器来识别需打桩的代码。将测试任务和外围文件加入测试工程后编译,对于需打桩的函数或全局变量,编译器会报告“符号未定义”链接错误(如VC系列的LNK2005错误)。

  2、与依赖系统隔离

  与依赖系统隔离常见于跨平台测试,例如在PC上测试嵌入式项目。单元测试是针对代码单元的独立测试,主要检测代码功能逻辑,平台设备可以抽象为功能逻辑的组成部分,例如嵌入式设备的端口、寄存器可以视为全局变量,嵌入式操作系统API可以视为一般的底层函数调用,因此,嵌入式项目可以跨平台测试。跨平台测试一般要解决两个问题:编译差异和平台差异。

  跨平台测试可能要使用与开发环境不同的编译环境来编译测试代码,这就可能产生编译差异,例如,有些嵌入式编译器自定义了非标准的特殊关键字,或支持非标准的代码片断,这些特殊关键字和代码片断,一般与功能逻辑无关,测试时可以屏蔽。测试工具可以自动完成这些工作。手工测试方式,则可以利用宏来实现屏蔽。

  平台差异主要表现在基本数据类型的长度差异,例如,int类型在有些嵌入式开发环境下是16位的,而在一般编译器下是32的。测试工具可以转定义关键字,解决这种差异。手工测试方式,则可以利用宏来实现转定义。

  总的来说,独立运行是比较容易解决的,例如打桩,就是一种简单的技术,并且可以用工具自动生成桩代码。真正困难的是覆盖输入问题。

领取试听课
每天限量名额,先到先得
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
  • 详情请进入 郑州博为峰软件测试培...

关于我们 | 招生信息 | 新闻中心 | 学校动态

版权所有:搜学搜课(www.soxsok.com)