测试模块的编写

比起写好所有的程序后整体调试,单元测试显示了它的优势,比如在深度学习的代码中,比较重要的两大块是:数据集模块、网络结构模块。pytorch中,写好数据集模块时,会测试‘__getitem__功能,这个时候可以用到unittestIPython

以下时今天写的要给关于眼底的数据集测试:

import sys 
import unittest 

# 如果没有此条,会出错
# 
sys.path.append("D:/4I/retina-images/Mycode")  

from config import cfg 
from data.transforms import build_transforms 
from data.build import build_dataset 
from data import make_data_loader 

"""
测试数据集
"""

class TestDataSet(unittest.TestCase):
    def test_dataset(self):
        train_transform = build_transforms(cfg, True)
        train_set = build_dataset(cfg, train_transform, True)
        from IPython import embed 
        embed()

if __name__ == "__main__":
    unittest.main()

unittest介绍

需要什么学什么!!!这个很重要!!所以,这里不是系统的介绍unittest,只是带一笔

了解4个概念就可以用la

  1. 编写单元测试时,需要编写一个测试类,这个测试类继承于unittest.TestCase
  2. 类中的测试方法必须以test开头,不以test开头的方法,测试时候不会执行。
  3. 如何运行单元测试??
    1. 直接在命令行中运行python -m unittest mydict_test, 推荐使用这种方法。
      1. 程序末尾添加,以下代码,然后运行脚本代码即可
if __name__ == "__main___":
		unittest.main()
  1. 单元测试中两个特殊的方法,setUp(), tearDown(),在执行test_方法前,先执行setUp(),执行test_之后,执行tearDown()方法。(这个试一下就很好理解)

IPyhon中的embed

前面代码中的embed(),程序执行到embed()时就会进入Ipython交互界面,此时可以在命令行中,查看程序中的变量,Ctrl+D退出交互界面,程序继续执行,所以这种方法相当管用。其他关于IPyhon知识,以后遇到在说吧!!

调试

关于调试的其他的方法,还有loggingpdb,或者时IDE中间的端点,下个星期会 总结一下logging、pdb,方法有好几种,每种功能性其实差不多,最主要的熟悉一种自己喜欢的。

2019/7/9日
每日遇到的问题都记录啦,一个星期、或者两个星期汇总一次

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单元测试计划 版本:V1.3 文 档 编 号 保 密 等 级 作 者 最后修改日期 审 核 人 最后审批日期 批 准 人 最后批准日期 修订记录 日期 版本 修订说明 修订人 目 录 1 导言 2 1.1 目的 2 1.2 背景 2 1.3 范围 2 2 进入条件 2 3 退出条件 2 4 代码级别标准 2 5 代码分级清单 3 6 单元测试风险 3 7 单元测试策略 3 7.1 策略描述 3 7.2 类型 3 7.2.1 代码走查 3 7.2.2 功能测试 4 7.2.3 边界测试 4 7.2.4 覆盖率测试 4 7.2.5 内存使用测试 4 7.2.6 测试方式 4 7.3 测试用例估算 4 8 工具 5 9 进度及分工 5 10 交付物 5 导言 目的 【描述该代码走查及单元测试计划的目的。】 背景 【描述代码走查及单元测试计划的背景,活动目的。如无特殊背景信息,可裁剪。】 范围 【说明该代码走查及单元测试计划在整个项目周期的适用范围】 进入条件 【描述项活动的测试依据和满足该阶段测试进入的条件和约束。】 退出条件 【描述满足该阶段测试退出的条件,编写时特别要根据 《项目量化管理计划》列举一些量化的退出指标,例如 致命和严重级别的缺陷清除率达到 100%】 代码级别标准 【请参考组织级文档《代码分类级别指南》,中规定进行分类,质量经理可根据项目情况,对级别和通过标准做适当调整,将最后确定的通过标准记录在以下表格中】 级别 检查项 通过标准 A 代码编写格式检查 B 代码编写质量检查 C1 代码走查 C2 C3 D1 测试用例代码覆盖率检查 D2 D3 D4 E 内存泄漏检查 代码分级清单 【由架构师根据代码级别标准,划分】 模块 代码 A B C D E C1 C2 C3 D1 D2 D3 D4 √ √ √ √ √             单元测试风险 【此处描述测试任务可能遇到的风险,以及规避的方法】 # 风险描述 可能性 风险影响 责任人 规避方法 【高、中、低】 【高、中、低】 单元测试策略 策略描述 【此处描述根据项目的具体特征所确定的代码走查及单元测试的策略(如:代码走查在本项目重点关注的地方、测试可行性分析,测试方法确定,测试类型选择)】 类型 【此处描述单元测试选择的测试类型,一般建议有如下几种:】 代码走查 目标: 技术: 完成标准: 需考虑的特殊事项: 功能测试 测试目标: 技术: 完成标准: 需考虑的特殊事项: 边界测试 测试目标: 技术: 完成标准: 需考虑的特殊事项: 覆盖率测试 测试目标: 技术: 完成标准: 需考虑的特殊事项: 内存使用测试 测试目标: 技术: 完成标准: 需考虑的特殊事项: 测试方式 【说明手工测试的部分和自动测试的部分】 测试用例估算 【说明对需要开发的测试用例数目的估算】 模块 类数目 测试类型 测试用例数 工具 【本次测试将使用的工具】 用途 工具 厂商/自产 版本 测试管理 测试执行 缺陷报告 进度及分工  【根据测试模块,分解任务,计划工作量、时间、人员;制订该计划的同时请参考中层计划等相关计划和估算文档;对于代码走查的人员安排一般要求架构师、高级工程师对工程师、助理工程师的代码进行走查,同时高级工程师、工程师 之间进行代码互查】 模块 任务 工作量 开始日期 人员 代码走查 用例设计 用例开发 用例执行 工作量合计 代码走查 用例设计 用例开发 用例执行 交付物 【描述单元测试需要交付的工作产品】 交付物名称 责任人 参与者 交付日期 测试计划 代码走查报告 测试用例 测试报告

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值