天天看点

在软件开发流程中运用单元测试和功能测试

  测试和软件开发过程

  作为一个开发人员来讲,测试是相当重要的,我们必须要坚持在整个软件开发流程中测试我们的代码,而不仅仅把测试作为软件开发的一个特殊阶段的产物:测试绝对不应该成为你在软件提交前一天才开始的一个例行公事。你怎么才能知道我们的软件已经可以发布了?你怎么知道我修正了这个小bug的时候没有引发一个更严重的系统bug?你怎么知道当前的系统是否可以扩展一些现在没有想到功能呢?测试!单元测试和功能测试必须成为我们在软件开发流程中的一个有机组成部分。

  单元测试应该成为你写代码的一个核心部分,尤其是在项目时间比较紧张但是我们仍然要保证质量的时候。单元测试十分重要,你甚至应该在你的代码写出来之前就应该完成单元测试。

  单元测试:

  -》有助于尽可能地重现最有效的设计

  -》有助于提供一个最佳的文件组织结构

  -》有助于确定一个类是否完成

  -》让开发人员对自己的代码充满信心

  -》是快速重构的基础

  单元测试有助于形成系统化的并可以不断改进的设计文档,这些文档在软件开发的过程中有着极其重要的意义。大多时候将用例文档化形成一个类要比仅仅罗列一大堆编码的实际用例好,看看单元测试:它提供一系列有规律的输入或数据,用一系列的实际用例来告诉我们所写的类做了些什么。这样的话这个设计文档就总是最新的,因为我们必须通过单元测试。

  你应该在写代码之前写单元测试,这样做的好处就是为自己提供了一个可以测试的设计方案,这就可以帮助你想的更加完善,这样会使设计变得简单。你不必担心将来会怎样,也不必花时间去实现一些不必要的功能。首先写单元测试还有助于帮你了解代码在什么时候完成:当所有的测试都通过之后,我们的任务也就完成了。

  最后,单元测试让你对自己代码有高度的自信,这有助于我们做出更加好的产品。当你修改了自己的代码之后,我们来运行我们的测试,如果有问题的话我们可以迅速找出来我们的修改产生了在什么地方哪些破坏。

  功能测试甚至比单元测试更加重要,因为它是用来检测我们的系统是否达到可以发布的要求。功能测试是用来确定我们的系统是否是一个可用的系统。

  功能测试:

  -》确定是否实现用户需求的一个有效方法

  -》让用户和开发人员了解到我们的系统已经实现了这些用户需求

  功能测试可以检查出单元测试遗留下的一些软件缺陷,让开发人员对自己的代码更加有信心,因为单元测试仍然会遗留下很多bug,它可能会覆盖到代码的各个部分但是却不能覆盖到系统的各个部分。功能测试可以揭露一些单元测试没有涉及的问题。当然一个自动化的可持续运行的功能测试不可能找出系统中的所有问题,但它可以找出更多的单元测试找不到的bug。

====================================分割线================================

最新内容请见作者的github页:http://qaseven.github.io/

继续阅读