• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    自動(dòng)化測(cè)試方法在區(qū)塊鏈服務(wù)平臺(tái)的實(shí)現(xiàn)及應(yīng)用

    2021-03-14 06:14:44李丹霞劉舒婷周濤董欣
    電腦與電信 2021年12期
    關(guān)鍵詞:測(cè)試用例用例測(cè)試數(shù)據(jù)

    李丹霞 劉舒婷 周濤 董欣

    (中移信息技術(shù)有限公司,廣東 深圳 518048)

    1 引言

    區(qū)塊鏈以其去中心化、傳遞信任的特性和能力,將作為最底層的通信協(xié)議撐起未來(lái)的網(wǎng)絡(luò)通信,為下一代網(wǎng)絡(luò)提供可信環(huán)境和價(jià)值互聯(lián),區(qū)塊鏈平臺(tái)與技術(shù)開(kāi)發(fā)服務(wù)是上層應(yīng)用的重要支撐。各大互聯(lián)網(wǎng)、云服務(wù)、電信運(yùn)營(yíng)商紛紛布局BaaS服務(wù),中國(guó)移動(dòng)也布局建設(shè)了自己的區(qū)塊鏈服務(wù)(China Mobile Blockchain as a Service,CMBaaS)平臺(tái),希望為用戶(hù)提供可信、可靠、高效的區(qū)塊鏈服務(wù),并提供統(tǒng)一區(qū)塊鏈管理平臺(tái)門(mén)戶(hù),實(shí)現(xiàn)從平臺(tái)用戶(hù)、租戶(hù)、智能合約管理、權(quán)限管理、多鏈管理、鏈賬戶(hù)管理、瀏覽器等鏈外、鏈內(nèi)的可視化管理。為滿(mǎn)足靈活管控、自動(dòng)伸縮、高效協(xié)同,整個(gè)開(kāi)發(fā)架構(gòu)采用敏捷構(gòu)建的開(kāi)發(fā)模式,需求版本迭代周期大大縮短,在有限的時(shí)間和人力資源下,手工測(cè)試,很難做到對(duì)每個(gè)迭代周期功能進(jìn)行全量回歸驗(yàn)證,只能抽取影響范圍內(nèi)的核心場(chǎng)景進(jìn)行回歸驗(yàn)證,存在一定的漏測(cè)風(fēng)險(xiǎn),且考慮到不同引擎引入的適配、不同用途鏈的重復(fù)部署,為確保功能一致性和正確性,功能全量回歸頻率增多,結(jié)合手工測(cè)試流程對(duì)接口測(cè)試場(chǎng)景進(jìn)行梳理和分析,處理邏輯類(lèi)似,耗時(shí)較多的工作集中在接口模擬數(shù)據(jù)構(gòu)造、測(cè)試結(jié)果核查上。若能開(kāi)發(fā)一種接口自動(dòng)化測(cè)試框架,實(shí)現(xiàn)接口測(cè)試數(shù)據(jù)的快速構(gòu)造和測(cè)試結(jié)果自動(dòng)輸出,將大大提高測(cè)試效率,滿(mǎn)足敏捷構(gòu)建要求。

    基于此,本文設(shè)計(jì)開(kāi)發(fā)了IATest(InterfaceAutoTest)接口自動(dòng)化測(cè)試框架,實(shí)現(xiàn)接口模板數(shù)據(jù)解析、測(cè)試數(shù)據(jù)批量生成、測(cè)試結(jié)果自動(dòng)核查和統(tǒng)計(jì)分析等功能,且各功能采用解耦設(shè)計(jì),根據(jù)用戶(hù)需要,可實(shí)現(xiàn)測(cè)試數(shù)據(jù)構(gòu)造、用例執(zhí)行等某一個(gè)測(cè)試階段自動(dòng)化,也支持測(cè)試全流程的自動(dòng)化,使用靈活易用,復(fù)用性高,滿(mǎn)足了各類(lèi)接口測(cè)試自動(dòng)化的需要。

    2 自動(dòng)化框架設(shè)計(jì)

    該測(cè)試框架主要基于python3+request進(jìn)行開(kāi)發(fā),主要分為三層結(jié)構(gòu),即基礎(chǔ)配置層、業(yè)務(wù)數(shù)據(jù)層、可視化用戶(hù)層。針對(duì)區(qū)塊鏈服務(wù)平臺(tái)測(cè)試特點(diǎn),為兼容需要頻繁更替測(cè)試數(shù)據(jù)和可復(fù)用相同測(cè)試數(shù)據(jù)的測(cè)試場(chǎng)景,把測(cè)試數(shù)據(jù)構(gòu)造和測(cè)試用例設(shè)計(jì)過(guò)程進(jìn)行了解耦設(shè)計(jì),應(yīng)用更加靈活高效,既支持新功能模塊或需頻繁更替測(cè)試數(shù)據(jù)場(chǎng)景用例,又支持老功能回歸歷史測(cè)試數(shù)據(jù)的直接引入,滿(mǎn)足用戶(hù)不同自動(dòng)化場(chǎng)景使用需求。同時(shí)設(shè)計(jì)了自己的測(cè)試數(shù)據(jù)和測(cè)試用例模板,可以快速適配到其他業(yè)務(wù)系統(tǒng)接口測(cè)試中,該框架對(duì)代碼進(jìn)行了封裝,用戶(hù)無(wú)需關(guān)注底層代碼實(shí)現(xiàn),只需要關(guān)注測(cè)試用例和測(cè)試數(shù)據(jù)設(shè)計(jì)即可實(shí)現(xiàn)自動(dòng)化,主要框架結(jié)如圖1所示。

    圖1 IATest框架分層結(jié)構(gòu)圖

    3 自動(dòng)化框架實(shí)現(xiàn)

    IATest自動(dòng)化測(cè)試框主要功能模塊包含:接口參數(shù)解析、測(cè)試數(shù)據(jù)模板生成、測(cè)試數(shù)據(jù)構(gòu)造、測(cè)試用例解析和執(zhí)行、測(cè)試結(jié)果比對(duì)、測(cè)試報(bào)告統(tǒng)計(jì)分析、測(cè)試日志管理模塊,針對(duì)不用規(guī)范要求的接口測(cè)試,支持獨(dú)立開(kāi)發(fā)解析庫(kù),實(shí)現(xiàn)功能快速擴(kuò)展,滿(mǎn)足不同業(yè)務(wù)系統(tǒng)的多種類(lèi)型的接口測(cè)試。

    IATest框架的處理流程如圖2所示。

    圖2 IAT框架處理流程圖

    3.1 處理流程介紹

    根據(jù)框架處理流程圖,處理流程中各功能模塊說(shuō)明如下:

    (1)接口參數(shù)解析:測(cè)試人員提供需要自動(dòng)化測(cè)試的每個(gè)接口的請(qǐng)求參數(shù)樣例,IATest系統(tǒng)根據(jù)請(qǐng)求參數(shù)樣例,解析出包含每個(gè)請(qǐng)求參數(shù)的excel測(cè)試數(shù)據(jù)構(gòu)造模板和默認(rèn)取值。

    (2)測(cè)試數(shù)據(jù)構(gòu)造:測(cè)試人員根據(jù)測(cè)試用例場(chǎng)景,填寫(xiě)接口參數(shù)解析出的excel表格,每個(gè)字段可以填寫(xiě)多個(gè)取值,用分號(hào)分隔,IATest可以批量根據(jù)組合關(guān)系批量生成與自動(dòng)化用例對(duì)應(yīng)的測(cè)試數(shù)據(jù)。

    (3)測(cè)試用例執(zhí)行:讀取配置文件獲取環(huán)境部署、測(cè)試賬號(hào)、密碼加密公鑰等信息,并讀取測(cè)試用例文件,根據(jù)是否自動(dòng)化標(biāo)識(shí)字段,逐行遍歷測(cè)試用例并進(jìn)行測(cè)試數(shù)據(jù)關(guān)聯(lián)和自動(dòng)化執(zhí)行。

    (4)測(cè)試結(jié)果記錄:每條用例執(zhí)行完成后,根據(jù)數(shù)據(jù)比對(duì)結(jié)果,回填測(cè)試結(jié)果為fail或success到測(cè)試用例對(duì)應(yīng)“比對(duì)結(jié)果”列,并把實(shí)際執(zhí)行結(jié)果也回填到“實(shí)際結(jié)果”列,同時(shí)會(huì)把“此次運(yùn)行”列內(nèi)容由“是”修改為“已運(yùn)行”,并另存為帶時(shí)間戳的測(cè)試結(jié)果記錄文件,確保每輪執(zhí)行結(jié)果的獨(dú)立性。

    (5)測(cè)試數(shù)據(jù)統(tǒng)計(jì)分析:當(dāng)每個(gè)接口自動(dòng)化測(cè)試用例運(yùn)行完成后,從自動(dòng)化率、自動(dòng)化通過(guò)率、失敗率等維度對(duì)自動(dòng)化測(cè)試執(zhí)行結(jié)果進(jìn)行統(tǒng)計(jì)分析,并輸出統(tǒng)計(jì)分析圖表。

    (6)測(cè)試結(jié)果比對(duì):對(duì)每條自動(dòng)化測(cè)試用例的實(shí)際執(zhí)行結(jié)果和預(yù)期結(jié)果進(jìn)行一一比對(duì),獲取最終自動(dòng)化測(cè)試結(jié)果。

    (7)執(zhí)行日志管理:在測(cè)試用例執(zhí)行過(guò)程中,每執(zhí)行一個(gè)場(chǎng)景用例,日志關(guān)聯(lián)模塊打印該用例執(zhí)行相關(guān)的URL、請(qǐng)求參數(shù)、執(zhí)行結(jié)果等信息,方便問(wèn)題定位。

    3.2 測(cè)試數(shù)據(jù)和用例設(shè)計(jì)介紹

    為滿(mǎn)足不同場(chǎng)景的應(yīng)用需求,測(cè)試數(shù)據(jù)和測(cè)試用例進(jìn)行了解耦設(shè)計(jì),用戶(hù)可以快速進(jìn)行測(cè)試數(shù)據(jù)構(gòu)造后進(jìn)行自動(dòng)化執(zhí)行,也可以手工完成測(cè)試數(shù)據(jù)的準(zhǔn)備后直接進(jìn)行測(cè)試用例的執(zhí)行,靈活便捷。

    測(cè)試人員提供被測(cè)系統(tǒng)的接口參數(shù)模板后,IATest系統(tǒng)解析出該接口對(duì)應(yīng)的測(cè)試數(shù)據(jù)快速構(gòu)造模板,見(jiàn)表1,包含參數(shù)名、參數(shù)值(默認(rèn))、控制變量值(支持一對(duì)多)、用例名稱(chēng)4列內(nèi)容,其中C列和D內(nèi)容默認(rèn)為空,用戶(hù)可以根據(jù)要構(gòu)造的測(cè)試場(chǎng)景自行填寫(xiě),然后進(jìn)行批量測(cè)試數(shù)據(jù)的生成。

    表1 測(cè)試數(shù)據(jù)構(gòu)造模板

    因區(qū)塊鏈服務(wù)平臺(tái)接口設(shè)計(jì)特點(diǎn),很多接口請(qǐng)求URL中包含鏈相關(guān)的參數(shù)信息,為滿(mǎn)足支撐需要特設(shè)計(jì)了針對(duì)該類(lèi)接口的測(cè)試用例模板,見(jiàn)表2,包含“此次運(yùn)行*”“用例名稱(chēng)*”“發(fā)送地址*”“請(qǐng)求方式*”“請(qǐng)求參數(shù)格式”“比對(duì)結(jié)果”“實(shí)際結(jié)果”,其中A-D列為用戶(hù)必填列,E列為選填列,默認(rèn)為json格式,如果存在其他格式的請(qǐng)求,需要用戶(hù)填寫(xiě),F(xiàn)和G列為測(cè)試完成后結(jié)果回填列,A列為測(cè)試完成后值修改列。

    表2 測(cè)試用例模板

    規(guī)范化的用例模板設(shè)計(jì),降低了對(duì)用戶(hù)的使用門(mén)檻,用戶(hù)只需要了解被測(cè)系統(tǒng)接口規(guī)范信息接口快速實(shí)施自動(dòng)化。同時(shí)在設(shè)計(jì)自動(dòng)化用例模板時(shí),為保持和而不同,兼容不同測(cè)試用例,框架代碼設(shè)計(jì)實(shí)現(xiàn)時(shí)采用用例表頭列名進(jìn)行遍歷定位,用戶(hù)使用的用例模板只需要包含測(cè)試用例模板的相關(guān)列內(nèi)容,不受表頭列位置影響,都可兼容讀取執(zhí)行,降低用戶(hù)同時(shí)維護(hù)手工和自動(dòng)化測(cè)試用例兩套用例的困擾。

    3.3 可視化界面實(shí)現(xiàn)

    為提升用戶(hù)操作便利性,實(shí)現(xiàn)了可視化運(yùn)行界面,見(jiàn)圖3,可以在該界面實(shí)現(xiàn)接口模板和測(cè)試用例模板下載、測(cè)試數(shù)據(jù)和測(cè)試用例、新增接口參數(shù)模板上傳、測(cè)試數(shù)據(jù)構(gòu)造、測(cè)試執(zhí)行等操作。

    圖3 可視化界面

    4 應(yīng)用效果分析

    目前,運(yùn)用IATest自動(dòng)化測(cè)試系統(tǒng)框架,已實(shí)現(xiàn)了區(qū)塊鏈服務(wù)平臺(tái)多接口的自動(dòng)化測(cè)試功能。實(shí)現(xiàn)了559個(gè)場(chǎng)景的自動(dòng)化,該自動(dòng)化測(cè)試框架提供了可視化執(zhí)行界面和后臺(tái)執(zhí)行2種方式,可滿(mǎn)足實(shí)時(shí)在線(xiàn)和無(wú)人值守模式運(yùn)行,平均在1分鐘內(nèi)執(zhí)行完成需要1人日手動(dòng)執(zhí)行用例數(shù)量,并能根據(jù)測(cè)試執(zhí)行結(jié)果數(shù)據(jù),生成統(tǒng)計(jì)圖表,將測(cè)試結(jié)果和統(tǒng)計(jì)分析圖表填寫(xiě)到測(cè)試用例文件中。相比人工測(cè)試和結(jié)果比對(duì),大大提高了執(zhí)行效率。

    5 結(jié)語(yǔ)

    IATest框架針對(duì)手工測(cè)試過(guò)程中測(cè)試數(shù)據(jù)構(gòu)造和測(cè)試結(jié)果比對(duì)等環(huán)節(jié)耗時(shí)多、易出錯(cuò)問(wèn)題進(jìn)行設(shè)計(jì),有效節(jié)省了人力成本,減少了人工失誤率,最終滿(mǎn)足敏捷項(xiàng)目構(gòu)建需要。通過(guò)測(cè)試數(shù)據(jù)和測(cè)試用例解耦設(shè)計(jì),大大增加了應(yīng)用的范圍和靈活性,在區(qū)塊鏈服務(wù)平臺(tái)接口測(cè)試中得到了很好的應(yīng)用。IATest通用性強(qiáng),支持快速擴(kuò)展,其它新增系統(tǒng)只需要提供接口參數(shù)模板或者符合要求的測(cè)試數(shù)據(jù)和用例,即可快速實(shí)現(xiàn)測(cè)試數(shù)據(jù)批量自動(dòng)構(gòu)造或者測(cè)試自動(dòng)化執(zhí)行。主框架提供的功能,用戶(hù)可以根據(jù)測(cè)試場(chǎng)景需要,自主選擇使用全流程或者某一個(gè)階段流程的自動(dòng)化。

    總之,基于python3+request技術(shù)的IATest框架,提出了一種支持階段或全流程的自動(dòng)化測(cè)試框架,并在區(qū)塊鏈服務(wù)平臺(tái)后臺(tái)接口測(cè)試中得到很好的應(yīng)用,給后臺(tái)接口自動(dòng)化測(cè)試提供了一種新思路。

    猜你喜歡
    測(cè)試用例用例測(cè)試數(shù)據(jù)
    UML用例模型中依賴(lài)關(guān)系的比較與分析
    基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
    聯(lián)鎖軟件詳細(xì)設(shè)計(jì)的測(cè)試需求分析和用例編寫(xiě)
    測(cè)試數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
    從出土文獻(xiàn)用例看王氏父子校讀古書(shū)的得失
    基于混合遺傳算法的回歸測(cè)試用例集最小化研究
    基于自適應(yīng)粒子群優(yōu)化算法的測(cè)試數(shù)據(jù)擴(kuò)增方法
    空間co-location挖掘模式在學(xué)生體能測(cè)試數(shù)據(jù)中的應(yīng)用
    體育科技(2016年2期)2016-02-28 17:06:21
    基于依賴(lài)結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
    影響《標(biāo)準(zhǔn)》測(cè)試數(shù)據(jù)真實(shí)性的因素及破解策略
    體育師友(2011年5期)2011-03-20 15:29:51
    舞阳县| 江源县| 嘉祥县| 文成县| 垣曲县| 连州市| 苗栗市| 龙陵县| 克拉玛依市| 陈巴尔虎旗| 洛川县| 侯马市| 无棣县| 玉林市| 甘肃省| 如皋市| 封丘县| 广汉市| 金塔县| 新晃| 孝感市| 平果县| 绵阳市| 平塘县| 乐都县| 寿阳县| 安泽县| 夏邑县| 福清市| 天长市| 宁国市| 邳州市| 响水县| 慈溪市| 孙吴县| 灯塔市| 裕民县| 东源县| 诏安县| 临汾市| 左权县|