软件测试小白必备笔记(五)单元测试

前言

今天继续给大家分享软件测试入门笔记第五弹-单元测试,喜欢的朋友记得点个关注支持一下

单元测试通常是作为软件测试中基础的测试类型,用于测试单独的模块是否可以正常工作。它于功能测试不同,它更加关注的是代码内部的逻辑,而非是用户的需求。

单元测试定义

前面粗略了介绍了单元测试的定义,详细的解释是:单元测试也称为模块测试或组件测试。在软件开发过程中,检查软件的单个单元或模块是否正常工作,它是由开发人员在开发人员的环境中完成的。


软件测试通常划分为四个层次,每个层次都会去验证软件产品的功能,质量和性能指标。它们是:单元测试,集成测试,系统测试和验收测试。

单元测试的目标

隔离代码的每个部分。

确保单个模块功能正确。

在开发周期的早期,发现代码缺陷。

早期介入,以节省测试成本。

允许开发人员在以后重构或升级代码。

单元测试的优势

它在产品开发周期的早期发现问题。因此它降低了测试成本,早发现一个缺陷的成本要比晚发现它的成本低得多。

在改变现有功能(回归测试)时,它同时可以保证减少缺陷。

它简化了调试过程(测试驱动开发就是基于测试用例来完成功能开发)。调试是在程序中发现并解决妨碍软件正确运行的缺陷的过程。当实现单元测试时,发现测试失败时,只需要调试代码中所做的更改,就可以快速定位到错误。

由于更好的编码标准和实践,它给组织提供了更好的代码文档。

单元测试的内容

单元测试的方法

通常单元测试是使用白盒测试的方法

单元测试的类型

单元测试可以是手动测试或者是自动化测试

什么时候执行单元测试

它作为测试层次的第一层,通常是在集成测试之前完成。

单元测试有谁执行

它需要由对于代码内部逻辑熟悉的人执行,通常是开发或者是白盒测试人员。

单元测试有哪些具体的任务

首先需要准备单元测试计划:

准备测试计划

回顾测试计划

修订测试计划

定义单元测试计划的基准数据

其次是要准备测试用例和脚本:

准备测试环境和测试用例和脚本

回顾测试用例和脚本

修订测试用例和脚本

定义单元测试用例和脚本的基准数据

最后是单元测试的执行。

我的学习交流群:573261842 ,欢迎大家加群讨论,群里有技术大牛一起交流分享~

单元测试的工具

市面上有很多单元测试的工具,它们可用于协助单元测试。具体的单元测试的工具的选择还是要根据项目的具体情况决定,比如说项目的具体技术栈,是否可以重用已有的单元测试工具等。我们将提供以下几个示例:

Junit:

Junit的目标是为JVM开发人员开发一个基础测试的测试框架。这包括关注java 8和更高版本,以及支持多种不同风格的测试。

TestNG:

TestNG是一个受JUnit和NUnit启发的测试框架,但是它引入了一些新的功能,这些功能使它更加强大和易于使用,例如:

注释。

使用各种可用的策略在任意大的线程池中运行测试(所有方法都在自己的线程中,每个测试类一个线程,等等)。

测试您的代码是否是多线程安全的。

灵活的测试配置。

支持数据驱动测试(使用@dataprovider)。

参数支持。

强大的执行模型(不再是TestSuite)。

由各种工具和插件(eclipse、idea、maven等)支持。

嵌入BeanShell以获得更大的灵活性。

运行时和日志记录的默认JDK函数(无依赖项)。

应用服务器测试的依赖方法。.

NUnit:

它是.net语言的单元测试框架。最初是从JUnit移植而来的,目前的产品版本3已经被完全重写了,它有许多新特性,并且支持各种各样的.NET平台。

xUnit.net:

xUnit.net是一个免费的、开源的、面向社区的.net框架单元测试工具xunit.net是由nunit v2的原始发明者编写的,它是用于c、f、vb.net和其他.net语言单元测试的最新技术。xunit.net与resharper、coderash、testdriven.net和xamarin一起工作。它是.NET基金会的一部分,根据他们的行为准则运作。它是根据Apache 2(OSI批准的许可证)授权的。

JMockit:

JMockit是开源的单元测试工具jmockit是一个用于开发人员测试的java工具包,包括模拟api和代码覆盖工具。

EMMA

EMMA是一个用于测量和报告java代码覆盖率的开源工具包。EMMA支持大规模的企业软件开发,同时保持单个开发人员的快速工作和迭代团队中的每个开发人员现在都可以免费获得代码覆盖率,最主要的是可以很快的获得覆盖率!

PHPUnit

PHPUnit是一个面向程序员的php测试框架。它是单元测试框架的xunit架构的一个实例。

Cantata:

Cantata是一个单元和集成测试工具,使开发人员能够在本地和嵌入式目标平台上验证标准兼容或业务关键代码。

Cantata通过自动化,帮助加速符合标准的动态测试要求:

测试框架生成

测试用例生成

测试执行

结果诊断和报告生成

TestComplete:

TestComplete是一个适用于多种应用类型和技术的自动化测试环境,包括(但不限于)Windows、.NET、WPF、Visual C++、Visual Basic、Delphi、C++Builder、Java和Web应用程序和服务。

Mocha:

Mocha是一个功能丰富的javascript测试框架,运行在node.js和浏览器中,使异步测试变得简单有趣。MOCA测试连续运行,允许灵活且准确的报告,同时将异常异常映射到正确的测试用例。托管在github上。

Jasmine:

Jasmine是一个用于测试JavaScript代码的行为驱动开发框架它不依赖于任何其他JavaScript框架它不需要dom。而且它有一个干净、明显的语法,所以您可以轻松地编写测试。

总结

单元测试作为测试的第一层次,被很早引入项目。所以在项目开始前,我们同时需要对单元测试的技术选型和测试案例的计划进行准备。这样才可以在项目研发阶段,同时实现单元测试,以保证功能模块的功能。如果大伙有关于单元测试的一些看法,也请留言区回复和分享。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容