自动化测试-细聊单元测试框架基础
Posted 测试萌萌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化测试-细聊单元测试框架基础相关的知识,希望对你有一定的参考价值。
今天的文章会从以下几个方面来细说:
测试的分层体系
单元测试的概念
单元测试的框架
咱就不废话了,开始吧。
一、测试分层体系
主流的测试分层体系可以分为:
单元测试、
接口测试、
界面测试。
单元测试
粒度最细,外部依赖少,主要检查最小模块的代码,逻辑性;
接口测试
相对界面测试成本较低,测试模块与模块之间的组合与关联;
界面测试
最为直观,但成本高,外部依赖多,实施起来最困难,接口测试和界面测试保证了产品的质量和数据验证。
二.单元测试
咱们今天的主角是单元测试,所以呢主角要出场了。
对于面向对象语言,单元是一个类;
单元其实就是程序最小的模块,也可能是一个函数。
总而言之, 单元测试指人为规定的最小被测功能模块。
三.单元测试框架
框架:框架可以理解为一种模型,一种行为的核心骨架,是可以重复照着使用的。
单元测试框架:其实就是我们在进行单元测试的一种模式
单元测试框架一般分为以下几种核心功能:
1、提供用例组织与执行:
测试用例只有几条时,可以不考虑用例组织,但是用例达到成百上千时,大量的测试用例堆砌在一起,就产生了扩展性与维护性等问题!
比如:测试夹具,测试套件
2、提供丰富的断言方法
在用例执行完之后都需要将实际结果与预期结果相比较(断言),从而断定用例是否执行通过。单元测试框架一般提供丰富的断言方法。
3、提供丰富的日志
四、目前主流的单元测试框架
1、unittest
(Python 标准库)
单元测试框架
UnitTest是Python自带的一个单元测试框架,用它来做单元测试。
也经常应用到UI自动化测试和接口自动化测试中,用来管理和维护测试用例脚本。
优点:
-
能够组织多个用例去执行(可以把多条测试用例封装成一个测试套件,实现批量执行测试用例)
-
提供了丰富的断言方法,方便对用例执行的结果进行判断
-
能够生成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(里面有各种软件测试资源和技术讨论)
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
以上是关于自动化测试-细聊单元测试框架基础的主要内容,如果未能解决你的问题,请参考以下文章
Selenium基于Python web自动化基础二 -- 免登录等待及unittest单元测试框架
《selenium2 python 自动化测试实战》(21)——unittest单元测试框架解析
《手把手教你》系列基础篇(七十二)-java+ selenium自动化测试-框架设计基础-TestNG简单介绍(详解教程)