亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于python的軟件測試平臺研究與應(yīng)用

        2020-12-14 04:35:10文婷何中全
        軟件導(dǎo)刊 2020年9期
        關(guān)鍵詞:軟件測試網(wǎng)絡(luò)通信

        文婷 何中全

        摘 ?要: 計(jì)算機(jī)技術(shù)的快速發(fā)展,使軟件在通信、交通、電子以及軍工等各個領(lǐng)域都發(fā)揮著越來越重要的作用,軟件測試作為保障軟件質(zhì)量的重要手段,也引起了各領(lǐng)域廣泛的關(guān)注。本文針對軍用軟件測試過程中的測試環(huán)境局限性、測試效率低等問題,提出一種基于python的軟件測試平臺實(shí)現(xiàn)方法,實(shí)現(xiàn)被測軟件與外部對象的網(wǎng)絡(luò)通信模擬、接口數(shù)據(jù)自動生成及解析、測試結(jié)果自動判定等功能,能夠降低對測試環(huán)境的依懶性,提高測試效率及充分性,有效保障測試質(zhì)量。

        關(guān)鍵詞: 軟件測試;python;測試平臺;網(wǎng)絡(luò)通信

        中圖分類號: TP3 ???文獻(xiàn)標(biāo)識碼: A ???DOI:10.3969/j.issn.1003-6970.2020.09.042

        【Abstract】: With the rapid development of computer technology, software is playing an increasingly important role in various fields such as communications, transportation, electronics, and military industry. Software testing is important to ensure software quality, and it has aroused widespread concern in various fields. In order to solve the problems of the limitation of the test environment and the lower test efficiency in the software testing process, this paper proposes a python-based software testing platform implementation method. It has realized functions such as simulation of network communication between software and external objects, automatic generation and analysis of interface data, and automatic determination of test results. The testing platform based on python can reduce dependence on the test environment, improve test efficiency and adequacy, and ensure test quality.

        【Key words】: Software test; Python; Testing platform; Network communication

        0 ?引言

        隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,在人們的工作、生活等各個領(lǐng)域都承載著各種軟件,軟件在人們生活、工作中發(fā)揮著越來越重要的作用。同樣,在我國的軍工行業(yè),軟件的規(guī)模以及覆蓋范圍也與日俱增[1]。隨著軟件的廣泛應(yīng)用,軟件質(zhì)量也引起了廣泛的關(guān)注。軟件測試作為控制軟件質(zhì)量的重要手段,也成為當(dāng)前的研究熱點(diǎn)之一[2-5]。在軍用軟件測試過程中,動態(tài)測試通常以人工測試為主,測試效率較低[6]。同時會受測試環(huán)境的限制,比如軟件測試相關(guān)的硬件設(shè)備不齊套、技術(shù)狀態(tài)不穩(wěn)定、異常數(shù)據(jù)產(chǎn)生困難等限制,進(jìn)一步降低軟件測試效率,甚至影響軟件測試效果。為解析測試效率低、測試環(huán)境限制等問題,本文提出一種基于python的軟件測試平臺實(shí)現(xiàn)方法,能夠模擬外部對象與被測軟件間的網(wǎng)絡(luò)通信,向被測軟件提供測試數(shù)據(jù),以支撐對被測軟件的功能、性能、接口、強(qiáng)度等類型的測試,有效擺脫測試環(huán)境的限制。同時與其他外部通信對象模擬軟件(如:網(wǎng)絡(luò)調(diào)試工具等)相比[7],本平臺除了對外部通信對象的模擬,還能夠自動生成測試數(shù)據(jù),并支持測試結(jié)果自動判定,能夠有效提高測試效率,保障測試質(zhì)量。

        1 ?基于python的軟件測試平臺概述

        python是一種面向?qū)ο?、解釋型的腳本語言,同時也是一種功能強(qiáng)大而完善的通用型語言,其提供了通信、文件操作、文件I/O等許多功能強(qiáng)大的類庫,能夠支持測試平臺的實(shí)現(xiàn)[8-9]。本文基于python內(nèi)置的socket、struct、csv等模塊,構(gòu)建軟件測平臺,向用戶提供網(wǎng)絡(luò)通信接口模擬、接口數(shù)據(jù)生成、接口數(shù)據(jù)解析、測試結(jié)果自動判定相關(guān)接口。使用戶能夠擺脫測試環(huán)境的限制,按照測試要求,快速模擬外部對象與被測軟件的網(wǎng)絡(luò)通信,實(shí)現(xiàn)對被測軟件的功能、性能、接口等類型的測試。該平臺由網(wǎng)絡(luò)通信模塊、接口數(shù)據(jù)生成模塊、接口數(shù)據(jù)解析模塊、測試結(jié)果自動判定模塊四大功能模塊組成,如圖1所示。各模塊主要功能見表1。

        2 ?基于python的軟件測試平臺實(shí)現(xiàn)過程

        2.1 ?網(wǎng)絡(luò)通信模塊

        TCP/IP協(xié)議是最常見的網(wǎng)絡(luò)通信協(xié)議之一,傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(UDP)是TCP/IP協(xié)議的核心[10]。python 內(nèi)置socket模塊中提供了大量TCP、UDP通信相關(guān)的函數(shù)接口可實(shí)現(xiàn)TCP、UDP通信[11]。本平臺基于socket,實(shí)現(xiàn)網(wǎng)絡(luò)通信模塊,向用

        (1)TCP通信接口模擬

        考慮到被測軟件與外部對象進(jìn)行TCP通信時,可能作為服務(wù)端,也可能作為客戶端,所以本平臺基于python socket,分別構(gòu)建Tcp_client、Tcp_Server兩個類,向用戶提供鏈路初始化、啟動鏈路、連接處理、發(fā)送數(shù)據(jù)等接口,實(shí)現(xiàn)被測軟件與外部對象的TCP通信模擬。并結(jié)合實(shí)際場景加入異常保護(hù)、線程處理以及接收回調(diào)函數(shù)機(jī)制,以提高程序的穩(wěn)定性,并支持鏈路數(shù)據(jù)同發(fā)同收以及多鏈路收發(fā)等復(fù)雜測試場景。Tcp_client、Tcp_Server提供的主要接口及描述如下,接口的使用方法如圖2所示。

        (2)UDP通信接口模擬

        經(jīng)分析,被測軟件與外部對象進(jìn)行UDP通信時,通信方式包括UDP組播以及UDP點(diǎn)對點(diǎn)通信,本平臺基于python socket,分別構(gòu)建UDP_MultiCast、UDP_Unicast兩個類,向用戶提供鏈路初始化、接收數(shù)據(jù)、發(fā)送數(shù)據(jù)等接口,實(shí)現(xiàn)被測軟件與外部對象的UDP通信模擬。同時,與TCP通信類似,也加入異常保護(hù)、線程處理以及接收回調(diào)函數(shù)機(jī)制,提高程序的穩(wěn)定性,且適應(yīng)復(fù)雜的測試場景。UDP_MultiCast、UDP_Unicast提供的主要接口及其描述如下,接口的使用方法與Tcp_client、Tcp_Server類似,包含數(shù)據(jù)接收函數(shù)定義、鏈路初始化及啟動,發(fā)送數(shù)據(jù)等步驟,此處不再贅述。

        a)Init:獲取配置的UDP組播、點(diǎn)對點(diǎn)通信初始化信息,創(chuàng)建并綁定socket;

        b)SendData:調(diào)用sendto函數(shù)進(jìn)行數(shù)據(jù)發(fā)送,并對發(fā)送異常進(jìn)行檢測及處理;

        c)ReadData:調(diào)用recvfrom函數(shù)進(jìn)行數(shù)據(jù)接收,并對發(fā)送異常進(jìn)行檢測及處理。

        2.2 ?接口數(shù)據(jù)生成模塊

        為實(shí)現(xiàn)按照用戶定義的數(shù)據(jù)結(jié)構(gòu),快速生成接口數(shù)據(jù),本平臺基于python內(nèi)置的csv、struct等模塊,實(shí)現(xiàn)數(shù)據(jù)接口文件的讀取及處理,并基于數(shù)據(jù)接口文件中定義的數(shù)據(jù)結(jié)構(gòu)自動生成數(shù)據(jù)打包的代碼,用戶以自動生成的數(shù)據(jù)打包代碼為模板,可快速生成符合測試場景的接口數(shù)據(jù)。具體的實(shí)現(xiàn)流程如圖3所示。

        2.3 ?接口數(shù)據(jù)解析模塊

        為實(shí)現(xiàn)按照用戶定義的數(shù)據(jù)結(jié)構(gòu),對被測軟件輸出的接口數(shù)據(jù)進(jìn)行解析,本平臺基于python內(nèi)置的csv、struct模塊,實(shí)現(xiàn)數(shù)據(jù)接口文件的讀取及處理,并按照讀取的數(shù)據(jù)結(jié)構(gòu)完成對被測軟件輸出的接口數(shù)據(jù)的解析,具體的實(shí)現(xiàn)流程如圖4所示。

        2.4 ?測試結(jié)果自動判定模塊

        完成接口數(shù)據(jù)解析后,本平臺可按照人工設(shè)置的判斷準(zhǔn)則,對接口的數(shù)據(jù)正確性進(jìn)行檢查,并顯示檢查結(jié)果,具體實(shí)現(xiàn)流程如下。

        3 ?平臺應(yīng)用及效果

        3.1 ?被測軟件概述

        選取某軍用設(shè)備系統(tǒng)控制軟件基于本平臺開展配置項(xiàng)測試,該系統(tǒng)控制軟件主要功能為與各設(shè)備建立通信連接(通信方式包括TCP,UDP通信),向各設(shè)備發(fā)送控制指令,控制各設(shè)備完成自檢、校準(zhǔn)、數(shù)據(jù)處理等各項(xiàng)任務(wù),并實(shí)時接收設(shè)備工作狀態(tài)、處理結(jié)果等設(shè)備上報(bào)數(shù)據(jù)進(jìn)行展示,其基本信息如表2所示。

        1 系統(tǒng)控制軟件 C/C++ Win7-64 TCP、UDP 120

        3.2 ?測試過程概述

        基于本平臺對被測軟件開展配置項(xiàng)測試的流程與基于實(shí)裝環(huán)境的測試流程基本一致,都包含測試需求分析及策劃、測試用例設(shè)計(jì)、測試環(huán)境搭建、測試用例執(zhí)行及測試總結(jié)5個階段,如圖6所示。其中測試需求分析及策劃、測試用例設(shè)計(jì)、測試總結(jié)階段的活動二者完全相同,在測試環(huán)境搭建、測試用例執(zhí)行階段二者有所不同,具體區(qū)別在于:

        a)測試環(huán)境搭建階段:基于實(shí)裝的測試需要獲取所有與被測軟件通信的設(shè)備,而基于本平臺的測試則不需要提供任何設(shè)備,但需編寫腳本調(diào)用本平臺提供的接口模擬與被測軟件通信的外部對象以及自動生成測試數(shù)據(jù),可大大降低對測試環(huán)境依賴性。

        b)測試執(zhí)行階段:基于實(shí)裝的測試需要人工解析被測軟件輸出數(shù)據(jù),以及對測試結(jié)果進(jìn)行人工判斷,而基于本平臺的測試可編寫腳本調(diào)用相應(yīng)接口實(shí)現(xiàn)被測軟件輸出數(shù)據(jù)的自動解析及測試結(jié)果自動判定,可提高測試執(zhí)行效率。

        3.3 ?測試結(jié)果及分析

        基于本平臺可支持對被測軟件的功能、接口、性能、強(qiáng)度等類型的測試,相比實(shí)裝環(huán)境,基于本平臺可更加便捷、高效的生成正常、異常、邊界等各類測試數(shù)據(jù),提高測試效率、充分性及測試深度,以發(fā)現(xiàn)更多的軟件缺陷。對基于本平臺的測試與同類型軟件在實(shí)裝環(huán)境下的測試結(jié)果數(shù)據(jù)進(jìn)行比較,可發(fā)現(xiàn):

        a)測試用例執(zhí)行方面:基于實(shí)裝的測試時會受限于設(shè)備狀態(tài)(如:設(shè)備無法產(chǎn)生部分異常數(shù)據(jù)、設(shè)備不齊套),導(dǎo)致部分用例無法執(zhí)行,用例執(zhí)行無法達(dá)到100%;而基于本平臺的測試可支持用戶按測試場景構(gòu)造任何測試數(shù)據(jù),測試執(zhí)行率可達(dá)到100%;

        b)測試效率方面:基于實(shí)裝的測試時會受限于設(shè)備狀態(tài)(如:設(shè)備狀態(tài)不穩(wěn)定或者出現(xiàn)故障),且測試數(shù)據(jù)準(zhǔn)備及測試執(zhí)行以人工操作為主,測試效率較低;而基于本平臺的測試雖然編制測試腳本會占用一定時間,但由于本平臺提供數(shù)據(jù)打包代碼自動生成、測試結(jié)果自動判定等自動化手段,其測試效率也優(yōu)于實(shí)裝測試(測試周期縮短約20%);

        c)缺陷發(fā)現(xiàn)方面:基于本平臺的測試可生成更加豐富的測試數(shù)據(jù),提高測試充分性及深度,相比實(shí)裝測試,能夠發(fā)現(xiàn)更多的軟件問題(軟件問題增加約為15%)。

        4 ?結(jié)論與展望

        本平臺基于python內(nèi)置的socket、csv、struct等模塊,實(shí)現(xiàn)網(wǎng)絡(luò)通信接口模擬、接口數(shù)據(jù)自動生成、接口數(shù)據(jù)自動解析以及測試結(jié)果自動判定功能,能夠有效解決軟件測試過程中測試效率低、測試環(huán)境限制等問題,提高測試效率及質(zhì)量。但本平臺也具有一定局限性,如:本平臺目前僅支持對TCP、UDP類型網(wǎng)絡(luò)通信的模擬,在后續(xù)應(yīng)對通信類型進(jìn)行拓展。同時,本平臺在測試結(jié)果自動判定方面僅支持對輸出類接口的自動判定,自動化程度較低,在后續(xù)也可以進(jìn)一步優(yōu)化,提高測試的自動化程度。

        參考文獻(xiàn)

        [1]劉國棟, 王艷, 龐瀾, 等. 集成與敏捷開發(fā)在軍用光電系統(tǒng)軟件開發(fā)中的應(yīng)用[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2020, 37(06): 9-13.

        [2]張琪. 大數(shù)據(jù)背景下軟件測試的挑戰(zhàn)與展望[J]. 軟件, 2018, 39(6): 181-183.

        [3]尹榕慧, 馮軼華. 信息軟件自動化性能測試方法關(guān)鍵技術(shù)研究[J]. 電子世界, 2020(12): 208-209.

        [4]薛巖, 姜鑫, 陳坤喬. 指揮信息系統(tǒng)軟件測試研究[J]. 工業(yè)控制計(jì)算機(jī), 2020, 33(06): 25-27.

        [5]楊燕, 劉釗, 蔡久濤. 基于探索性測試的軟件測試研究與實(shí)踐[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2020, 37(06): 29-33.

        [6]許禛, 王勇利. 淺談裝備軟件測試[J]. 甘肅科技, 2015, 31(14): 11-13.

        [7]劉飛. 航空電子系統(tǒng)MIL-STD-1553通信網(wǎng)絡(luò)接口驗(yàn)證測試[J]. 航空電子技術(shù), 2006(02): 31-37.

        [8]Lutz M. Programming Python[M]. 3rd ed. New York, USA: ?O'Reilly Press, 2006.

        [9]王聰穎. 基于Python的自動化測試框架的分析與設(shè)計(jì)[D]. 北京郵電大學(xué), 2017: 7-8.

        [10]楊小凡. TCP/IP相關(guān)協(xié)議及其應(yīng)用[J]. 通訊世界, 2019, 26(01): 27-28.

        [11]王麗. 運(yùn)用Python進(jìn)行網(wǎng)絡(luò)編程[J]. 電腦編程技巧與維護(hù), 2010(12): 86-87.

        猜你喜歡
        軟件測試網(wǎng)絡(luò)通信
        海上軍用網(wǎng)絡(luò)通信的安全控制技術(shù)
        基于OBE的軟件測試課程教學(xué)改革探索
        基于網(wǎng)絡(luò)通信的智能照明系統(tǒng)設(shè)計(jì)
        電子制作(2019年15期)2019-08-27 01:11:48
        EXCEL和VBA實(shí)現(xiàn)軟件測試記錄管理
        電子制作(2018年16期)2018-09-26 03:27:18
        網(wǎng)絡(luò)通信中信息隱藏技術(shù)的應(yīng)用
        關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
        電子測試(2017年15期)2017-12-18 07:19:20
        談計(jì)算機(jī)網(wǎng)絡(luò)通信常見問題及技術(shù)發(fā)展
        電子制作(2017年17期)2017-12-18 06:41:06
        軟件測試工程化模型及應(yīng)用研究
        真实单亲乱l仑对白视频| 91久久综合精品久久久综合| 日本精品久久久久中文字幕| 白白在线视频免费观看嘛| 久久精品国产久精国产爱| 国产激情久久久久影院老熟女免费| 精品无码一区二区三区亚洲桃色| 免费观看一区二区| 欧美片欧美日韩国产综合片| 日韩av一区二区蜜桃| 极品尤物精品在线观看| 久久久久九九精品影院| 成人区人妻精品一熟女| 亚洲中久无码永久在线观看软件| 久久精品伊人无码二区| 手机AV片在线| 麻豆av在线免费观看精品| 色婷婷一区二区三区四| 亚洲精品中文字幕一二三区| av无码国产在线看免费网站| 伊人久久大香线蕉综合网站| 久久成人免费电影| 中文字幕第一页在线无码一区二区| 全亚洲最大的私人影剧院在线看| 中文无码伦av中文字幕| 久久久天堂国产精品女人| 99热成人精品国产免| 亚洲精品尤物av在线网站| 日韩中文字幕熟女人妻| 国内免费高清在线观看| 中文字幕乱伦视频| 国产一区二区三区精品久久呦| 国产精品国产三级在线专区| 日韩精品人妻久久久一二三| 亚洲小说图区综合在线| 日韩高清亚洲日韩精品一区| 日本久久精品在线播放| 91久久国产香蕉熟女线看| 久久精品国产99国产精品澳门| 国产莉萝无码av在线播放| 亚洲国产av一区二区三区四区 |