| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 开发测试 -> 单元测试、集成测试、功能测试——Unittest -> 正文阅读 |
|
|
[开发测试]单元测试、集成测试、功能测试——Unittest |
——单元测试?颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”;是指 对软件中的最小可测试单元进行检查和验证 集成测试?介于单元测试和系统测试之间,一般由开发小组采用白盒+黑盒的方法来测试,即验 证“设计”又验证“需求”。主要用来测试模板与模板之间的接口,同时还要测试一些主要 的业务功能。 功能测试?颗粒度最大,一般由独立的测试小组采用黑盒的方式来测试,主要测试系统是否符合“需求 规格说明书 什么是白盒测试,什么是黑盒测试?白盒: ????????主要应用于单元测试阶段,主要是对代码级别的测试,针对程序内部的逻辑结构。测试 的手段有:语句覆盖、判定覆盖、条件覆盖、路径覆盖和条件组合覆盖 ????????不考虑程序内部结构和逻辑结构,主要是测试系统的功能是否满足“需求规格说明书”。一 般会有一个输入值和一个输出值,和期望值做比较。 Unittest重要组成????????Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好 了一些校验返回的结果方法(断言)和一些用例执行前的初始化操作。 unittest中最核心的部分是:TestFixture、TestCase、TestSuite、TestRunner TestFikture:作用: ? ? ? ? 用于一个测试环境的准备和销毁还原 功能: ?????????? ?当测试用例每次执行之前需要准备测试环境,每次测试完成后还原测试环境,比如执 行前连接数据库、打开浏览器等,执行完成后需要还原数据库、关闭浏览器等操作。这时候 就可以启用testfixture 主要方法: ????????setUp():准备环境,执行每个测试用例的前置条件; TestCase:测试用例定义: ?????????? ?一个类class继承 unittest.TestCase,就是一个测试用例 什么是测试用例: ????????就是一个完整的测试流程,包括测试前准备环境的搭建(setUp),执行测试代码(run), 以及测试后环境的还原(tearDown)。 测试用例命名规则: ?????????? ?继承自unittest.TestCase的类中,测试方法的名称要以test开头。且只会执行以test 开头定义的方法(测试方法),测试用例执行的顺序会按照方法名的ASCII值排序。
?main: ? ? ? ? 你在当前模块执行的时候才会走main方法,若在别的模块调用的话,他就不执行
?它是按照ASCLL执行的
?
?不是以test开头的话test1就找不到了
?创建测试套件
? ?断言?验证预期结果和实际结果: ????????assertEqual(a,b):断言a和b是否相等,相等则测试用例通过。 如:????assertEqual(a,b)
? ?生成测试报告????????html格式的就是HTMLTestRunner了,HTMLTestRunner是 Python 标准库的 unittest 框架 的一个扩展,它可以生成一个直观清晰的 HTML 测试报告。使用的前提就是要下载 HTMLTestRunner.py 格式: ?with open("../report.html","wb") as f: 相关参数说明: ????????stream:指定输出的方式 把HTMLTestRunner.py复制进去
?运行后:
?左边就多了一个html文件
双击打开,?看不见效果点击右上角的浏览器
?如图
?若有错的话:
?点击file之后
?六,代码展示 开发被测代码
?单元测试代码:
?读取文件读取xml文件xml介绍? ? ? ? 什么是xml: ????????XML指可扩展标记语言 ????????XML是一种标记语句,很类似HTML ????????XML标签没有被预定义,需要自行定义标签 xml和html的差异: ????????1.XML为不同的目的而设计 ????????2.XML被设计为传输和存储数据,其焦点是数据的内容,HTML被设计用来显示数据, ????????其焦点是数据的外观 ????????3.XML意在传输信息,而HTML意在显示信息 xml的特点: ? ? ? ? 1.xml可以自定义标签 ? ? ? ? 2.xml必须包含根元素 ? ? ? ? 3.xml标签对大小写敏感 ????????4.xml的属性值须加引号 xml的注释: ? ? ? ? <!--? ? 内容? ?--> 什么是xml元素: ? ? ? ? xml元素值的是从(且包括)开始标签直到(且包括)结束标签的部分 ? ? ? ? 元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性 xml命名规则: ? ? ? ? 名称可包含字母、数字以及其他的字符 ? ? ? ? 名称不能以数字或者标点符号开始 ? ? ? ? 名称不能以字符"xml"(或者XML、Xml)开始 ? ? ? ? 名称不能包含空格 代码:
正确的:
?读取csv文件
|
|
|
| 开发测试 最新文章 |
| pytest系列——allure之生成测试报告(Wind |
| 某大厂软件测试岗一面笔试题+二面问答题面试 |
| iperf 学习笔记 |
| 关于Python中使用selenium八大定位方法 |
| 【软件测试】为什么提升不了?8年测试总结再 |
| 软件测试复习 |
| PHP笔记-Smarty模板引擎的使用 |
| C++Test使用入门 |
| 【Java】单元测试 |
| Net core 3.x 获取客户端地址 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年12日历 | -2025/12/15 22:08:18- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |