999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python的軟件測試自動化平臺研究

2018-04-15 16:14:25珠海格力電器股份有限公司黃金武
電子世界 2018年14期
關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng)

珠海格力電器股份有限公司 張 璐 黃金武

1 引言

在所有的軟件開發(fā)過程中,軟件測試工作均貫穿了整個研發(fā)過程,從系統(tǒng)編寫、框架構(gòu)建、系統(tǒng)編碼以及整個體系的應(yīng)用都需要有效的測試平臺來檢驗其有效性。根據(jù)國外的研究顯示,軟件在測試階段投入的成本量占總成本量的40%,而工作量則占總工作量的50%以上。傳統(tǒng)的測試方法周期較長,并且在出錯改動后難以進(jìn)行回歸測試。因此,必須采用自動化軟件測試平臺才能夠提高該項工作效率,減少軟件的研發(fā)周期。

2 基于Python的軟件測試自動化平臺的需求

2.1 數(shù)據(jù)共享

數(shù)據(jù)中心由兩臺高性能計算機(jī)作為數(shù)據(jù)庫載體,配以大容量的磁盤陣列和磁帶機(jī),系統(tǒng)通過光纖存儲交換機(jī)相連,采用雙鏈路備份的方式,保證數(shù)據(jù)庫的可用性與可靠性。系統(tǒng)涉及到整合其他業(yè)務(wù)系統(tǒng)的數(shù)據(jù),其他寫數(shù)據(jù)有結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)庫可能有Oracle或者SQLServer等結(jié)構(gòu)化數(shù)據(jù)庫,也有NoSQL類型的數(shù)據(jù)庫,或者分布式數(shù)據(jù)庫,同時考慮到與政務(wù)大數(shù)據(jù)平臺相結(jié)合,因此,本方案設(shè)計系統(tǒng)把采集過來的數(shù)據(jù)存儲在由Hadoop搭建的分布式存儲系統(tǒng)上,通過HBase進(jìn)行結(jié)構(gòu)化數(shù)據(jù)存儲,通過逐步建立分布式數(shù)據(jù)分析模型,不斷的豐富系統(tǒng)提供的服務(wù)。MapReduce是由Google提供的建立在HDFS之上的一個并行計算框架;我們需要通過MapReduce框架設(shè)計對共享數(shù)據(jù)的檢索與分析,為各種業(yè)務(wù)系統(tǒng)提供數(shù)據(jù)。HBase是一個類似于Google BigTable的分布式NoSQL列數(shù)據(jù)庫;Hive是由Facebook貢獻(xiàn)的一個數(shù)據(jù)倉庫工具提供類SQL查詢方法,使得上層數(shù)據(jù)應(yīng)用程序可以通過關(guān)系型數(shù)據(jù)庫訪問的方式查詢分布式文件系統(tǒng)中的數(shù)據(jù);Zookeeper是由Facebook提供的一個分布式鎖設(shè)施,在整個平臺中起到協(xié)調(diào)各種操作的作用。Pig是一個大數(shù)據(jù)分析平臺,為用戶提供多種接口,在系統(tǒng)中主要通過其方便的腳本編程接口為上層數(shù)據(jù)應(yīng)用程序提供服務(wù)。

2.2 通信協(xié)議

