99爱免费_精品一区二区无码AV_欧美屁股xxxxx_日批视频国产_AV天堂亚洲区无码先锋影音_特黄A又粗又大又黄又爽A片

產(chǎn)品推薦:水表|流量計|壓力變送器|熱電偶|液位計|冷熱沖擊試驗箱|水質(zhì)分析|光譜儀|試驗機|試驗箱


儀表網(wǎng)>技術中心>應用設計>正文

歡迎聯(lián)系我

有什么可以幫您? 在線咨詢

自動化測試工具的設計與實現(xiàn)

   2012年03月28日 17:34  
  SANE(ScannerAccessNowEasy)是一個應用程序接口API(ApplicationProgrammingInterface)[1],提供了對光柵圖像掃描硬件的標準訪問[2]。Linux對掃描儀的支持就是通過SANE實現(xiàn)的。SANE標準中將實現(xiàn)SANE接口的驅(qū)動程序稱為SANEDriver或者SANE后端程序;將調(diào)用SANE接口的應用程序稱為SANE前端程序;將對掃描設備的各種控制抽象為SANE選項,resolution就是其中一個SANE選項。
  
  對掃描儀驅(qū)動程序進行測試主要包括功能測試和性能測試。功能測試主要指掃描質(zhì)量、圖像質(zhì)量是否滿足用戶需求;性能測試主要指掃描效率,也就是掃描一幅圖像所需的時間。嚴格地說,由于SANE前端程序與SANE后端程序均遵守SANE標準,任何一個SANE前端程序都可以用來測試SANE后端程序。但由于目前Linux下沒有專門的SANEDriver測試工具,通常測試人員將掃描應用程序用于測試SANEDriver,而在Linux下常用XSANE作為測試工具。XSANE應用程序是基于GTK的sane圖像處理軟件,它可通過掃描儀和照相機等設備獲得圖像。
  
  XSANE功能比較強大,但是由于其主要面向用戶應用,作為測試工具則存在一些不足:(1)功能測試時效率低下,如果所要測試的選項數(shù)目比較多時,測試的工作量很大而且容易出錯,而其所支持的批次掃描生成腳本很復雜,而且腳本很難維護;(2)性能測試時不能自動計算掃描時間,手工計算工作量大且誤差也較大。此外,還存在一些其他問題:如不能顯示選項的詳細信息、不能動態(tài)更新可用的掃描設備以及不能選擇其他可用設備等。
  
  針對以上問題,本文通過引用腳本技術,采用一種的遍歷算法工具,有效地解決了上述問題。該工具能夠適用所有采用SANE標準的驅(qū)動程序,且能夠自動遍歷所有的選項及其取值。用戶只需根據(jù)測試需要寫好測試腳本,該工具就可以根據(jù)腳本進行多次掃描。因此可以較大程度地減少SANEDriver測試所需的人員及其時間。
  
  1、整體架構設計
  
  針對XSANE用作測試工具存在的問題以及測試需求,通過如下設計能得到有效解決。將工具分成5個功能模塊:更新設備、列出選項、手動掃描、腳本掃描以及產(chǎn)生腳本。
  
 ?。?)更新設備:支持用戶隨時更新設備列表。
  
 ?。?)列出選項:可以列出SANE后端所定義的所有選項,且只顯示當前設備所支持選項的相關信息,還可以根據(jù)用戶的選擇相應地顯示SANE后端的版本號及一些設置沖突的警告信息。
  
 ?。?)手動掃描:類似一般的前端程序,主要實現(xiàn)單次掃描,只顯示當前設備所支持的選項及其取值。
  
 ?。?)腳本掃描:是自動化測試的關鍵。能夠讀入一個腳本文件,然后對腳本中各選項的組合值進行遍歷,每取到一個組合,便掃描一次。
  
 ?。?)產(chǎn)生腳本:可以將當前設備所支持的選項及其取值范圍記錄在腳本文檔中。該腳本相當于一個腳本模板,以后的腳本可以只在此基礎上稍作修改即可。
  
  2、工具的實現(xiàn)
  
  基于以上架構設計在Linux系統(tǒng)下用GTK+和C語言來實現(xiàn)整個工具。
  
  2.1更新設備
  
  在用戶掃描過程中,可能會有新的掃描設備打開,也可能現(xiàn)有的掃描設備關閉,因此,有必要讓用戶隨時知道可用的設備列表。其設計思路是:在選擇更新設備后,調(diào)用sane_get_devices來獲得可用的設備列表。實現(xiàn)時,為了允許用戶在更新設備時進行其他操作,可將更新的操作放至一個新的線程中去實現(xiàn)。當可用設備為0時,應給用戶相應的提示。
  
  2.2列出選項
  
  根據(jù)測試需要,這里要求給出SANE后端的版本號,可用選項的詳細信息以及警告信息。關于版本號,SANE標準中給出了5個宏,該工具主要直接調(diào)用后面的3個宏:即SANE_VERSION_MAJOR、SANE_VERSION_MINOR、SANE_VERSION_BUILD,分別獲得SANE后端zui大、zui小以及編譯版本號。
  
  對于選項的詳細信息,SANE標準中有一個專門用來描述的結構即SANE_Option_Descriptor。調(diào)用SANE標準中的sane_get_option_descriptor后便會返回這個結構體,記錄這個選項的詳細信息。
  
  警告信息主要通過分析結構體SANE_Option_Descriptor中的cap值。由SANE標準可知,當SANE_CAP_SOFT_SELECT被設置時,SANE_CAP_SOFT_DETECT也會被設置,故cap值不能為5;SANE_CAP_SOFT_SELECT和SANE_CAP_HARD_SELECT不能同時被設置,故cap值不能為3。當某一個選項的cap值不為3或5時,可認為這個選項設置是正確的。
  
  實現(xiàn)時,可以將版本信息、選項信息及警告信息分別寫至三個文件中,然后根據(jù)用戶的操作讀入相應的文件。
  
  2.3手動掃描
  
  一次完整的掃描過程包括兩個部分:配置設備和獲取圖像。配置設備主要通過sane_control_option來完成。sane_control_option可以用于獲取選項的當前參數(shù),也可以用于設置選項的參數(shù)。設置完參數(shù)后,先調(diào)用sane_start,然后一直調(diào)用sane_read讀圖像數(shù)據(jù)直至sane_read返回狀態(tài)為SANE_STATUS_EOF,zui后不管讀圖像是否成功均要調(diào)用sane_cancel。
  
  實現(xiàn)時,當用戶選擇手動掃描后會創(chuàng)建一個新的線程去執(zhí)行,配置設備和獲取圖像均包含在新的線程中。每進行一次用戶掃描,都會新建一個線程。同時為了方便測試人員,工具在手動掃描和后面的腳本掃描中均會記錄一些重要信息:如圖像的原始大小及實際獲得的大小、sane_start和sane_read的時間、一些操作的返回信息及圖片保存目錄和名字等。
  
  2.4腳本掃描
  
  腳本掃描與手動掃描是相互獨立的。用戶可以只選擇手動掃描,也可以只選擇腳本掃描。不過,它們之間有著緊密的,其掃描流程都是一樣的。手動掃描與腳本掃描的結構體系如圖1所示。腳本掃描可以看作是多次的手動掃描,所不同的是,手動掃描是從界面獲得選項值,而腳本掃描是從文本獲得選項值。
  
  腳本掃描的流程是:首先檢查腳本的語法正確性,然后分析腳本,遍歷各個選項值的組合,每得到一個組合,便掃描一次,當掃描完成時,再取下一組合掃描直至遍歷完所有的組合。
  
  實現(xiàn)時,每掃描一次,均創(chuàng)建一個新線程,下一次掃描要等上一線程結束后才開始。
  
  2.5產(chǎn)生腳本
  
  產(chǎn)生的腳本主要列出設備所支持的選項名字及其取值范圍,然后以特定的格式寫入腳本中[4]。由于結構體SANE_Option_Descriptor中包括選項的各種信息,因此結構體中的元素title可作為該選項的名字,而選項取值范圍可從結構體中的聯(lián)合體constraint得到。實現(xiàn)時,應允許用戶選擇保存路徑。
  
  2.6遍歷算法研究
  
  在對SANEDriver測試時,一般會選中一些選項進行全組合或部分組合進行測試。以兩個選項為例:mode值為Color和Gray,resolution值為75和100,測試時就用Color75、Color100,Gray75、Gray100四種組合掃描4次。xsane中的批次掃描采用了類似的方法,它將所要掃描的每種組合記錄在文本中,然后通過讀文本進行掃描。當掃描次數(shù)較多時,文本就非常冗長而且很難維護。
  
  測試工具中采用的腳本使用了鍵值對的形式:
  
  mode=Color,Gray,Binary
  
  resolution=75,100,150,200,300,400,500,600,1200,2400,4800,9600,19200
  
  對于上面的腳本,通常會采用直接循環(huán)法:用下面一個結構體:
  
  structoption{
  
  charnames[15];
  
  charvalues[10][20];
  
  }options[MAXOPTIONSNUMBER];
  
  來存儲每一種組合,用一個數(shù)組size保存各個選項值的個數(shù)。比如上例中,*個選項mode有3個值,故size[0]=3;然后用一個數(shù)組index來存儲選項的當前值,如mode*個值為Color,則可表示為index[0]=Color。假如只有mode和resolution兩個選項,那么只需2個for循環(huán)即可遍歷選項的取值。其代碼如下:
  
  for(index[0]=0;index[0]<size[0];index[0]++)
  
  for(index[1]=0;index[1]<size[1];index[1]++)
  
  {
  
  for(inti=0;i<2;i++)
  
  pass_option_setting_to_dev
  
 ?。╫ptions[i].names,options[i].values[indexs[i]]);
  
  //pass_option_setting_to_dev為傳遞參數(shù)給設備的函數(shù)
  
  ...
  
  }
  
  本文介紹的算法思路簡單,容易理解。針對上例中的兩個選項,采用上述的方法可以很好地解決問題。但是上述的算法中有多少個選項就有多少個for循環(huán),而且該方法只適用于選項個數(shù)一定的情況下。因為當選項個數(shù)有變動時,都要增加或刪除相應的for循環(huán)數(shù)。而現(xiàn)實中的腳本其選項的個數(shù)是不定的,因此上述的算法可擴展性較差,不適合用于腳本掃描。但只要對上述算法稍作修改即可成為一種簡單的遍歷算法[5]。該算法的腳本仍采用鍵值對這種簡潔的腳本格式,并且可以很好地適應選項個數(shù)或者選項值個數(shù)的變化。假設變量OPT_NUM代表選項的個數(shù),其代碼如下:
  
  while(1){
  
  for(inti=0;i<OPT_NUM;i++){
  
  pass_option_setting_to_dev
  
  (options[i].names,options[i].values[indexs[i]]);
  
  ...
  
  }
  
  intk=OPT_NUM-1;
  
  while(1){
  
  if(index[k]<size[k]-1){
  
  index[k]++;break;
  
  }
  
  else{
  
  index[k]=0;k--;
  
  }
  
  }
  
  if(k<0)
  
  break;
  
  }
  
  3、測試工具對比
    
  本文以SANE標準為基礎,針對xsane存在的不足,結合測試需求,實現(xiàn)了SANEDriver自動化測試工具。實際應用結果表明,與原有的測試工具相比,大大提高了測試效率,極大地減少了測試人員的工作量。
  

