如何进行单元测试 上 单元测试工具
摘要:单元测试是软件测试的基础,本文详细的论述了单元测试的两个步骤人工静态检查法与动态执行跟踪法,所需执行的工作项目及相关的策略和方法。通过对这两个步骤的描述作者将多年的单元测试经验及测试理论注入于全文。
1 概述
单元测试是针对软件设计的最小单位——程序模块,进行正确性检验的测试工作。其目的在于发现每个程序模块内部可能存在的差错。
单元测试也是程序员的一项基本职责,程序员必须对自己所编写的代码保持认真负责的态度,这是也程序员的基本职业素质之一。同时单元测试能力也是程序员的一项基本能力,能力的高低直接影响到程序员的工作效率与软件的质量。
在编码的过程中作单元测试,其花费是最小的,而回报却特别优厚的。在编码的过程中考虑测试问题,得到的将是更优质的代码,因为在这时您对代码应该做些什么 了解得最清楚。如果不这样做,而是一直等到某个模块崩溃了,到那时您可能已经忘记了代码是怎样工作的。即使是在强大的工作压力下,您也还必须重新把它弄清 楚,这又要花费许多时间。进一步说,这样做出的更正往往不会那么彻底,可能更脆弱,因为您唤回的理解可能不那么完全。
通常合格的代码应该具备以下性质:正确性、清晰性、规范性、一致性、高效性等(根据优先级别排序)。
1. 正确性是指代码逻辑必须正确,能够实现预期的功能。
2. 清晰性是指代码必须简明、易懂,注释准确没有歧义。
3. 规范性是指代码必须符合企业或部门所定义的共同规范包括命名规则,代码风格等等。
4. 一致性是指代码必须在命名上(如:相同功能的变量尽量采用相同的标示符)、风格上都保持统一。
5. 高效性是指代码不但要满足以上性质,而且需要尽可能降低代码的执行时间。
2 单元测试步骤
在代码编写完成后的单元测试工作主要分为两个步骤人工静态检查和动态执行跟踪。
人工静态检查是测试的第一步,这个阶段工作主要是保证代码算法的逻辑正确性(尽量通过人工检查发现代码的逻辑错误)、清晰性、规范性、一致性、算法高效性。并尽可能的发现程序中没有发现的错误。
第二步是通过设计测试用例,执行待测程序来跟踪比较实际结果与预期结果来发现错误。经验表明,使用人工静态检查法能够有效的发现30%到70%的逻辑设计 和编码错误。但是代码中仍会有大量的隐性错误无法通过视觉检查发现,必须通过跟踪调试法细心分析才能够捕捉到。所以,动态跟踪调试方法也成了单元测试的重 点与难点。
3 人工检查
通常在人工检查阶段必须执行以下项目的活动:
第一、 检查算法的逻辑正确性;确定所编写的代码算法、数据结构定义(如:队列、堆栈等)是否实现了模块或方法所要求的功能。
第二、 模块接口的正确性检查;确定形式参数个数、数据类型、顺序是否正确;确定返回值类型及返回值的正确性。
文章来源于领测软件测试网 https://www.ltesting.net/