現(xiàn)代計算機(jī)分布式存儲系統(tǒng)應(yīng)當(dāng)可以實現(xiàn)以下功能,探測功能主要指的是系統(tǒng)可以對發(fā)生異常信號的地區(qū)能夠準(zhǔn)確快速的進(jìn)行探測,主要有又可以分為危險行為的探測和目標(biāo)識別探測,它們所應(yīng)用的區(qū)域是不一樣的,危險行為探測主要是進(jìn)行危險報警,而目標(biāo)識別主要是用于安檢。響應(yīng)主要是指通信系統(tǒng)對檢測到的信號能夠有所反應(yīng),主要包括報警信號以及系統(tǒng)的自動記錄與控制等。通信系統(tǒng)的管理功能主要實現(xiàn)日常操作的智能化管理,能夠?qū)τ谝恍┏绦蛄鞒蹋M(jìn)行自動化的施行。通信系統(tǒng)的信息存儲主要包括探測信息、管理信息以及系統(tǒng)日志的存儲三大方面。Python軟件測試數(shù)據(jù)庫采用鍵值存儲方式,它主要是通過集合的方式來進(jìn)行存儲的,可以進(jìn)行有效的索引,它的主要特點在于在存儲二進(jìn)制數(shù)據(jù)的時候,可以把任何一種文本轉(zhuǎn)換為二進(jìn)制文件進(jìn)行較快的分塊存儲,在存儲當(dāng)中可以把二進(jìn)制文件放在多臺服務(wù)器當(dāng)中進(jìn)行存放,使得其存儲能力得到大幅的提升。Python軟件測試數(shù)據(jù)庫系統(tǒng)的特殊性使其數(shù)據(jù)庫存在更高的安全性與保密性系統(tǒng)數(shù)據(jù)要求,在設(shè)計系統(tǒng)過程中,應(yīng)該將系統(tǒng)連接、安全隔離與過濾信息等安全措施考慮進(jìn)來,從而為系統(tǒng)安全提供保證。不能出現(xiàn)修改數(shù)據(jù),系統(tǒng)可以提供全面系統(tǒng)的用戶權(quán)限管理體制,對于系統(tǒng)授權(quán)用戶合法訪問提供保證,預(yù)防出現(xiàn)非授權(quán)訪問,將應(yīng)用開發(fā)軟件、數(shù)據(jù)庫管理系統(tǒng)與舊產(chǎn)品、同類其他產(chǎn)品兼容。Python軟件測試數(shù)據(jù)庫可以利用兩種方式來進(jìn)行二進(jìn)制文件的存儲,第一種是系統(tǒng)進(jìn)行主動的分片存儲,第二是用戶采用自定義的方式進(jìn)行存儲,分片存儲主要是把二進(jìn)制文件分成多個部分,每個部分通過一條記錄來放入數(shù)據(jù)庫當(dāng)中實現(xiàn)負(fù)載均衡,用戶自定義就是用戶對于數(shù)據(jù)塊的大小進(jìn)行分配,可以對于數(shù)據(jù)的存儲位置進(jìn)行管控,應(yīng)用程序?qū)崿F(xiàn)多個分塊服務(wù)器間的通信與調(diào)整。

3 基于Python的軟件測試自動化平臺的設(shè)計方案

3.1 數(shù)據(jù)處理

在安卓軟件測試環(huán)境下,數(shù)據(jù)規(guī)模和復(fù)雜度的增加往往非常迅速,對系統(tǒng)的擴(kuò)展性能要求較高。實現(xiàn)存儲系統(tǒng)的高可擴(kuò)展性首先要解決兩個方面的重要問題,包含元數(shù)據(jù)的分配和數(shù)據(jù)的透明遷移。因此數(shù)據(jù)中心配備包括支撐以上功能的硬件基礎(chǔ)設(shè)施、大型外部設(shè)備、數(shù)據(jù)庫管理商用軟件、數(shù)據(jù)處理專業(yè)商用軟件、數(shù)據(jù)管理應(yīng)用軟件、數(shù)據(jù)服務(wù)應(yīng)用軟件、數(shù)據(jù)交換系統(tǒng),以及相應(yīng)的專業(yè)人員。數(shù)據(jù)中心硬件配置一般包括:服務(wù)器(業(yè)務(wù)應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器、交換服務(wù)器);存儲系統(tǒng)(SAN光纖交換機(jī)、磁盤陣列、NAS文件存貯);交換機(jī)(核心交換機(jī)、服務(wù)器群子網(wǎng)交換機(jī)、部門接入子網(wǎng)交換機(jī));大型外設(shè);全冗余的硬件設(shè)備及鏈路。數(shù)據(jù)中心軟件配置包括:網(wǎng)管軟件;應(yīng)用服務(wù)器軟件;數(shù)據(jù)庫管理系統(tǒng);GIS軟件;數(shù)據(jù)備份軟件;目錄服務(wù)及元數(shù)據(jù)發(fā)布軟件;LDAP服務(wù)器;安全管理軟件;消息中間件;云虛擬機(jī)管理軟件等。整個數(shù)據(jù)中心網(wǎng)絡(luò)可以建立在云計算平臺之上,所有的應(yīng)用系統(tǒng)服務(wù)器均由虛擬化服務(wù)器提供,這樣的好處在于可以按需配置服務(wù)器資源,保障服務(wù)器資源的充分利用和靈活調(diào)度。

