什么是单元测试?

    技术2022-05-11  21

    单元测试是针对软件的最小模块进行正确性检验的测试工作。所谓最小模块,在OOP的范畴内,通常是指对象的方法。

    单元测试是程序员的一项基本职责和基本技能,直接影响到程序员的工作效率和软件的质量,

    也直接影响到团队的合作。试想以下的情形:

     

    某程序员提交了一段未经测试的代码,另外一个程序员checkout出来后,使得本地的代码无法正常运行,花费了很长的时间才发现是这段未经测试的代码的问题:影响了

    其他程序员的工作。

    某程序员的代码没有单元测试,过了一段时间发现程序运行异常,经过艰苦排查,发现是这段代码的问题,于是修复了漏洞;又过了一段时间,发现了另外一个bug,于是修复了这个新发现的bug;但是在修复这个bug的时候,导致了上次发现的bug重现(当时没有发现这个问题,因为一般只是对刚刚修复的bug作简单的测试):这是一个恶性循,一个bug的修复导致了另外一个bug的出现而不自觉。

    单元测试的好处也是显而易见的:

    提高了整个团队的工作效率。有质量的代码是对整个团队的贡献。

    提高了程序员的责任心和代码的质量。通过单元测试,保证自己的代码是可靠的和完整的,这是对自己负责,也是对团队负责。

    单元测试的内容单元测试主要分为人工静态检查和动态(自动)执行跟踪检查。

    人工静态检查人工静态检查的主要目的是保证:

    正确性,能够实现预期的功能。

    清晰性,代码简明易懂,注释没有歧义。

    规范性,代码的格式、命名等符合公司的编码规范和代码风格。

    高效性,代码的执行效率尽量高。

    以上的检查目标的优先级是从高到底的。

    自动跟踪检查自动跟踪检查是我们研究的重点。所谓自动跟踪检查,是指通过单元测试工具,编写单元测试的类和方法。当执行测试类和方法时,自动对设定的输入条件进行计算,并给出测试的结果。

    通过自动跟踪测试,我们能够将发现的每个bug或者能够想到的未来可能的bug写进测试类和方法中。这样只要运行测试类,就能够有效的发现bug是否仍然存在,或者已经修复的bug是否又“死灰复燃”。

    自动跟踪检查方式的单元测试是XP核心理念之一。单元测试和每日构建技术的结合,能够保证整个开发过程平滑顺利的推进。

     


    最新回复(0)