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

集合因子最短路徑算法在軟件測試中的應用

2016-11-09 02:25:20楊會廷
網絡安全與數據管理 2016年16期
關鍵詞:頁面程序

楊會廷

(東方地球物理公司 物探技術研究中心,河北 涿州 072750)

?

集合因子最短路徑算法在軟件測試中的應用

楊會廷

(東方地球物理公司 物探技術研究中心,河北 涿州 072750)

當前軟件普遍采用爬蟲程序完成部分測試功能,分析當前測試用的爬蟲程序,發現耗時最多的是查找可用路徑。為了避免撒網式的、無明確目地的、重復查找,提出了將集合因子最短路徑算法應用于當前的爬蟲程序中,以改善并提高爬蟲程序在軟件測試中的效率和有效性。此算法可以大大縮減爬蟲程序在查找有效可用路徑的時間,提高整個測試的效率。

最短路徑;軟件測試;集合因子

引用格式:楊會廷. 集合因子最短路徑算法在軟件測試中的應用[J].微型機與應用,2016,35(16):29-31.

0 引言

為了滿足市場的需要,一般軟件都需要支持多個語言版本,例如:微軟的Windows 系統和Office軟件需要支持幾百種語言。因此針對多個語言的本地化軟件測試不可避免地提上了日程。在本地化軟件測試中,除了本地化的功能測試外,為了保證本地化軟件的翻譯質量,往往需要對軟件的所有本地化頁面進行檢查。對于支持幾百種語言的軟件,如何快速有效地獲取多種語言的所有本地化頁面就成為降低此項測試成本的關鍵[1]。

1 如何獲取所有軟件頁面

一個軟件有多少界面對于開發者來說是透明的。如何獲取一個軟件所有的界面,對于不同的軟件設計會有不同的策略。基于Web的軟件尤為如此。

(1)訪問URL列表: 這個策略是針對基于Web的軟件才可以使用。整個軟件所有不同的頁面對應的是不同且唯一的URL。通過訪問不同的URL以獲取軟件所有界面是比較簡單的方式。前提就是需要獲取整個軟件的URL 列表。不過目前大多數基于Web 的軟件,特別是外網可以訪問的軟件,為了保證軟件的安全都要屏蔽掉實際的URL。所以要獲取整個軟件的不同URL 列表也不是容易的事。

(2)定制腳本:目前許多軟件在開發的階段就同時開始定制許多測試腳本,并在以后的開發測試階段反復用來測試以保證軟件功能正常。但是這些腳本一般都是由開發人員編寫的,主要針對軟件的功能和復雜的業務邏輯,并且主要運行在英文版的軟件上,很少運行在本地化的軟件上。根據調查,大概只有6.7%的軟件開發小組會把腳本在本地化軟件上試運行。所以很多開發腳本都很難直接運行在本地化的軟件上并獲取本地化的界面[2]。

(3)自動爬蟲:目前自動爬蟲的程序有很多。用戶只需要提供登錄信息,爬蟲程序就能自動查找頁面上可能產生的新頁面元素,并依次觸發,循環迭代直到找到所有頁面。為了減少本地化測試成本,對于支持多種語言的軟件,要獲取多種語言的本地化頁面,采取自動爬蟲程序是一個很好的選擇。讓多個線程同時分別運行在多個語言環境下截取所有頁面,從而可以大大節省成本。如果讓爬蟲程序撒網式查找并自由運行,則整個運行過程比較冗長。為了優化爬蟲程序,加入最短路徑算法,使得整個爬蟲程序更有效[3]。

2 集合因子最短路徑算法的介紹

隨著社會的發展,最短路徑問題在現實生活中占據的地位越來越重要。求解這一類問題的方法有很多,包括Floyd算法、Dijkstra算法、Bellman-Ford算法、動態規劃算法和智能優化算法等。最短路徑問題是圖論研究中的一個經典算法問題,旨在尋找圖(由節點和路徑組成的)中兩節點之間的最短路徑。算法的具體形式包括[4]:

(1)確定起點的最短路徑問題:即已知起始節點,求最短路徑的問題。

(2)確定終點的最短路徑問題:與確定起點的問題相反,該問題是已知終結節點,求最短路徑的問題。在無向圖中該問題與確定起點的問題完全等同,在有向圖中該問題等同于把所有路徑方向反轉的確定起點的問題。

