单元测试之Junit4详解(真)
- 正文
- 开始是一些概念性的知识点,可以了解一下,不感兴趣可以直接跳到Junit的讲解中
代码测试
- 按是否查看程序内部结构分为
- 黑盒测试(black-box testing):只关心输入和输出的结果,黑盒测试分为功能测试和性能测试
- 白盒测试(white-box testing):去研究里面的源代码和程序结构
- 按是否运行程序分为:静态测试、动态测试
- 静态测试(static testing):是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档可能存在的错误的过程。包括:
- 对于代码测试,主要是测试代码是否符合相应的标准和规范。
- 对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。
- 对于文档测试,主要测试用户手册和需求说明是否真正符合用户的实际需求。
- 动态测试(dynamic testing):是指实际运行被测程序,输入相应的测试数据,检查输出结果和预期结果是否相符的过程
- 按阶段划分:
- 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。
桩模块(stud)是指模拟被测模块所调用的模块,驱动模块(driver)是指模拟被测模块的上级模块,驱动模块用来接收测试数据,启动被测模块并输出结果。 - 集成测试(integration testing),是单元测试的下一阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部门。
集成测试就是用来检查各个单元模块结合到一起能否协同配合,正常运行。 - 系统测试(system testing),指的是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。
系统测试的主要依据是《系统需求规格说明书》文档 - 验收测试(acceptance testing),指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序
验收测试又分为a测试和beta测试,其中a测试指的是由用户、 测试人员、开发人员等共同参与的内部测试,而beta测试指的是内测后的公测,即完全交给最终用户测试
什么是单元测试
- 维基百科定义简化版如下:
- 单元测试 是针对 程序的最小单元 来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。一个单元可能是单个程序、类、对象、方法等。 ——维基百科
- 单元测试的分类
- 本地测试(Local tests): 只在本地机器JVM上运行,以最小化执行时间,这种单元测试不依赖于Android框架,或者即使有依赖,也很方