自动化测试-细聊单元测试框架基础

Posted 测试萌萌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化测试-细聊单元测试框架基础相关的知识,希望对你有一定的参考价值。

今天的文章会从以下几个方面来细说:

测试的分层体系

单元测试的概念

单元测试的框架

咱就不废话了,开始吧。

一、测试分层体系

主流的测试分层体系可以分为:

单元测试、

接口测试、

界面测试。


单元测试

粒度最细,外部依赖少,主要检查最小模块的代码,逻辑性;

接口测试

相对界面测试成本较低,测试模块与模块之间的组合与关联;

界面测试

最为直观,但成本高,外部依赖多,实施起来最困难,接口测试和界面测试保证了产品的质量和数据验证。

二.单元测试

咱们今天的主角是单元测试,所以呢主角要出场了。

对于面向对象语言,单元是一个类;

单元其实就是程序最小的模块,也可能是一个函数。

总而言之, 单元测试指人为规定的最小被测功能模块。

三.单元测试框架

框架:框架可以理解为一种模型,一种行为的核心骨架,是可以重复照着使用的。

单元测试框架:其实就是我们在进行单元测试的一种模式

单元测试框架一般分为以下几种核心功能:

1、提供用例组织与执行:

测试用例只有几条时,可以不考虑用例组织,但是用例达到成百上千时,大量的测试用例堆砌在一起,就产生了扩展性与维护性等问题!

比如:测试夹具,测试套件

2、提供丰富的断言方法

在用例执行完之后都需要将实际结果与预期结果相比较(断言),从而断定用例是否执行通过。单元测试框架一般提供丰富的断言方法。

3、提供丰富的日志

四、目前主流的单元测试框架

1、unittest

(Python 标准库)

单元测试框架

UnitTest是Python自带的一个单元测试框架,用它来做单元测试。

也经常应用到UI自动化测试和接口自动化测试中,用来管理和维护测试用例脚本。

优点:

  1. 能够组织多个用例去执行(可以把多条测试用例封装成一个测试套件,实现批量执行测试用例)

  2. 提供了丰富的断言方法,方便对用例执行的结果进行判断

  3. 能够生成html格式的测试报告

2、pytest

一个成熟的全功能 Python单元测试框架

pytest 是 python 的第三方单元测试框架,比自带 unittest 更简洁和高效,支持非常丰富的插件,同时兼容 unittest 框架。这就使得我们在 unittest 框架迁移到 pytest 框架的时候不需要重写代码。

优点:

1、简单灵活,容易上手

2、支持参数化

3、能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appium等自动化测试,接口自动化测试(pytest+request)

4、pytest具有很多第三方插件,并且可以自定义扩展,

3、JUnit

junit是一个Java语言的单元测试框架,用于编写和运行可重复的测试。

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。

那么,如果大家问我新手应该选择哪个测试框架呢?小编的推荐当然是简单又好玩,功能又多的pytest啦。当然大家也可以结合实际情况去选择,其实除了上面小编介绍的以外,还有很多的框架,评论区可以留言,你工作中用的是什么框架呢,可以跟大家推荐一下,或者你想了解哪个框架的更多内容呢,都可以在评论区留言。

好了,今天就更新到这了,喜欢的小伙伴不要忘记点赞了哦!

最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

以上是关于自动化测试-细聊单元测试框架基础的主要内容,如果未能解决你的问题,请参考以下文章

单元测试框架-Unittest

Selenium基于Python web自动化基础二 -- 免登录等待及unittest单元测试框架

《selenium2 python 自动化测试实战》(21)——unittest单元测试框架解析

Web自动化测试:Unittest单元测试框架

《手把手教你》系列基础篇(七十二)-java+ selenium自动化测试-框架设计基础-TestNG简单介绍(详解教程)

单元测试基础知识