十分钟了解单元测试
一、单元测试
1、什么是单元测试?
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。
单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
2、单元测试的分类有哪些?
软件测试可以按测试范围、测试目的、测试对象、测试过程分类
按测试范围分类 | 按测试目的分类 | 按测试对象分类 | 按测试过程分类 | 其他测试技术 |
单元测试unit testing 组件测试component testing 集成测试integration testing,string testing 系统测试system testing 验收测试acceptance testing,beta testing 安装测试installation testing |
A、正确性测试correctness testing 白盒测试white-box 黑盒测试black-box B、性能测试performance testing C、可靠性测试reliability testing 强壮性测试robustness,strong testing 异常处理测试exception handing testing 负载测试stress,load testing D、安全性测试security testing |
单元测试unit testing 组件测试component testing 模块测试module testing 程序测试program testing 系统测试system testing 文档测试documentation testing |
需求阶段的测试requirements phase testing 设计阶段的测试design phase testing 程序阶段的测试program phase testing 测试结果的评估evaluating test results 安装测试installation phase testing 验收测试acceptance testing 测试变化:维护testing changes:maintenance |
回归测试regression testing 压力测试stress testing 恢复测试recovery testing 安全测试security testing 兼容性测试compatibility testing |
3、单元测试的作用是什么?
单元测试(Unit Testing),是指对软件或项目中最小可测试单元进行正确性检验的测试工作。单元是人为规定最小可测试的功能模块,可以是一个模块,一个函数或者一个类。单元测试需要与模块开发进行隔离情况下进行测试。
测试通常是开发人员比较厌烦的一个活动,不清楚它的意义所在,也会有人觉得它会浪费时间。有很多开发人员不知道如何编写单元测试,也会由于项目中没有要求的原因,所以对此就不Care,也会常常认为开发人员的主要工作是开发,测试是测试人员的事情。这是一种普遍现象。
4、常见的单元测试框架有哪些?
除了我们常见的JUnit,还有Arquillian、JTEST、The Grinder、TestNG、JWalk、Mockito、Powermock,在这里就不一一介绍了,
大家可以去https://www.sohu.com/a/145107423_731023看一下
5、简述JUnit与TestNG区别
在junit3的时候,testng和junit还是有点差别的,比如它不支持注解,它不支持套件suite,它 不能依赖测试,它只适合支持单元测试,但是随着时间的推移,这些东西慢慢被完善,差别也不是那么明显了,连语法都是那么惊人相似。所以你学习junit4就行了
6、什么是TDD?他有那些优缺点?
TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程。