(3)確定起點終點的最短路徑問題:即已知起點和終點,求兩節點之間的最短路徑。

(4)全局最短路徑問題:求圖中所有的最短路徑。

用于解決最短路徑問題的算法被稱作“最短路徑算法”,有時被簡稱作“路徑算法”。這里主要介紹可以應用于自動爬蟲程序的集合因子最短路徑算法。

2.1集合因子最短路徑算法介紹

集合因子最短路徑算法是單源最短路徑算法,用于計算一個節點到其他所有節點的最短路徑。其主要特點是以起始點為中心向外層擴展,在擴散過程中每次擴散都以一個集合為因子,直到擴展到所有節點為止。

問題描述:在無向圖G=(V,E)中,假設每條邊E[i]的長度為w[i],找到由頂點V0到其余各點的最短路徑[5]。

2.2算法描述

2.2.1算法思想原理

設G=(V,E)是一個帶權無向圖,把圖中頂點集合V分成兩組,第一組為已求出最短路徑的頂點集合(用S表示,初始時S中只有一個源點,以后每次求得最短路徑的頂點, 就被加入到集合S中,直到全部頂點都加入到S中,算法就結束了),第二組為其余未確定最短路徑的頂點集合(用U表示),按最短路徑長度的遞增次序依次把第二組的頂點加入S中。在加入的過程中,總保持從源點v到S中各頂點的最短路徑長度不大于從源點v到U中任何頂點的最短路徑長度。此外,每個頂點對應一個距離,S中的頂點的距離就是從v到此頂點的最短路徑長度,U中的頂點的距離是從v到此頂點只包括S中的頂點為中間頂點的當前最短路徑長度。

2.2.2算法過程描述

算法過程如下:

(1)初始時,S只包含源點,即S={v},v的距離為0。U包含除v外的其他頂點,即:U={其余頂點},若v與U中頂點u有邊,則正常有權值,若u不是v的出邊鄰接點,則權值為∞。

(2)從U中選取距離v最小的頂點集合,把k1、k2加入S中(該選定的距離就是v到k1=v到k2, 且是最短路徑長度)。

(3)以組成的集合為新考慮的中間點,修改U中各頂點的距離;若從源點v到頂點u的距離(經過頂點ki)比原來距離(不經過頂點ki)短,則修改頂點u的距離值,修改后的距離值的頂點ki的距離加上邊上的權。

(4)重復步驟(2)和(3)直到所有頂點都包含在S中。

2.3算法適用范圍

(1)單源最短路徑;

(2)有向圖和無向圖。

3 集合因子最短路徑算法在爬蟲程序中的應用

每個軟件一般都有一個登錄頁面,把登錄后的第一個頁面命名序號為001,然后以從上到下,從左到右的順序分別定義自動爬蟲程序掃描出來的新頁面,分別是002、003等。而每個頁面之間的距離,即權值,都為1(實際中,訪問不同頁面需要的時間是不同的,這里在服務器性能很好的情況下,忽略訪問時間的不同,都設定為1)。所有頁面從第一個頁面001出發,可以直接到達或者經過若干個節點后到達。其他不同的節點間也可能存在到達的路徑。這樣由所有頁面作為節點組成一個所有頁面可到達的圖,且每個節點之間的距離都為1。由于整個軟件過于龐大,下面只畫出部分節點來說明問題,如圖1所示。

圖1 頁面為節點的可到達的圖

設001為源點,求001到其他各頂點〈002,003,004,005,006,007,008,009,010,011,012,013〉的最短路徑。算法執行步驟如表1。

4 試驗數據和性能對比

通過對比數據更能體現這一算法應用在爬蟲程序中的優勢,如表2所示。下面的數據采集采用的是相同性能和型號的服務器,且使用相同軟件。整個軟件共有956張圖。程序運行過程中,在剛開始速度會比較快,到后面時由于需要花費更多時間判斷處理,速度會慢下來。表2中的數據屬于平均數據。需要運行多個語言平臺時,是多個線程訪問同一個服務器,只要改變瀏覽器的語言即可。從實驗數據可以看到在使用集合因子最短路徑算法后,不論是單個線程還是多個線程,整個程序的運行時間會大大縮短,性能大幅度提高。

表1 算法執行步驟

5 結論

