首页 > 编程知识 正文

免费单元测试工具,单元测试技术包括哪些

时间:2023-05-03 16:36:19 阅读:153945 作者:546

1、单元测试的基本方法

单元测试的基本方法是人工静态分析、自动静态分析、自动动态测试、人工动态测试。

静态分析:手动阅读代码以查找错误。 一般来说,程序员交叉检查对方的代码时,可能会出现特征错误和没有特征错误。

自动静态分析:使用工具扫描代码,并根据一些预设错误特性来发现和报告代码中的潜在错误。 自动静态分析只能发现语法特性的错误。

动态测试自动化:使用工具自动生成测试用例,运行被测程序,通过捕获特定行为特性(如发生异常/程序崩溃)发现并报告错误。 自动动态测试只能发现动作特性的错误,对于无特征的错误完全无能为力。 例如,如上所述,代码最简单,错误也最简单,但尚未发现自动动态测试。 因为测试工具不能自动理解代码的功能。

手动测试:手动设置程序输入和预期的正确输出,运行程序,判断实际输出是否符合预期,否则自动报告错误。 这里所说的“人工”仅意味着测试用例的输入和预期输出是人工设置的,其他工作可以人工完成,也可以通过工具自动完成。 动态测试表明有特征错误和无特征错误。 例如,在上面的加法函数中,通过手动创建测试用例,输入两个1,确定输出是否等于2并运行测试,可以看到代码中包含错误。

以上四种方法可以进一步细分。 例如,要手动动态测试,有几种方法可以设计测试用例。 如果要根据程序功能设计测试用例,则为黑匣子测试;如果要根据代码和代码的逻辑结构设计测试用例,则为白匣子测试。

2、选择测试方法

工作中是不是不分轻重一次做各种测试方法? 很明显不行。 项目工期和预算不允许这样做,也不符合利润原则。 选择一种方法作为主要测试方法,其他应根据情况进行取舍。

自动分析、自动动态测试只能检测到特征错误。 虽然这两种方法的组合尽最大努力仅用于检测特征错误,但许多语法特征错误编译器仍在开发中或在集成测试和系统测试中自动检测到许多动态特征错误,因此这两种方法是主要的测试方法

静态分析可能会发现有特征错误和无特征错误,但要彻底找出所有错误显然太难了。

人工测试可以发现无特征错误和特征错误,且具有广阔的发挥空间,可以作为主要的测试方法。

3、黑盒测试和白盒测试

经常被说“单元测试是白盒测试”、“单元测试也是黑盒”等,容易引起混乱。 黑匣子和白匣子其实是一种测试方法,黑匣子是对系统外部特性进行测试,将目标系统视为一个黑匣子,不考虑内部结构; 白盒是指测试系统的内部结构。 可以在各个测试阶段使用黑盒方法和白盒方法,即单元测试、集成测试、系统测试阶段也可以使用黑盒方法和白盒方法。

黑匣子测试也称为功能测试,首先测试程序是否实现了基本功能。 因此,黑匣子测试是基本测试。 黑盒测试的主要缺点是完整性难以测量,而白盒测试正好可以弥补缺点。

白盒测试具有用逻辑覆盖率测量完整性,能够准确统计的数字指标。 逻辑单位主要是句子、分支、条件、条件值、条件值的组合、路径。 语句覆盖是指覆盖所有语句,是其他类推。 另一个判定条件覆盖实际上是分支覆盖和条件覆盖的组合。 有关条件的覆盖有三种。 我来解释。 条件覆盖是指覆盖所有的条件式。 这意味着所有表达式都至少计算一次,而不考虑计算结果。 条件值覆盖是指所有可能覆盖条件的值,每个条件的真值和假值必须至少计算一次的条件值组合覆盖是指覆盖所有条件取值的所有可能组合。 与条件直接相关的错误主要是逻辑算子的错误。 例如,||书写、漏写! 什么,采用分支盖和条件盖的组合,基本上都可以发现这些错误,但条件值盖和条件值组合盖需要大量的测试用例,导致条件值盖和条件值组合盖的有效成本比低,比较有价值的复盖率是语句或短语

4、测试用例

手动测试需要手动设计测试用例。 一种测试用例是设定输入数据,运行被测程序,判断输出是否符合预期。 如果输出符合预期,则测试通过,否则测试失败。 一般来说,测试工具必须能够自动报告失败的测试。

测试用例的主要内容是输入数据和预期输出,简称输入输出,其中以输入为核心,输入确定,根据程序功能设定预期的正确输出。

如果将函数视为测试单元,则输入数据是被测试函数读取的外部数据和这些数据的初始值。 对于被测试函数来说,“外部数据”是除局部变量以外的数据,被分类为参数、成员变量、全局变量、IO介质。 IO介质是指用于存储或传输文件、数据库或数据的任何其他介质。 例如,如果测试的函数从文件或数据库中读取数据,则文件或数据库中的原始数据也是输入数据。

31/3123

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。