0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

自動(dòng)化測(cè)試框架unittes詳解

FPGA之家 ? 來(lái)源:Spinal FPGA ? 作者:玉騏 ? 2022-05-20 14:47 ? 次閱讀

從事FPGA開(kāi)發(fā)無(wú)論是仿真還是上板驗(yàn)證,總少不了各種各樣的case遍歷,手動(dòng)執(zhí)行起來(lái)就太麻煩了。尤其像從事FPGA加速行業(yè)來(lái)說(shuō),CPU與FPGA版卡的交互和測(cè)試基本基于PCIe來(lái)實(shí)現(xiàn),而軟件有大量的測(cè)試框架,不妨“軟為硬用”。這里就基于python的自動(dòng)化測(cè)試框架unittest來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的自動(dòng)化上板測(cè)試流程,同時(shí)自動(dòng)生成html測(cè)試報(bào)告。

unittest

unittest是python自帶的測(cè)試框架,其主要由TestCase、unitunittest、TestRunner三大部分,詳細(xì)的介紹可參考該文檔鏈接。

通過(guò)unittest,可以很快的實(shí)現(xiàn)一個(gè)自動(dòng)化測(cè)試的case集,如下簡(jiǎn)單的demo:

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

執(zhí)行結(jié)果:

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

基于unittest,在日常工作中調(diào)試FPGA可以很容易把測(cè)試集給組織起來(lái),而不必每次都手動(dòng)執(zhí)行。

html report

unittest的測(cè)試結(jié)果除了控制臺(tái)輸出外也可以存儲(chǔ)至文件中,但相對(duì)來(lái)講始終不如html報(bào)告更清晰些。這里采用HTMLTestRunner來(lái)實(shí)現(xiàn),其為開(kāi)源源代碼,可通過(guò)下面的鏈接獲?。?/p>

將HTMLTestRunner.py下載下來(lái)后即可以將代碼保存在python的lib庫(kù)中,也可以放在測(cè)試代碼的工程目錄下面。如果想放在python的lib庫(kù)中,可通過(guò)在命令行下按照下面的方式找到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)

放在其打印輸出的任何一個(gè)目錄下即可。