通過把集合因子最短路徑算法應用在自動爬蟲程序中,使得程序無論在單位時間的吞吐率還是單位事務的響應速度都大大提高。對于某些支持多個語言的軟件來說集合因子最短路徑算法會使得程序運行效率大幅度提高。

[1] 張茂林.軟件自動測試的研究與程序實現[J].北京航空航天大學學報, 1997, 23 (1):74-80.

[2] 凌永發, 張云生, 郭秀萍. 軟件測試自動化的腳本技術 [J]. 云南民族學院學報(自然科學版),2002, 11(1):544-548.

[3] 王華偉,崔啟亮.軟件本地化——本地化行業透視與實現指南[M].北京:電子工業出版社,2005.

[4] 侯俊杰.深入淺出MFC(第2 版)[M]. 武漢:華中科技大學出版社,2005.

[5] 李春葆.數據結構教程[M].北京:清華大學出版社,2005.

Application of set seed shortest path algorithm in software testing

Yang Hui Ting

(BGP R&D Center , CNPC,Zhuozhou 072050, China)

Current software normally uses auto crawler to do part of testing. By analyzing current auto crawler program, we find that usable paths is time consuming. To avoid no specific purpose and repeatedly searching, this paper proposes set seed shortest path algorithm and applies this algorithm to auto crawler program to improve its effectiveness and efficiency. This algorithm greatly reduces time for auto crawler to find effective usable path to improve efficiency of whole testing.

shortest path;software testing;set seed

表2 試驗數據和性能對比

TP302.1

A

10.19358/j.issn.1674- 7720.2016.16.008

2016-04-19)

楊會廷(1963-),通信作者,男,本科,工程師,主要研究方向:石油物探軟件。E-mail : yhtmail@163.com。

猜你喜歡
頁面程序
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 精品偷拍一区二区| 波多野结衣一区二区三视频| 九九香蕉视频| 无码精品国产VA在线观看DVD| 国产精品人莉莉成在线播放| 天堂va亚洲va欧美va国产| 国产欧美日韩在线一区| 一级成人a做片免费| 成年午夜精品久久精品| 亚洲精品男人天堂| 日韩人妻精品一区| 亚洲日韩图片专区第1页| 日本在线免费网站| 狼友视频国产精品首页| 国产凹凸一区在线观看视频| 中文字幕在线观| 国产伦精品一区二区三区视频优播| 日韩精品免费一线在线观看| 青青青草国产| 91综合色区亚洲熟妇p| 亚洲第一成人在线| 亚洲无码91视频| 欧洲日本亚洲中文字幕| 日韩人妻无码制服丝袜视频| 99精品这里只有精品高清视频| 国内精品自在欧美一区| 97久久精品人人| 成人午夜免费视频| 亚洲天堂视频在线免费观看| 天堂亚洲网| 男女精品视频| 欧美自慰一级看片免费| 午夜福利视频一区| 亚洲丝袜第一页| 亚洲第一色视频| 欧美精品1区2区| 色综合久久综合网| 不卡网亚洲无码| 91免费国产高清观看| 亚洲手机在线| 亚洲成人动漫在线| 高清色本在线www| 亚洲欧美在线综合一区二区三区| 日韩第九页| 国产理论一区| 亚洲人成网18禁| 色婷婷亚洲综合五月| 亚洲成aⅴ人在线观看| 久久国产精品夜色| 天天婬欲婬香婬色婬视频播放| 精品久久人人爽人人玩人人妻| 亚洲 欧美 偷自乱 图片| 伊人色综合久久天天| 97视频免费在线观看| 色哟哟国产成人精品| 欧美日韩动态图| 中文字幕调教一区二区视频| 成人精品视频一区二区在线| 很黄的网站在线观看| 亚洲成人在线免费观看| 怡春院欧美一区二区三区免费| 欧美在线一二区| 中文字幕1区2区| 玖玖精品在线| 亚洲国产成人精品青青草原| 国产综合精品一区二区| 色国产视频| 在线观看免费黄色网址| 一级黄色网站在线免费看| 色悠久久久久久久综合网伊人| 国产精品第一区| 免费无码在线观看| 亚洲av无码专区久久蜜芽| 国产真实乱人视频| 黄色国产在线| 男女精品视频| 999国产精品永久免费视频精品久久 | 亚洲a级毛片| 国产真实自在自线免费精品| 国产成人免费视频精品一区二区| 亚洲综合第一区| 欧日韩在线不卡视频|