本节书摘来自异步社区《精通移动App测试实战:技术、工具和案例》一书中的第2章,第2.1节,作者 于涌 , 王磊 , 曹向志,更多章节内容可以访问云栖社区“异步社区”公众号查看
第2章 JUnit框架基础
精通移动App测试实战:技术、工具和案例
2.1 JUnit框架介绍
瀑布模型是最早出现的软件开发模型,如图2-1所示。该开发模型可以说在软件工程中占有重要的地位,它提供了软件开发的基本框架。其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容,给出该项活动的工作成果,并作为输出传给下一项活动。同时评审该项活动的实施,若确认,则继续下一项活动;否则返回前面,甚至更前面的活动。对于经常变化的项目而言,瀑布模型毫无价值。然而,时至今日,越来越多的用户需求已经不再是那么固定,而是在不断地变化,特别是在互联网、游戏行业表现更为突出。结合这种情况,越来越多的软件研发企业已经开始采用敏捷开发来适应不断变化的需求,加快软件研发的进度。敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。由此可见,在敏捷开发中,测试显得更加重要,选择一款适合单元测试工具尤为重要。
也许您听说过XUnit,它是一个基于测试驱动开发的测试框架,其为我们在开发过程中使用测试驱动开发提供了一个方便的工具,加快了单元测试速度。XUnit系列的单元测试工具有很多,如JUnit(针对Java)、DUnit(针对Delphi)、NUnit(针对.Net)和PythonUnit(针对Python)等。
JUnit由Kent Beck和Erich Gamma建立,是一个Java语言的单元测试框架。它越来越被广泛地应用于基于Java语言的单元测试中,多数Java的开发环境都已经集成了JUnit作为单元测试的工具。
Junit测试是由程序编写人员或专业的白盒测试人员针对源代码进行测试,因为程序编写人员或者白盒测试人员能够接触到源代码,了解程序的内部实现业务逻辑,知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。