十分钟了解单元测试

 一、单元测试

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),同样可以适用于其他开发方法和过程。

优点:在任意一个开发 节点都可以拿出一个可以使用,含少量bug并具一定功能和能够发布的产品。
缺点:增加代码量。测试代码是系统代码的两倍或更多,但是同时节省了调试程序及挑错时间。

猜你喜欢

转载自www.cnblogs.com/ljj5/p/9752466.html