单元测试实践的主要问题与解决

开发 测试
本文通过简单的介绍单元测试以及通过单元测试的基本方法来解决一些问题,详细请看下文

本文是我在“第十届中国系统与软件过程改进年会广东会场”所作演讲的整理稿,主要分享单元测试的一些要点、单元测试实践的主要问题,以及如何来解决这些问题。

一、     单元测试概述

1.1 什么是单元测试

单元测试,就是针对代码单元的独立测试。为什么需要单元测试呢?这是代码的基本特性决定了的。代码有一个基本特性,就是对数据分类处理。

代码通常会有很多的判定。一个判定,就是一次分类。嵌套的判定,会使分类次数的翻倍。

[[101279]]

如果我们在写代码的时候,有一个分类漏掉了,就会产生一个Bug;如果一个分类,虽然写了代码,但是处理不正确,也会产生一个Bug。一个函数要没有错误,必须做到两点:1,对数据的分类必须完整;2,每一个分类的处理必须正确。做到了这两点,就可以说,代码的功能逻辑是正确的。

[[101280]]

那么,如何检测代码的功能逻辑是否正确呢?

调试,是临时的,且不完整的,例如,一个函数有十种输入,调试能覆盖五六种就不错了。而系统测试,并不针对某个具体的函数,不关注某个函数的功能逻辑是否正确。

要检测某个函数的功能逻辑,就必须要依照分类列出数据,检测代码是否对每一个分类都做了处理,而且每一个分类的处理是否正确。

——这就是单元测试。

1.2 单元测试的基本方法

由上面的分析可以看出,单元测试的基本方法就是:依数据的分类列出输入,执行被测试程序,然后,判断输出是否符合预期。

[[101281]]

单元测试能达到什么样的效果呢?那就是:无论别人怎么样,我总是对的!

这里的“别人”,是指关联代码。“我”,是指当前正在编写或测试的代码。单元测试要做到的是,无论关联代码是否有错,都要保证我是对的。具体来说,我要考虑关联代码会产生什么样的数据,这些数据要如何分类处理,只要我的分类和处理是正确的,那么,无论别人怎么样,我总是对的。

[[101282]]

原文链接:http://blog.csdn.net/dellfox/article/details/7018181

责任编辑:林师授 来源: dellfox的博客
相关推荐

2016-10-20 12:34:08

android单元测试java

2017-02-21 10:30:17

Android单元测试研究与实践

2017-01-14 23:42:49

单元测试框架软件测试

2022-04-08 09:01:56

脚本Go应用单元

2011-11-18 15:18:41

Junit单元测试Java

2009-09-01 10:20:06

protected方法单元测试

2017-04-12 16:22:35

政务云

2023-07-26 08:58:45

Golang单元测试

2017-04-07 13:45:02

PHP单元测试数据库测试

2011-05-16 16:52:09

单元测试彻底测试

2010-02-07 15:42:46

Android单元测试

2017-01-14 23:26:17

单元测试JUnit测试

2017-01-16 12:12:29

单元测试JUnit

2022-05-12 09:37:03

测试JUnit开发

2011-06-14 15:56:42

单元测试

2020-08-18 08:10:02

单元测试Java

2020-06-23 08:37:11

物联网工业技术

2022-08-05 09:30:57

单元测试C++

2011-07-04 18:16:42

单元测试

2020-05-07 17:30:49

开发iOS技术
点赞
收藏

51CTO技术栈公众号