Unix下自動化測試實踐

發表于:2011-10-18來源:未知作者:領測軟件測試網采編點擊數: 標簽:Unix;自動化測試
網上看到很多關于用qtp、winrunner等工具來進行頁面自動化測試的應用,但隨著軟件產業的發展,越來越多更大型的系統得到應用,隨之變化的就是后臺的變換,比如unix、linux、solaris、aix等。早期的很多系統都是基于windows server的應用和部署,qtp等工具很好

  【前言】

  網上看到很多關于用qtp、winrunner等工具來進行頁面自動化測試的應用,但隨著軟件產業的發展,越來越多更大型的系統得到應用,隨之變化的就是后臺的變換,比如unix、linux、solaris、aix等。早期的很多系統都是基于windows server的應用和部署,qtp等工具很好的解決了自動化回歸測試的問題,但對于unix平臺下的測試,它就有點無能為力。而截止目前,還沒有出現unix下的自動化回歸測試工具,所以,我們工作中的自動化測試工具或腳本都是自己分析、設計、編碼和測試,最終達到我們自己測試的需求,目的就是要提高在后臺測試工作中的效率,讓計算機幫我們完成大部分的手工勞動。筆者根據工作的過程和體會,把工作中unix平臺下自動化測試應用的經驗跟大家分享,希望能夠起到拋磚引玉的效果。閑話少說,我們“挨踢”人喜歡直接,還是用例子來說明一下。

  【舉例1】

  背景:

  某應用系統T作為一個信息處理平臺,要接收處理各種外部系統的電子單,而這種電子單是根據一定協議進行發送和接收、并處理返回的,但這種協議不是基于通用的TCP、UDP等協議,是各系統之間統一定制的特殊行業協議。而在這種電子單中,包含了各種各樣的業務信息,系統會根據這些不同的信息進行不同的處理,得到的處理結果自然也是不同的。

  應用系統T的前身是應用系統N,系統N所管理的外部系統比較分散,所用的協議與系統T也有差別,但有一個共同點就是,它們對于同樣的業務信息所處理的結果應是一樣,而且都會持久化保存數據庫。下面的圖是系統T的大概業務邏輯圖:

  工作平臺:

  OS:HP_UNIX

  DB:Sybase

  WebService:Tomcat

  Develop Language:Java

  測試工作場景:

  1、 按照不同業務制造大量電子單,然后發送到系統T的指定端口;

  2、 發送電子單后,將系統T執行的結果與系統N的結果進行對比,檢查系統T的結果是否執行正確;

  測試困難分析:

  1、 我們沒有外部系統,如何模擬外部系統發送電子單?

  2、 系統T管理了7中業務類型,而每種業務類型大概有100種業務,如果全部覆蓋,大概需要700多條測試數據,手工制作不太現實;

  3、 大量的電子單的處理結果,難道都用肉眼比對?

  需求分析

  1、 編寫模擬外部系統的發單客戶端(基于socket協議);

  2、 使用系統N的海量電子單,然后按系統T的協議進行轉換,用第一步的客戶端發送(能保證覆蓋所有業務);

  3、 編寫程序,對系統N的處理結果和系統T的處理結果進行比對,然后打印出詳細的對比結果,以供開發員定位錯誤問題所在;

  工具實現步驟:

  1、 由于開發平臺都是java,為了跟系統T銜接的更好,我們選用java編寫自動化測試工具。當然,測試工具編寫人要對Java比較熟悉;

  2、 對于需求1,我們需要知道如何進行socket數據的收發(網上資源大把,可以參考);

  3、 對于需求2,我們需要知道如何進行數據庫的操作(JDBC資源網上也是大把)。數據庫操作的目的,就是要從系統N的數據庫中把舊的電子單取出來;

  4、 對于需求3,在基于上面的第2和第3點上,當電子單發送后,系統T中會記錄處理結果,然后就是要編寫算法,對新舊結果進行比對;

  5、 對于測試工具還應該實現可配置化,比如服務器IP、服務端口,舊數據庫的IP、用戶名、密碼,新數據庫的IP、用戶名、密碼,業務類型等,這就要求引入第三方的jar包,對xml文件進行解析;

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97