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

        ?

        一種進(jìn)程間通信的自動(dòng)化測(cè)試技術(shù)的實(shí)現(xiàn)與應(yīng)用

        2019-02-02 03:58:00徐鶯江紅辜彬陳顏

        徐鶯 江紅 辜彬 陳顏

        摘要:隨著應(yīng)用系統(tǒng)及軟件技術(shù)的發(fā)展, 手工測(cè)試已不能滿(mǎn)足軟件測(cè)試的要求, 軟件測(cè)試自動(dòng)化越來(lái)越成為一種發(fā)展趨勢(shì)。在自動(dòng)化測(cè)試平臺(tái)的構(gòu)建過(guò)程中,圍繞功能自動(dòng)化核心問(wèn)題的解決,提出了基于進(jìn)程間通信技術(shù)實(shí)現(xiàn)自動(dòng)化測(cè)試的思路,采用python語(yǔ)言開(kāi)發(fā)相關(guān)工具,并經(jīng)過(guò)測(cè)試實(shí)踐,驗(yàn)證了工具良好的應(yīng)用價(jià)值,為功能自動(dòng)化測(cè)試的實(shí)現(xiàn)提供了重要的思路和實(shí)踐參考。

        關(guān)鍵詞:進(jìn)程間通信;接口測(cè)試;自動(dòng)化測(cè)試

        中圖分類(lèi)號(hào):TP311.53 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2019)11-0012-04

        0 引言

        隨著應(yīng)用系統(tǒng)與軟件技術(shù)的飛速發(fā)展,軟件及系統(tǒng)的產(chǎn)品化測(cè)試越來(lái)越成為,科研設(shè)計(jì)、產(chǎn)品化能力的重要方面;持續(xù)提高軟件產(chǎn)品的質(zhì)量,開(kāi)發(fā)的效率,提高測(cè)試的效率和精準(zhǔn)度的需求日益迫切。

        傳統(tǒng)手工測(cè)試,在測(cè)試需求分析、用例設(shè)計(jì)的基礎(chǔ)上,依賴(lài)人工執(zhí)行過(guò)程,無(wú)法完全解決測(cè)試過(guò)程重入的問(wèn)題;同時(shí)軟件產(chǎn)品開(kāi)發(fā)需解決研發(fā)迭代過(guò)程與發(fā)布周期的矛盾,通過(guò)引入自動(dòng)化測(cè)試縮短測(cè)試周期,提高測(cè)試精準(zhǔn)度,達(dá)到快速迭代開(kāi)發(fā),滿(mǎn)足發(fā)布周期的需求[1]。

        軟件測(cè)試自動(dòng)化越來(lái)越成為軟件的發(fā)展趨勢(shì)。在軟件系統(tǒng)產(chǎn)品的自動(dòng)化測(cè)試平臺(tái)構(gòu)建的過(guò)程中,圍繞解決功能自動(dòng)化測(cè)試,提出一種基于進(jìn)程通信接口進(jìn)行功能自動(dòng)化測(cè)試的方法,開(kāi)發(fā)了相應(yīng)的測(cè)試工具,并引入實(shí)踐應(yīng)用。

        1 自動(dòng)化測(cè)試需求

        1.1 功能自動(dòng)化測(cè)試研究情況

        自動(dòng)化測(cè)試的本質(zhì)是按照測(cè)試設(shè)計(jì)的輸入構(gòu)建測(cè)試條件、注入被測(cè)對(duì)象,并獲取輸出進(jìn)行對(duì)比的過(guò)程,采用程序的方式實(shí)現(xiàn)用例過(guò)程的自動(dòng)驅(qū)動(dòng)與執(zhí)行,減少手工測(cè)試的主觀影響,同時(shí)解決測(cè)試過(guò)程重復(fù)執(zhí)行的高效率實(shí)現(xiàn)。

        建立自動(dòng)化測(cè)試平臺(tái),一般涉及持續(xù)集成平臺(tái)的建立、用例驅(qū)動(dòng)的實(shí)現(xiàn)、功能/性能自動(dòng)化實(shí)現(xiàn),測(cè)試工具集成與驅(qū)動(dòng)等問(wèn)題。

        相關(guān)問(wèn)題的研究發(fā)展非常迅猛,而其中,功能自動(dòng)化實(shí)現(xiàn)是核心問(wèn)題之一。功能自動(dòng)化的研究更多著力于界面元素多變問(wèn)題的解決。當(dāng)前的研究方法包括如下幾種:

        (1)通過(guò)測(cè)試工具實(shí)現(xiàn)基于界面的錄制與回放:典型方法是錄制第一次執(zhí)行測(cè)試用例時(shí)的鼠標(biāo)和鍵盤(pán)操作,需要執(zhí)行時(shí)回放。測(cè)試工具主要功能是,記錄和回放。(2)基于數(shù)據(jù)驅(qū)動(dòng)實(shí)現(xiàn)測(cè)試過(guò)程的重入:將測(cè)試用到的輸入和輸出值存儲(chǔ)于數(shù)據(jù)文件中,測(cè)試執(zhí)行時(shí)讀取并載入,不同測(cè)試用例對(duì)應(yīng)各自的數(shù)據(jù)文件及控制信息。(3)關(guān)鍵字驅(qū)動(dòng):通過(guò)將測(cè)試用例抽象為對(duì)象、控制、數(shù)據(jù),通過(guò)封裝關(guān)鍵字(特定的測(cè)試功能腳本),實(shí)現(xiàn)界面控件與測(cè)試內(nèi)部對(duì)象名的分離,使測(cè)試腳本、測(cè)試數(shù)據(jù)、測(cè)試用例的更新和維護(hù)更加容易實(shí)施。

        目前關(guān)鍵字驅(qū)動(dòng),越來(lái)越成為功能自動(dòng)化測(cè)試的主流技術(shù),通過(guò)對(duì)應(yīng)相關(guān)產(chǎn)品系統(tǒng)的業(yè)務(wù)特征,開(kāi)發(fā)基于業(yè)務(wù)流程的關(guān)鍵字集,實(shí)現(xiàn)腳本與用例分離,已經(jīng)能比較好的解決界面元素變化以及后續(xù)開(kāi)發(fā)維護(hù),擴(kuò)展的問(wèn)題。

        在此基礎(chǔ)上,進(jìn)一步提高功能測(cè)試深度與效果是功能成為功能自動(dòng)化測(cè)試的重要方面。

        1.2 功能自動(dòng)化測(cè)試構(gòu)建思路

        考察一般的軟件產(chǎn)品的模型架構(gòu)如圖1,可以將軟件功能分為界面層、功能層、數(shù)據(jù)層。傳統(tǒng)的軟件功能測(cè)試,通常在最上層構(gòu)建相關(guān)的數(shù)據(jù)及操作,通過(guò)Web界面、本地命令行等形式進(jìn)行輸入,驅(qū)動(dòng)覆蓋相關(guān)的軟件邏輯分支[2]。由于接口、分支的耦合性、關(guān)聯(lián)性,通過(guò)界面能夠構(gòu)造的輸入是一種受限輸入,無(wú)法覆蓋實(shí)現(xiàn)中的所有分支,被測(cè)對(duì)象分支覆蓋不完整,在某些極端、特殊條件下,遺留缺陷,對(duì)產(chǎn)品質(zhì)量形成隱患。

        基于這種情況,我們提出將界面層剝離,將功能層模塊的邏輯分支作為測(cè)試對(duì)象,通過(guò)在功能層,直接構(gòu)造測(cè)試輸入,覆蓋相關(guān)分支的方法來(lái)進(jìn)行深入的功能測(cè)試。

        采用本地進(jìn)程間通信接口來(lái)進(jìn)行測(cè)試驅(qū)動(dòng),包括socket、進(jìn)程間管道、FIFO等接口,設(shè)計(jì)開(kāi)發(fā)相關(guān)測(cè)試工具,將所有后臺(tái)的功能邏輯過(guò)程,抽象、統(tǒng)一為一種本地協(xié)議的方式進(jìn)行測(cè)試的思路,如圖2所示。

        進(jìn)程間通信功能自動(dòng)化測(cè)試工具主要解決中如下問(wèn)題:

        (1)通過(guò)將測(cè)試用例,抽象為本地協(xié)議的方式,解決界面元素多變的問(wèn)題;(2)通過(guò)進(jìn)程間通信接口的方式,實(shí)現(xiàn)測(cè)試輸入構(gòu)造,提升測(cè)試覆蓋度及測(cè)試深度,覆蓋驅(qū)動(dòng)被動(dòng)對(duì)象更多的分支;(3)提供socket通信、管道、共享內(nèi)存等形式的進(jìn)程間通信接口,具有靈活、擴(kuò)展性,適應(yīng)多種本地功能自動(dòng)化測(cè)試。

        2 主要開(kāi)發(fā)與設(shè)計(jì)技術(shù)

        2.1 Python與自動(dòng)化

        Python是一種面向?qū)ο蟮哪_步語(yǔ)言,具有良好的開(kāi)發(fā)、迭代的效率,通過(guò)內(nèi)嵌應(yīng)用層編程功能庫(kù),支撐靈活的開(kāi)發(fā)和三方擴(kuò)展。python腳本可實(shí)現(xiàn)靈活的上層應(yīng)用程序通信,支持多種平臺(tái)和語(yǔ)言,包括c/c++、Java等。Python程序編譯器實(shí)現(xiàn),考慮了不同平臺(tái)的字節(jié)碼的適應(yīng),能夠方便的跨平臺(tái)使用,是當(dāng)前自動(dòng)化測(cè)試中應(yīng)用最廣的語(yǔ)言之一。進(jìn)程間通信自動(dòng)化測(cè)試工具采用跨平臺(tái)python語(yǔ)言作為開(kāi)發(fā)語(yǔ)言進(jìn)行開(kāi)發(fā),兼顧了工具應(yīng)用的適應(yīng)性,以及工具集成到自動(dòng)化平臺(tái)的可實(shí)施性。

        2.2 用例驅(qū)動(dòng)

        工具設(shè)計(jì)基于用例驅(qū)動(dòng)的原理進(jìn)行。

        用例驅(qū)動(dòng)設(shè)計(jì)原則包括2個(gè)方面:(1)測(cè)試人員根據(jù)用例模板進(jìn)行測(cè)試用例設(shè)計(jì),獨(dú)立用例操作和用例數(shù)據(jù),由測(cè)試工具根據(jù)用例數(shù)據(jù)進(jìn)行接口識(shí)別,參數(shù)識(shí)別和封裝,測(cè)試人員不用關(guān)心測(cè)試腳本的調(diào)用和執(zhí)行;(2)工具接口除了實(shí)現(xiàn)自身功能之外,還可實(shí)現(xiàn)相關(guān)的典型業(yè)務(wù)測(cè)試,與其他接口存在上下文關(guān)系,可組合成各種業(yè)務(wù)測(cè)試的邏輯,實(shí)現(xiàn)較為復(fù)雜的功能測(cè)試過(guò)程。

        2.3 本地協(xié)議表示

        將本地測(cè)試調(diào)用的多種形式,抽象為本地協(xié)議表示,提供通用的協(xié)議模板定制,實(shí)現(xiàn)協(xié)議數(shù)據(jù)包生成,并以此為基礎(chǔ)實(shí)現(xiàn)工具的主要數(shù)據(jù)輸入、控制輸入,輸出對(duì)比功能。

        協(xié)議動(dòng)態(tài)測(cè)試由通信雙方實(shí)體(一端用測(cè)試工具模擬測(cè)試端,一端作為被測(cè)端)和控制端構(gòu)成,測(cè)試控制端根據(jù)用例控制測(cè)試端與被測(cè)端實(shí)施動(dòng)態(tài)測(cè)試業(yè)務(wù),并統(tǒng)計(jì)結(jié)果形成測(cè)試報(bào)告,模型見(jiàn)圖3。

        2.4 進(jìn)程間通信技術(shù)與測(cè)試接口

        操作系統(tǒng)的進(jìn)程間通信方式通常有7種:COM/DCOM、File Mapping文件映射方式、系統(tǒng)消息方式、Pipe管道方式、Mailslots郵件槽、RPC遠(yuǎn)程過(guò)程調(diào)用方式和Windows Sockets網(wǎng)絡(luò)套接字方式[3]。

        Pipe管道是一種以先進(jìn)先出的方式保存一定數(shù)量數(shù)據(jù)的特殊文件。Pipe通信是高層的、基于內(nèi)存的通信系統(tǒng);通信中,由系統(tǒng)提供再執(zhí)行寫(xiě)操作和讀操作的進(jìn)程之間的同步。在默認(rèn)情況下,如果一個(gè)進(jìn)程試圖寫(xiě)入一個(gè)已填滿(mǎn)的管道,系統(tǒng)會(huì)自動(dòng)阻塞該進(jìn)程,直到管道能夠接收數(shù)據(jù);如果試圖讀一個(gè)空管道,進(jìn)程會(huì)阻塞,直到有可讀數(shù)據(jù)出現(xiàn)為止;如果一個(gè)進(jìn)程以讀方式打開(kāi)一個(gè)管道,而沒(méi)有另外的進(jìn)程以寫(xiě)方式打開(kāi)該管道,則同樣會(huì)造成該進(jìn)程阻塞。

        網(wǎng)絡(luò)套接字是一種網(wǎng)絡(luò)通信、進(jìn)程間通信的端口抽象標(biāo)識(shí),是通用操作系統(tǒng)中基本的通信實(shí)現(xiàn)技術(shù)。套接字的要素包括地址簇、套接字類(lèi)型、協(xié)議,socket在應(yīng)用程序中串接,通過(guò)昂頂與網(wǎng)絡(luò)驅(qū)動(dòng)建立關(guān)系,并基于接口,實(shí)現(xiàn)數(shù)據(jù)的方式。

        在功能測(cè)試中,進(jìn)程間通信,提供了一種有效的測(cè)試注入接口,實(shí)現(xiàn)測(cè)試驅(qū)動(dòng)。從測(cè)試驅(qū)動(dòng)的角度,socket套接字、共享內(nèi)存、是更加理想有效的驅(qū)動(dòng)方式。在本文的xxx工具設(shè)計(jì)中,重點(diǎn)以socket套接字實(shí)現(xiàn)測(cè)試接口。后續(xù)進(jìn)一步擴(kuò)展其他方式的測(cè)試驅(qū)動(dòng)。

        2.5 實(shí)現(xiàn)與設(shè)計(jì)

        2.5.1 功能框架

        進(jìn)程間通訊接口測(cè)試需要適應(yīng)各類(lèi)進(jìn)程通訊方式,如socket、共享內(nèi)存、管道、FIFO等,在通訊方式適應(yīng)上應(yīng)有足夠的可擴(kuò)展性。進(jìn)程間接口交互多為產(chǎn)品實(shí)現(xiàn)需要而定義,接口相對(duì)簡(jiǎn)單實(shí)用,在協(xié)議數(shù)據(jù)格式方面存在多樣性,如XML格式、二進(jìn)制、十六進(jìn)制、字符等數(shù)據(jù)類(lèi)型,要求工具要能適應(yīng)不同數(shù)據(jù)類(lèi)型,按協(xié)議數(shù)據(jù)要求收發(fā)和處理數(shù)據(jù)。工具功能框圖如圖4。

        2.5.2 典型流程實(shí)現(xiàn)

        主要流程實(shí)現(xiàn)實(shí)例:

        (1)讀取Excel中的用例,獲取報(bào)文模板,通信流程,報(bào)文內(nèi)容的邊界值定義以及驗(yàn)收標(biāo)準(zhǔn)等相關(guān)信息;

        (2)讀取報(bào)文模板;

        head.xml

        body.xml

        (3)構(gòu)造報(bào)文并根據(jù)報(bào)文內(nèi)容邊界值進(jìn)行判斷,調(diào)用函數(shù)buildPacket進(jìn)行報(bào)文構(gòu)造,傳入bsid=769表明要修改的字段,構(gòu)造的報(bào)文如下:

        (4)發(fā)送報(bào)文;調(diào)用函數(shù)sendPacket進(jìn)行報(bào)文發(fā)送。

        (5)接收并處理報(bào)文;調(diào)用函數(shù)recvPacket進(jìn)行報(bào)文接收,然后調(diào)用函數(shù)writeRecv進(jìn)行接收?qǐng)?bào)文處理。接收并被處理后的報(bào)文如下:

        (6)結(jié)果分析;調(diào)用函數(shù)verify進(jìn)行對(duì)接收?qǐng)?bào)文的分析,傳入rst=0表示要檢查的字段,檢查結(jié)果顯示如下:

        (7)根據(jù)用例中的定義,如果有多個(gè)通信交互流程并且滿(mǎn)足繼續(xù)執(zhí)行的則繼續(xù)執(zhí)行;

        (8)完成整流流程,用例執(zhí)行完畢,回寫(xiě)測(cè)試用例執(zhí)行結(jié)果;

        (9)日志記錄;

        整個(gè)測(cè)試過(guò)程的日志記錄如下:

        測(cè)試發(fā)送/接收的報(bào)文存儲(chǔ)如圖5。

        3 應(yīng)用效果

        將本工具應(yīng)用于xx管理系統(tǒng)本地管理模塊的功能測(cè)試過(guò)程,定制本地管理協(xié)議模板,設(shè)計(jì)測(cè)試用例進(jìn)行功能測(cè)試及穩(wěn)定性測(cè)試。基于本地管理協(xié)議接口設(shè)計(jì)用例,提高了用例分支覆蓋度,與手工測(cè)試階段相比,測(cè)試過(guò)程捕獲16項(xiàng)嚴(yán)重問(wèn)題,3項(xiàng)致命缺陷。取得良好的測(cè)試效果。與手工測(cè)試執(zhí)行對(duì)比圖表如圖6、表1。

        4 結(jié)語(yǔ)

        本文分析當(dāng)前主流的自動(dòng)化平臺(tái)構(gòu)建的思路和主要思路,研究了功能自動(dòng)化測(cè)試方法,基于提升測(cè)試效率和深度,提出了一種基于進(jìn)程間通信技術(shù)實(shí)現(xiàn)功能自動(dòng)化測(cè)試的方法,用python語(yǔ)言實(shí)現(xiàn)了進(jìn)程間通信自動(dòng)化測(cè)試工具,該工具在實(shí)際項(xiàng)目中,進(jìn)行了應(yīng)用,在測(cè)試效率的提高和測(cè)試成本的降低方面,取得了良好的效果,是自動(dòng)化平臺(tái)建設(shè),核心功能自動(dòng)化測(cè)試解決方案的有益探索。

        參考文獻(xiàn)

        [1] 吳振宇,顧曉明,李翔.協(xié)議可擴(kuò)展的軟件接口測(cè)試工具的研究與實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2017(12):58-60.

        [2] 王軍,孟凡鵬.基于關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測(cè)試研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2012(9):3653-3655.

        [3] 袁鴻,劉浩,廖文和.進(jìn)程間通信技術(shù)在系統(tǒng)集成中的應(yīng)用[J].重慶大學(xué)學(xué)報(bào),2008(4):436-441.

        看全色黄大黄大色免费久久 | 又爽又黄禁片视频1000免费| 全部免费国产潢色一级| 午夜少妇高潮免费视频| 色久悠悠婷婷综合在线| 伊人色综合久久天天五月婷| 永久免费无码av在线网站| 男人深夜影院无码观看| av免费在线播放观看| 国产激情艳情在线看视频| 亚洲av无码国产剧情| 白丝美女被狂躁免费视频网站| 国产一区二区三区小向美奈子| 暖暖 免费 高清 日本 在线| 国产精品高潮呻吟av久久4虎| 无码一区二区三区网站| 日本少妇又色又紧又爽又刺激| 噜噜综合亚洲av中文无码| 俺来也俺去啦最新在线| 国产成人cao在线| 中文字幕在线乱码日本| 日本大乳高潮视频在线观看| 亚洲日韩欧美国产另类综合| 国产在线白浆一区二区三区在线 | 中文人妻av久久人妻水蜜桃| 亚洲欧洲无码一区二区三区| 亚洲AV成人无码天堂| 91九色国产老熟女视频| 女人被弄到高潮的免费视频| 成人区视频| 午夜精品人妻中字字幕| 成人无码av免费网站| 亚洲巨乳自拍在线视频| 激情五月婷婷久久综合| 国内嫩模自拍诱惑免费视频| 成人无码α片在线观看不卡| 久久精品中文字幕极品| 午夜视频手机在线免费观看| 99久热在线精品视频观看| 最新69国产成人精品视频免费| 亚洲av精品一区二区三|