負(fù)載均衡進(jìn)行服務(wù)器并行運算雖可提供大量并行并發(fā)運算單元,但部署在負(fù)載均衡上的智能運算需將數(shù)據(jù)庫中的數(shù)據(jù)集加載至智能服務(wù)器上運算,對數(shù)據(jù)庫負(fù)擔(dān)重,且使數(shù)據(jù)庫與智能模塊間頻繁交互信息,且加載了大量冗余數(shù)據(jù),增加了網(wǎng)絡(luò)負(fù)擔(dān)。具體來說其應(yīng)用如下:(1)在數(shù)據(jù)庫底層進(jìn)行高效的數(shù)據(jù)運算。(2)將過程化的游標(biāo)運算改為使用XML變量、表變量、存儲過程并行運算。(3)WEBSERVICE服務(wù)器負(fù)載均衡只作為不同用戶并發(fā)運算及傳輸輸入輸出參數(shù)的服務(wù)器,數(shù)據(jù)庫服務(wù)器采用負(fù)載均衡提供并行并發(fā)運算。將前臺系統(tǒng)應(yīng)用請求的智能模塊XML入?yún)ⅲ?jīng)負(fù)載均衡判斷送入哪臺WEBSERVICE服務(wù)器(判斷哪臺WEBSERVICE服務(wù)器空閑),WEBSERVICE服務(wù)器接收到XML入?yún)⒑笈袛嗾{(diào)用哪個類接口,類接口將XML入?yún)⒒虺醪胶唵谓馕鲞^的XML入?yún)⑴袛嘁{(diào)用哪臺數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器存儲過程接收到XML入?yún)⒑笤趦?nèi)存表中調(diào)用數(shù)據(jù)高速并行運算(大量采用函數(shù)作為并行運算單元)。XML作為數(shù)據(jù)庫入?yún)ⅰ?nèi)存表技術(shù)。數(shù)據(jù)庫函數(shù)運算。欲保護(hù)點:將過程化游標(biāo)算法轉(zhuǎn)化為函數(shù)并列算法。將webservice邏輯過程化算法轉(zhuǎn)化為數(shù)據(jù)庫并行存儲過程+函數(shù)算法。

以下模型計算機(jī)智能決策過程約需100步左右。原有算法需要將相關(guān)信息作為入?yún)⑤斎耄蟾鶕?jù)入?yún)⒑Y選出符合分?jǐn)?shù)的方案,再用游標(biāo)根據(jù)信息逐一判斷卡位,算出決策方向,最后匹配其他參數(shù)。約需20分鐘,系統(tǒng)才能出結(jié)果。便如12306網(wǎng)站這么簡單的算法也要排隊一樣。系統(tǒng)將過程化需大量交互至webservice邏輯層的運算推至最底層,用大量并行運算方法,短期內(nèi)得出結(jié)果,約需0.3~0.6秒。

3.2 工作流設(shè)計

