0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自动化测试框架unittes详解

FPGA之家 来源:Spinal FPGA 作者:玉骐 2022-05-20 14:47 次阅读

从事FPGA开发无论是仿真还是上板验证,总少不了各种各样的case遍历,手动执行起来就太麻烦了。尤其像从事FPGA加速行业来说,CPU与FPGA版卡的交互和测试基本基于PCIe来实现,而软件有大量的测试框架,不妨“软为硬用”。这里就基于python的自动化测试框架unittest来实现一个简单的自动化上板测试流程,同时自动生成html测试报告。

unittest

unittest是python自带的测试框架,其主要由TestCase、unitunittest、TestRunner三大部分,详细的介绍可参考该文档链接。

通过unittest,可以很快的实现一个自动化测试的case集,如下简单的demo:

b510b386-d7d5-11ec-bce3-dac502259ad0.png

执行结果:

b5380666-d7d5-11ec-bce3-dac502259ad0.png

基于unittest,在日常工作中调试FPGA可以很容易把测试集给组织起来,而不必每次都手动执行。

html report

unittest的测试结果除了控制台输出外也可以存储至文件中,但相对来讲始终不如html报告更清晰些。这里采用HTMLTestRunner来实现,其为开源源代码,可通过下面的链接获取:

将HTMLTestRunner.py下载下来后即可以将代码保存在python的lib库中,也可以放在测试代码的工程目录下面。如果想放在python的lib库中,可通过在命令行下按照下面的方式找到python的lib目录


	

IT-C02YV1UELVDL:chain xxx$ pythonPython 2.7.10 (default, Aug 17 2018, 19:45:58) [GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.0.42)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> import sys>>> print(sys.path)

放在其打印输出的任何一个目录下即可。

其使用方式如下demo所示:

#!/usr/bin/python# -*- coding: UTF-8 -*-import unittestimport sysfrom HTMLTestRunner import HTMLTestRunnerdef add(data1,data2):    return data1+data2
class addTestCase(unittest.TestCase):    def test_add(self):        """ 加法器校验 '"""        sum=add(1,2)        self.assertEqual(3,sum)    def test_add1(self):        """ 加法器校验2 '"""        sum=add(3,4)        self.assertEqual(8,sum)
if __name__ == "__main__":    reload(sys)    sys.setdefaultencoding("utf-8")    suite=unittest.makeSuite(addTestCase,"test")    testlogName="./reeport.html"    fp=open(testlogName,'wb')    runner=HTMLTestRunner(fp,title="add test",description="test demo")    runner.run(suite)    fp.close()

值得注意的是第20行、21行用于解决下面的错误类型:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 88: ordinal not in range(128)

最终会在执行目录下生成一个report.html的测试报告,可通过浏览器打开:

b59e40c0-d7d5-11ec-bce3-dac502259ad0.png

针对python3环境的使用,可通过下方阅读原文方式来查看修改方式。

写在最后

如果选用基于cocotb来进行代码仿真,也可采用这种形式来生成自动化测试报告。

原文标题:“软为硬用”—基于python的自动化测试

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    603038
  • 自动化测试
    +关注

    关注

    0

    文章

    208

    浏览量

    26905
  • python
    +关注

    关注

    56

    文章

    4793

    浏览量

    84631

原文标题:“软为硬用”—基于python的自动化测试

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    鸿蒙OS开发实战:【自动化测试框架】使用指南

    为支撑HarmonyOS操作系统的自动化测试活动开展,我们提供了支持JS/TS语言的单元及UI测试框架,支持开发者针对应用接口进行单元测试
    的头像 发表于 04-08 14:49 1379次阅读
    鸿蒙OS开发实战:【<b class='flag-5'>自动化</b><b class='flag-5'>测试</b><b class='flag-5'>框架</b>】使用指南

    OPhone自动化测试技术概述

    技术,自动化测试,应用程序,测试用例,测试框架,测试类型,
    发表于 05-06 08:58

    自动化测试框架思想和构建

    自动化测试一般是指软件测试自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。本文介绍的是
    发表于 07-18 06:52

    请问数据驱动的自动化测试框架结构是怎么构成的?

    自动化测试为什么会出现?相比手工测试自动化测试有哪些优势?自动化
    发表于 04-15 06:55

    如何搭建嵌入式C语言单元测试自动化框架

    关于嵌入式C语言单元测试自动化框架的搭建思路
    发表于 12-15 07:35

    HarmonyOS自动化测试框架—Hypium

    ​​,点击链接查看更多技术内容。 应用开发过程中,要确保应用的功能和界面能满足预期,往往需要通过测试来验证。为此,我们研发了一套新的自动化测试框架,它支持以插件形式集成到DevEco
    发表于 08-10 17:13

    HamronyOS自动化测试框架使用指南

    概述 为支撑 HarmonyOS 操作系统的自动化测试活动开展,我们提供了支持 JS/TS 语言的单元及 UI 测试框架,支持开发者针对应用接口进行单元
    发表于 12-19 10:26

    常用软件测试自动化框架

    自动化测试框架无疑是企业实施自动化测试的一个必然的发展方向,它对于产生成功的测试
    发表于 04-21 11:39 5057次阅读

    全面提升自动化测试,NI TestStand 2012新模块框架

    NI TestStand 2012采用全新的模块框架,能够简化自动化测试的开发和报告生成。
    发表于 11-06 17:42 1778次阅读

    基于Web的自动化测试框架的研究

    根据web系统测试的特点,为提高软件测试自动化脚本的可重用性,结合在实际项目中软件自动化测试的实践,提出基于Web的
    发表于 11-07 15:58 0次下载
    基于Web的<b class='flag-5'>自动化</b><b class='flag-5'>测试</b><b class='flag-5'>框架</b>的研究

    Python自动化测试框架有哪些?

    令开发者万分高兴的是,开发自己的测试框架的日子终于结束了。以前,开发团队接手一个项目并开始开发时,除了项目模块的实际开发之外,他们不得不为这个项目构建一个自动化测试
    的头像 发表于 07-28 09:06 4664次阅读

    什么是自动化测试框架

    这些优势可以是不同的形式,如易于编写脚本、可伸缩性、模块、可理解性、过程定义、可重用性、成本、维护等。因此,为了能够获得这些好处,建议开发人员使用一个或多个自动化测试框架。此外,当有
    的头像 发表于 11-03 10:33 4344次阅读

    什么是自动化测试框架

    自动化测试框架,即是应用于自动化测试所用的框架。按照框架
    发表于 04-18 14:44 894次阅读

    自动化测试选择合适的Python框架

    测试自动化是使用框架和工具自动执行测试以更快地执行测试并减少对人工
    的头像 发表于 05-04 12:02 1396次阅读

    OpenHarmony自动化测试框架开发指南

    OpenHarmony 自动化测试框架是 OpenHarmony 提供的支持 JS/TS 语言的单元及 UI 测试框架,支持开发者针对应用接
    的头像 发表于 05-15 09:35 1379次阅读
    OpenHarmony<b class='flag-5'>自动化</b><b class='flag-5'>测试</b><b class='flag-5'>框架</b>开发指南