免責聲明

  • 凡本網(wǎng)注明“來源:儀表網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡有限公司-儀表網(wǎng)合法擁有版權或有權使用的作品,未經(jīng)本網(wǎng)授權不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權使用作品的,應在授權范圍內(nèi)使用,并注明“來源:儀表網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關法律責任。
  • 本網(wǎng)轉(zhuǎn)載并注明自其它來源(非儀表網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品第一來源,并自負版權等法律責任。
  • 如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
聯(lián)系我們

客服熱線: 15267989561

加盟熱線: 15267989561

媒體合作: 0571-87759945

投訴熱線: 0571-87759942

關注我們
  • 下載儀表站APP

  • Ybzhan手機版

  • Ybzhan公眾號

  • Ybzhan小程序

企業(yè)未開通此功能
詳詢客服 : 0571-87759942
主站蜘蛛池模板: 惊弦45集免费看|亚洲精品九一|教师学生毛片一区二区三区|男人女人真曰批的视频|牛牛精品专区在线|国产一区二三区 | 日韩二区精品|亚洲操p|c=aoporn97免费公开视频|国产精品情侣高潮呻吟|免费国产内射|中文字字幕中文在线无码乱码 | 搡女人真爽免费视频网站波兰美女|蜜臀99|多男一女一级淫片免费播放口|日本精品不卡|特级毛片=a级毛片免费观看R|免费成人精品视频 | 久热超碰|免费人成激情视频在线观看|日本字幕有码中文字幕|久久网国产精品|亚洲最大成人网站|国产操逼视频 | 国产黄=a一级|亚洲人成网站18禁止人|#NAME?|视频一区二区高清在线播放|在线看一区|伊人久久大香线蕉=aV一区 | 亚洲春色综合另类网蜜桃|日韩特一级|深夜福利国产精品|欧美黑人大战白嫩在线|久久久精品2019免费观看|#NAME? 日日婷婷夜日日天干|精品一区二区观看|亚洲热热色|一区二区欧美国产|自拍一二区|毛片无限看 | 男女日批免费视频|九九免费观看全部免费视频|日韩精品免费一区二区夜夜嗨|中文字幕在线播放第一页|中国少妇xxxx|欧洲人体超大胆露私视频 | 国产精品爽爽=aV在线观看|国产蝌蚪视频在线观看|超碰伊人|国产二区不卡|亚洲高清欧美日韩一区二区三区|无码成人中文字幕不卡 | 午夜自产精品一区二区三区|日本高清一区|亚洲中文欧美日韩在线|一级一级一级一级毛片|国产对白视频|无套无码孕妇啪啪 | 二区视频在线|久久99精品久久久野外观看|国产欧美日韩一区二区三区在线观看|久久国产色=av免费看|樱花草在线播放免费中文|亚洲最新版=aV无码中文字幕 | 美女人妻激情乱人伦|亚洲=aV激情无码专区在线播放|国产在线区|国产v=a免费精品高清在线|天天干天天射综合|九九九九精品 | 一级国产性感片|国产一区二区三区免费观看网站上|日韩欧美亚洲天堂|亚洲无码在线观看色网视频|亚洲国产午夜精品理论片|天天干伊人 | 毛片免费全部播放无码私人|夜夜爽狠狠澡97欧美精品|日韩中文一区二区三区|欧美孕交videosfree黑人巨大|丰满少妇女人=a毛片视频|国产SUV精品一区二区 | 强奷乱码欧妇女中文字幕熟女|中国女人FREE性HD|国产精品一码二码三码在线|少妇性l交大片免费快色|久热=av在线|黑人巨大人精品欧美三区 | 国产精品国产三级欧美二区|四虎影视在线免费观看|日日躁夜夜躁狠狠躁夜夜躁|日本高清中文字幕一区二区三区=a|日韩精品在在线一区二区中文|久久精品一区二区三区黑人印度 | 一级影片在线观看|亚洲精品久久久久9999吃药|免费毛片wwwcomcn|91一级片|超碰人人精品|GOGO亚洲肉体艺术 | 玩丰满熟妇XXXX视频|九九热国产视频|一级毛片真人免费播放视频|国产精品天干天干在线综合|免费中文字幕|国产精品怡红院永久免费 日本亚洲欧洲精品|19禁无遮挡啪啪无码网站性色|久久亚洲=aⅴ无码精品色午夜|91tv永久入口|91九色鹿精品国产综合久久香蕉|91亚洲福利 | 亚洲欧美一区二区精品中文字幕|免费=av网站在线|国产=av日韩=a∨亚洲=av|成年=a级毛片免费观看|五月丁香六月综合缴情基地|日本又黄又粗暴的gif动态图 | 美女=av影院|惊弦45集全免费815|日本免费人成视频播放|欧洲一区二区三区精品|亚洲国产精品久久无码中文字|欧美刺激性大交 | 日韩精品免费一区|日本人与黑人做爰视频网站|国产免费黄视频在线观看|亚洲男人天堂一区|69视频在线免费观看|视频三区二区一区 | 国产日本无码视频韩国网站写真|国产又色又爽又刺激在线播放|亚洲精品456在线播放牛牛影院|久久久亚洲国产|午夜视频成人|国产伦孑沙发午休精品 | 国产精品nxnn|精品欧美一区二区三区在线观看|色88久久久久高潮综合影院|最好看的2018中文在线观看|#NAME?|91国偷自产中文字幕久久 | 伊人偷拍视频|久久久久99精品成人片三人毛片|午夜影院中文字幕|J=aP=aNESE国产中文在线观看|久久国产精品福利二区三区|yy8090新视觉午夜毛片 | 岛国片在线播放97|欧美成人精品一级在线观看|久久99精品久久久久久久|一区二区三区影院|国产=a久|成人一区久久 | 亚洲无人区码二码三码区别|亚洲无砖无线码|老师的朋友5在线|国产精品美女黄网|欧美一级做=a爰片免费视频|www.高潮原创=av | 99免费在线播放99久久免费|伊人久久在|在线观看91精品视频|国产精品国产三级国产=a|毛片视频大全|亚洲黄色片免费看 激情综合欧美|日本一区欧美|97色伦欧美一区二区日韩|国产东北女人做受=av|又色又爽又黄又粗暴的小说|中文字幕无码日韩欧毛 | 午夜特片|中文久久久久|亚洲精品美女色诱在线播放|大地资源在线观看视频在线|99久久婷婷国产综合精品免费|豪放女大兵免费观看bd www欧美精品|成全在线观看免费高清动漫|富婆推油偷高潮叫嗷嗷叫|久久做受WWW|韩国羞羞|日韩亚洲欧美中文三级 | 国产一级黄色|美女把尿口扒开让男人桶|sif=angtv国产在线|亚洲一级毛片色视频|一级二级三级=av|特级理论片 | 精品人妻无码一区二区三区不卡|性欧美视频在线|99九色|99久久精品美女高潮喷水|国产午夜福利在线看|国产免费黄网 | 美女视频黄=a视频免费全程软件=axs|忘忧草在线影院两性视频|久久人妻内射无码一区三区|亚洲精品一区在线观看|日韩精品国产一区二区|中文字幕久精品免 | 国产在线短视频|最近免费中文字幕mv免费高清|四虎国产精品一区二区|毛片韩国|99re6这里只有精品视频在线观看|青春草在线 | 91日韩免费|日本精品视频|免费的又色又爽又黄的片|无码视频一区二区三区|日韩成人无码网|亚州欧美一区二区 | 中文字幕在线观看视频www|在线视频网站WWW色|91啦国产|国产社区精品视频|91毛片免费观看|国产一区二区黑人欧美xxxx | 性开放少妇xxxxⅹ视频蜜桃|成人深夜福利视频在线观看|依人久久久|葵司在线视频|不卡视频在线|免费看黄色大片 | 亚洲国产福利一区|免费无码午夜福利片69|99亚洲伊人久久精品影院红桃|日韩在线观看你懂的|在线观看99|91午夜国产 | 日本少妇浓毛BBWBBWBBW|久久久久久成人网|亚洲中文有码字幕日本|老妇出水bbw高潮|色偷偷88888欧美精品久久久|日韩午夜精品 | 69视频在线观看|不卡的=av在线播放|羞羞色男人的天堂|蜜臀=av夜夜澡人人爽人人|一区二区三区黄|成年人在线免费网站 色一色成人网|久草在线影|精品视频在线观看99|国产香蕉尹人视频在线|亚洲=a∨好看=av高清在线观看|亚洲欧美日本在线 | 精品久久久久久777米琪桃花|蜜芽亚洲=aV无码精品色午夜|成人碰碰视频|99国产精品久久久久老师|内地级=a艳片高清免费播放|久久久久爽爽爽爽一区老女人 | 超碰在线进入|一级全黄少妇免费录像片|欧美大成色WWW永久网站婷|免费看=a=a=a=a=a级淫片涩爱=av|亚洲=av成人一区二区三区在线观看|99一级片 | 久久精品欧美一区二区|国产91精品网站|精品免费|亚洲=aV无码一区二区乱孑伦=aS|超碰影院在线观看|內射XXX韩国在线观看 | 啦啦啦免费高清在线观看|黄色一级特级片|亚洲人成网站在线播放2019|黄色片在线观看视频|一区二区三区毛=a片特级|四虎最新网 |