基于Python的軟件測試自動化平臺的工作流一般包括5種,分別為重啟、編譯、執(zhí)行、結(jié)果、輸出。其中,重啟工作流是測試過程中所帶動的第1個工作流,該測試的執(zhí)行流程為:(1)進(jìn)入臨時文件;(2)重啟臨時文件(如果選擇“否”操作則該工作流直接結(jié)束,如果選擇“是”操作則工作流繼續(xù)進(jìn)行);(3)讀取現(xiàn)場文件;(4)刪除該現(xiàn)場文件;(5)在用例文件中讀取該現(xiàn)場文件;(6)工作流結(jié)束,其主要是對OS.path包中是否具有現(xiàn)場文件進(jìn)行檢測。編譯工作流是測試中所調(diào)動的第2個內(nèi)容,其執(zhí)行流程包括:(1)接受參數(shù)和賦值的變化;(2)對每一個用例文件進(jìn)行瀏覽;(3)對用例文件中的Case進(jìn)行測試;(4)將Case封裝到模板中;(5)對.py格式文件進(jìn)行輸出。在封裝的過程中需要注意,應(yīng)該是將.txt格式文件封裝為.py文件,所使用的模板文件名為caseTemplate.pyCaseTmplate,這樣就能夠?qū)⒛0遄址陀美膬?nèi)容添加到try語句中。Python的工作流設(shè)計方法是通過強(qiáng)化學(xué)習(xí),來對傳統(tǒng)的工作流設(shè)計進(jìn)行優(yōu)化,然后可以有效的解決離散系統(tǒng)和非線性系統(tǒng)中出現(xiàn)的問題,主要包括策略迭代和直接在兩種形式,策略迭代主要是通過策略評價與改進(jìn)的方法,對每一步的策略進(jìn)行評估,來不斷的尋找優(yōu)化的策略,同時對其進(jìn)行改良和優(yōu)化,得到新的權(quán)值,生成新的優(yōu)化函數(shù)進(jìn)行計算,在這個過程當(dāng)中,評估和改進(jìn)是循環(huán)進(jìn)行的,最后將會得到一個最優(yōu)的控制策略。但是需要注意的是,在最好的運行模式下,相關(guān)的一些外部參數(shù)條件應(yīng)當(dāng)是穩(wěn)定的,這是非常重要的,如果沒有這個條件,就會導(dǎo)致整個策略評估,出現(xiàn)一些意外的情況。值迭代的算法主要是針對于一些方程式的計算,通過最優(yōu)函數(shù)的尋找與控制計算,就能計算出最優(yōu)的值,它不需要進(jìn)行控制策略的穩(wěn)定化,在我們的使用當(dāng)中必須要注意,無論是迭代策略還是值迭代,都需要對于被控對象的相關(guān)特性,尤其是內(nèi)部特性進(jìn)行研究,這也是自適應(yīng)工作流設(shè)計的核心特點。

3.3 C#模塊設(shè)計

軟件測試自動化平臺下的c#模塊一般包括4個部分,分別是文件、執(zhí)行、腳本編輯以及實時信息顯示四大模塊。其中,文件模塊主要引用了using System.10,這樣就能夠保證其對多種類型的文件進(jìn)行創(chuàng)建和讀取,并且在保存時也能夠為用戶提供更加方便的顯示界面。但需要注意的是,在控件使用過程中應(yīng)該將默認(rèn)狀態(tài)下的.Filter格式更改為.txt格式,這樣就能夠保證文件的通用性和快速選擇性。在打開文件后,需要采用逐行讀取數(shù)據(jù)的方式,并采用StreamReader.Append的方法添加文件中的字符,同時該方法還能夠在字符串連接時降低損耗。執(zhí)行模塊主要是控制系統(tǒng)的運行、暫停以及停止,并且能夠?qū)⒖臻g使用后生成的文件轉(zhuǎn)化為.txt格式。腳本編輯模塊同樣包含3個空間,其主要在第2個分頁、出現(xiàn)\n字符時以及新建文件時所觸發(fā)的功能控件。信息顯示模塊共包含2個控件,其一是TabControl,主要是在第2個分頁發(fā)揮作用;其二是TextBox,其屬于復(fù)合型控件,能夠?qū)︼@示數(shù)據(jù)的輸出進(jìn)行邏輯判斷。利用Python軟件測試支持字段可以進(jìn)行范圍查詢和正則表達(dá)式搜索,返回文檔的特定字段,還可以包含用戶定義的JavaScript函數(shù),也可以配置為返回給定大小的結(jié)果的隨機(jī)樣本。索引Python軟件測試文檔中的字段可以使用主索引和二級索引進(jìn)行查詢。Python軟件測試可以運行多個服務(wù)器,其需要平衡負(fù)載或復(fù)制數(shù)據(jù)以保持系統(tǒng)在硬件故障的情況下運行。Python軟件測試可以用作一個文件系統(tǒng),在多臺機(jī)器上具有負(fù)載平衡和數(shù)據(jù)復(fù)制功能來存儲文件。GridFS將文件分成多個部分或塊,并將每個塊存儲為單獨的文檔。Python軟件測試apReduce可用于批量處理數(shù)據(jù)和聚合操作,聚合框架使用戶能夠獲得使用SQL GROUP BY子句的結(jié)果類型。

3.4 Python入口文件設(shè)計

