TDD(测试驱动开发)iOS精品文章-单元测试测试员的那点事

单元测试之如何编写优秀的单元测试用例

2016-07-07  本文已影响3860人  桃子妈咪

这篇文章是结合"The Art of Unit Testing"一书及业内一些单元测试大牛们的总结整理而成。主要内容是实际工作中如何运用一些技巧和方法编写出可靠、可读、可维护的优秀单元测试用例。

优秀单元测试的定义

单元测试:一段** 自动化** 的代码 ,这段代码调用被测试的** 工作单元 ,之后对这个工作单元的 单个最终结果 的某些假设进行检验。单元测试几乎都是用 单元测试框架进行编写。单元测试容易编写快速运行可自动化可靠可读可维护结果稳定**。

集成测试:对一个工作单元进行的测试,这个测试对被测试的工作单元没有完全的控制,并使用该单元的一个或多个真实依赖物,例如数据库、系统时间、系统文件等

工作单元:从调用系统一个公共方法到产生一个测试可见的最终结果,其间这个系统发生的行为。一个工作单元既可以是小到只包含一个方法,也可以大到包含实现某功能的多个类或方法。

最终结果:是指被调用的公共方法返回一个值;或者在方法调用前后,系统的状态或行为有可见的变化,这种变化不需要查询私有状态即可判断;又或者是** 调用了一个不受测试控制的第三方系统 **,这个第三方系统不返回任何值,或者返回值已被忽略。

编写可靠的测试

所谓可靠性是指单元测试本身是正确的,即该失败的时候失败,该成功的时候成功。只有保证单元测试的可靠性,才能让开发人员信任该单元测试,不会为了以防万一进行调试等其他工作。
在"单元测试的艺术"中,作者给出了一些简单的原则和技术帮助编写可靠的测试。

编写可读的测试

单元测试可以看做是一个婉婉道来的故事,这个故事是讲给下一代开发者听,故事的内容就是这个应用程序的组成及其流程。既然是故事,就一定要形象生动,易于理解。那么可读性就是指如何确保其他开发者能够理解他们要做的工作,以便维护产品代码和测试。
单元测试的可读性其实和代码可读性在很多方面类似,下面就逐一讨论这些方面。

编写可维护的测试

可维护性是大多数单元测试面临的最大挑战。随着时间累计,单元测试似乎越来越难维护和理解,被测代码一个微小的改动,似乎都会使某个测试失败。那么怎么能够尽量降低可维护性的成本呢?

上一篇 下一篇

猜你喜欢

热点阅读