其使用方式如下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):        """ 加法器校驗(yàn) '"""        sum=add(1,2)        self.assertEqual(3,sum)    def test_add1(self):        """ 加法器校驗(yàn)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行用于解決下面的錯(cuò)誤類(lèi)型:

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

最終會(huì)在執(zhí)行目錄下生成一個(gè)report.html的測(cè)試報(bào)告,可通過(guò)瀏覽器打開(kāi):

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

針對(duì)python3環(huán)境的使用,可通過(guò)下方閱讀原文方式來(lái)查看修改方式。

寫(xiě)在最后

如果選用基于cocotb來(lái)進(jìn)行代碼仿真,也可采用這種形式來(lái)生成自動(dòng)化測(cè)試報(bào)告。

原文標(biāo)題:“軟為硬用”—基于python的自動(dòng)化測(cè)試

文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21538

    瀏覽量

    600449
  • 自動(dòng)化測(cè)試

    關(guān)注

    0

    文章

    199

    瀏覽量

    26873
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4756

    瀏覽量

    84283

原文標(biāo)題:“軟為硬用”—基于python的自動(dòng)化測(cè)試

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙OS開(kāi)發(fā)實(shí)戰(zhàn):【自動(dòng)化測(cè)試框架】使用指南

    為支撐HarmonyOS操作系統(tǒng)的自動(dòng)化測(cè)試活動(dòng)開(kāi)展,我們提供了支持JS/TS語(yǔ)言的單元及UI測(cè)試框架,支持開(kāi)發(fā)者針對(duì)應(yīng)用接口進(jìn)行單元測(cè)試,
    的頭像 發(fā)表于 04-08 14:49 ?1189次閱讀
    鴻蒙OS開(kāi)發(fā)實(shí)戰(zhàn):【<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b><b class='flag-5'>框架</b>】使用指南

    OPhone自動(dòng)化測(cè)試技術(shù)概述

    技術(shù),自動(dòng)化測(cè)試,應(yīng)用程序,測(cè)試用例,測(cè)試框架,測(cè)試類(lèi)型,測(cè)
    發(fā)表于 05-06 08:58

    自動(dòng)化測(cè)試框架思想和構(gòu)建

    自動(dòng)化測(cè)試一般是指軟件測(cè)試自動(dòng)化,軟件測(cè)試就是在預(yù)設(shè)條件下運(yùn)行系統(tǒng)或應(yīng)用程序,評(píng)估運(yùn)行結(jié)果,預(yù)先條件應(yīng)包括正常條件和異常條件。本文介紹的是
    發(fā)表于 07-18 06:52

    請(qǐng)問(wèn)數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試框架結(jié)構(gòu)是怎么構(gòu)成的?

    自動(dòng)化測(cè)試為什么會(huì)出現(xiàn)?相比手工測(cè)試,自動(dòng)化測(cè)試有哪些優(yōu)勢(shì)?自動(dòng)化
    發(fā)表于 04-15 06:55

    如何搭建嵌入式C語(yǔ)言單元測(cè)試自動(dòng)化框架

    關(guān)于嵌入式C語(yǔ)言單元測(cè)試自動(dòng)化框架的搭建思路
    發(fā)表于 12-15 07:35

    HarmonyOS自動(dòng)化測(cè)試框架—Hypium

    ??,點(diǎn)擊鏈接查看更多技術(shù)內(nèi)容。 應(yīng)用開(kāi)發(fā)過(guò)程中,要確保應(yīng)用的功能和界面能滿足預(yù)期,往往需要通過(guò)測(cè)試來(lái)驗(yàn)證。為此,我們研發(fā)了一套新的自動(dòng)化測(cè)試框架,它支持以插件形式集成到DevEco
    發(fā)表于 08-10 17:13

    HamronyOS自動(dòng)化測(cè)試框架使用指南

    概述 為支撐 HarmonyOS 操作系統(tǒng)的自動(dòng)化測(cè)試活動(dòng)開(kāi)展,我們提供了支持 JS/TS 語(yǔ)言的單元及 UI 測(cè)試框架,支持開(kāi)發(fā)者針對(duì)應(yīng)用接口進(jìn)行單元
    發(fā)表于 12-19 10:26

    常用軟件測(cè)試自動(dòng)化框架

    自動(dòng)化測(cè)試框架無(wú)疑是企業(yè)實(shí)施自動(dòng)化測(cè)試的一個(gè)必然的發(fā)展方向,它對(duì)于產(chǎn)生成功的測(cè)試
    發(fā)表于 04-21 11:39 ?4994次閱讀

    全面提升自動(dòng)化測(cè)試,NI TestStand 2012新模塊框架

    NI TestStand 2012采用全新的模塊框架,能夠簡(jiǎn)化自動(dòng)化測(cè)試的開(kāi)發(fā)和報(bào)告生成。
    發(fā)表于 11-06 17:42 ?1751次閱讀

    基于Web的自動(dòng)化測(cè)試框架的研究

    根據(jù)web系統(tǒng)測(cè)試的特點(diǎn),為提高軟件測(cè)試自動(dòng)化腳本的可重用性,結(jié)合在實(shí)際項(xiàng)目中軟件自動(dòng)化測(cè)試的實(shí)踐,提出基于Web的
    發(fā)表于 11-07 15:58 ?0次下載
    基于Web的<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b><b class='flag-5'>框架</b>的研究

    Python自動(dòng)化測(cè)試框架有哪些?

    令開(kāi)發(fā)者萬(wàn)分高興的是,開(kāi)發(fā)自己的測(cè)試框架的日子終于結(jié)束了。以前,開(kāi)發(fā)團(tuán)隊(duì)接手一個(gè)項(xiàng)目并開(kāi)始開(kāi)發(fā)時(shí),除了項(xiàng)目模塊的實(shí)際開(kāi)發(fā)之外,他們不得不為這個(gè)項(xiàng)目構(gòu)建一個(gè)自動(dòng)化測(cè)試
    的頭像 發(fā)表于 07-28 09:06 ?4613次閱讀

    什么是自動(dòng)化測(cè)試框架

    這些優(yōu)勢(shì)可以是不同的形式,如易于編寫(xiě)腳本、可伸縮性、模塊、可理解性、過(guò)程定義、可重用性、成本、維護(hù)等。因此,為了能夠獲得這些好處,建議開(kāi)發(fā)人員使用一個(gè)或多個(gè)自動(dòng)化測(cè)試框架。此外,當(dāng)有
    的頭像 發(fā)表于 11-03 10:33 ?4248次閱讀

    什么是自動(dòng)化測(cè)試框架

    自動(dòng)化測(cè)試框架,即是應(yīng)用于自動(dòng)化測(cè)試所用的框架。按照框架
    發(fā)表于 04-18 14:44 ?833次閱讀

    自動(dòng)化測(cè)試選擇合適的Python框架

    測(cè)試自動(dòng)化是使用框架和工具自動(dòng)執(zhí)行測(cè)試以更快地執(zhí)行測(cè)試并減少對(duì)人工
    的頭像 發(fā)表于 05-04 12:02 ?1347次閱讀

    OpenHarmony自動(dòng)化測(cè)試框架開(kāi)發(fā)指南

    OpenHarmony 自動(dòng)化測(cè)試框架是 OpenHarmony 提供的支持 JS/TS 語(yǔ)言的單元及 UI 測(cè)試框架,支持開(kāi)發(fā)者針對(duì)應(yīng)用接
    的頭像 發(fā)表于 05-15 09:35 ?1213次閱讀
    OpenHarmony<b class='flag-5'>自動(dòng)化</b><b class='flag-5'>測(cè)試</b><b class='flag-5'>框架</b>開(kāi)發(fā)指南