Python的入口文件一般是TestSuiteExecutor.py文件,其主要負(fù)責(zé)為工作流當(dāng)單引擎,但不負(fù)責(zé)實際工作執(zhí)行指令,也就是說,該入口文件僅能夠?qū)崿F(xiàn)對接受數(shù)據(jù)參數(shù)的初始化,并按照一定順序進(jìn)行各項工作。Python的入口文件主要負(fù)責(zé)的內(nèi)容包括:解析命令行的邏輯問題,建立臨時目錄(所創(chuàng)建的目錄主要經(jīng)由.txt格式文件編譯成的.py文件),執(zhí)行工作流,清除臨時路徑等。其中,清除的臨時路徑包括臨時目錄、臨時子文件、臨時文件夾等。在整個Python入口文件的算法的計算當(dāng)中,對于系統(tǒng)的內(nèi)部動態(tài)特性要求是非常高的,在每一步的計算當(dāng)中都需要對此進(jìn)行計算,同時我們要盡量的讓狀態(tài)的函數(shù),更加的逼近真實情況,最終得到最優(yōu)化的結(jié)果,在迭代步數(shù)趨近無窮的時候,就可以求出最優(yōu)化的入口文件,這樣就可以對于最優(yōu)化的策略進(jìn)行分析。

4 總結(jié)

軟件測試系統(tǒng)在設(shè)計過程當(dāng)中必須確保擁有相應(yīng)的前瞻性,借助成熟、先進(jìn)設(shè)計理念,在保證性價比高的前提下,選取可靠成熟的技術(shù)方法與中高端設(shè)備,使開發(fā)出來的軟件測試系統(tǒng)科技含量在整個軟件測試系統(tǒng)行業(yè)中處于先進(jìn)位置,處于合理性價比條件,處于國內(nèi)領(lǐng)先地位。

猜你喜歡
數(shù)據(jù)庫系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 日韩在线视频网站| 日韩最新中文字幕| 中文字幕精品一区二区三区视频| 沈阳少妇高潮在线| 免费av一区二区三区在线| 亚洲侵犯无码网址在线观看| 综合网久久| 久久精品人人做人人爽电影蜜月| 国产精品专区第一页在线观看| 国产成人精品第一区二区| 亚洲精品视频免费| 综合色婷婷| 久久永久免费人妻精品| 亚洲人成人伊人成综合网无码| 国产无人区一区二区三区| 亚洲第一国产综合| 国产综合另类小说色区色噜噜 | 国产69囗曝护士吞精在线视频| 这里只有精品在线播放| 欧美国产日本高清不卡| 久久美女精品| 免费国产一级 片内射老| av在线无码浏览| 99在线国产| 欧美一级在线| 日韩A∨精品日韩精品无码| 亚洲一级毛片免费观看| 国产亚洲欧美另类一区二区| 亚洲日韩高清无码| 综合色亚洲| 99热这里只有精品在线观看| 草草影院国产第一页| 精品少妇人妻一区二区| 精品国产香蕉伊思人在线| 毛片免费在线视频| 最新日本中文字幕| 人妻无码一区二区视频| 亚洲av无码牛牛影视在线二区| 免费福利视频网站| 亚洲天堂日韩av电影| 欧美日韩成人| www.精品视频| jizz国产在线| 免费看美女毛片| 亚洲不卡无码av中文字幕| 欧美一级片在线| 伊人久久大香线蕉影院| 国产精品一区不卡| 国产原创自拍不卡第一页| 国产精品专区第1页| 玩两个丰满老熟女久久网| 亚洲第一视频区| 亚洲精品欧美日本中文字幕| 国产欧美亚洲精品第3页在线| 欧美a在线视频| 色屁屁一区二区三区视频国产| 91探花国产综合在线精品| 欧美福利在线观看| 中文毛片无遮挡播放免费| 欧美中文字幕一区| 毛片基地视频| 毛片网站在线看| 在线观看亚洲精品福利片| 国产在线视频福利资源站| 亚洲人成日本在线观看| 久久这里只有精品国产99| 91精品国产自产在线老师啪l| 99中文字幕亚洲一区二区| 综合人妻久久一区二区精品| 免费女人18毛片a级毛片视频| 成人亚洲国产| 无码人中文字幕| 亚洲水蜜桃久久综合网站 | 免费在线视频a| 伊人久久综在合线亚洲2019| 色久综合在线| 欧美a在线看| 就去吻亚洲精品国产欧美| aaa国产一级毛片| 欧美三级不卡在线观看视频| 日韩黄色大片免费看| 国内老司机精品视频在线播出|