開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試

配置測試Guns
 Guns簡介  
 
 Guns是一個近幾年來基於SpringBoot的開源便利且較新的JavaEE項目開發框架,它整合了springmvc + shiro + mybatis-plus + beetl + flowable多項開源技術,致力於讓Java後臺開發更簡潔快速
 
一,Guns的環境
Guns 源碼
 
Maven
 
Eclipse-Photon
 
JDK8
 
MySQL
 
安裝環境
 注:Eclipse和JDK的安裝和安裝包就用自己現有的就可以,星雲測試將提供MySQL和Nodejs的安裝包,但必須前提是用戶自己的本機上不存在安裝的MySQL和Nodejs
腳本安裝mysql和nodejs(一鍵安裝)
 
1、解壓星雲提供TT_Soft安裝包(例如D盤根目錄,mysql和node的安裝路徑)
 
2、打開TT_Soft文件夾
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
3、以管理員身份運行TeststarsSoftInstall.exe
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
4、等待自動安裝完成,窗口提示mysql初始化完成,關閉窗口
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
5、註銷或重啓電腦
 
6、使用net start mysql 命令啓動MySQL服務
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試 
 
7、使用node –v查看node版本
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
二,下載guns代碼
 
下載地址:https://gitee.com/naan1993/guns/
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
將下載下來的代碼進行解壓
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
三,配置Guns
 
一, Eclipse導入Guns項目
  開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 點擊“Import...”後會出現如下圖的導入對話框,請選擇Maven選項中的“Existing Maven Projects”。
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 之後,點擊“Next”按鈕後,按如下圖的①、②和③的操作選中之前解壓的Guns-master目錄
 導入成功後如下圖所示,可看見guns-admin、guns-core、guns-generator、guns-parent和guns-rest五個項目。成功將guns項目導入eclipse
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
guns-admin是Guns管理系統
guns-generator是maven代碼的生成
guns-core是其他模塊提煉出來的公共的代碼
guns-parent是maven的的父模塊,父模塊的作用就是管理其它的子模塊,可以把我們依賴都提到parent,並且對我們依賴的版本做一個統一的維護。
gun-rest本意是些一個app 服務端,提供rest API服務,權限和md5加密
 
二,配置Guns項目的數據庫
 
 在導入成功的“guns-admin”項目中,我們能夠找到“sql”目錄下的guns.sql文件,如下圖所示,將打開後的guns.sql中所有的內容複製一下。
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 新建數據庫名爲guns,點擊guns數據庫中的“查詢”後,將上面複製的sql直接運行,出現下面這些表即爲正確
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
三,修改Guns項目的配置文件並運行
 
 在Eclipse中,找到guns-admin項目中的“application.yml”文件,它在src/main/resource路徑下,並將該文件中所有的“username和password”部分的password默認的root值改爲讀者安裝MySQL時所設置的密碼,該步驟具體如下圖所示:
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 修改完此配置文件後,我們就可以開始運行guns項目了,請找到guns-admin項目中的src/main/java路徑下的,com.style.guns目錄中的GunsApplication.java文件,它是guns項目的主程序文件,點擊運行
成功運行後,打開瀏覽器,在瀏覽器的地址欄中輸入:http://localhost:8080
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
點擊登錄後,可進入如下圖界面:
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
Guns已成功部署並運行成功。
 
四,測試項目
 
1, 下載工具及工具配置
1, 從官網上下載星雲測試工具:http://www.teststars.cc/
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
下載以後進行配置:
 
2,星雲測試服務端的配置
 
TTLangage.config配置項說明:
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 1、 運行下的星雲測試server目錄中ThreadingTestServer.exe,在右下的圖表中點註冊信息,查看其時間,星雲測試有兩個月的體驗,若是超過兩個月,發生KEY過期,請聯繫星雲測試的工作人員,並提交服務端中的序列碼
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試

 2、聯繫星雲工作人員獲取當前服務器的key.key文件,替換到星雲的server目錄下;
 3、啓動server目錄下的ThreadingTestServer.exe後會自動打開同級目錄下的ThreadingTestServerFront.exe,看到自動彈出下面窗口後,表示連接正常。
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
3,星雲測試客戶端的配置
 
  注:星雲測試在線客戶端的連接需要訪問端口17262/17263.登陸之前需要保證網絡連接不存在限制。
 打開客戶端之前需要修改TTClient文件夾下的Server.cfg文件,配置localIP項爲可以與服務端正常數據通信的本機IP地址。配置這個localIP的原因是,在客戶端需要接收來自服務端傳來的動態數據,配置本地的IP地址服務端才能把數據傳到客戶端中來。
配置IP地址完成後雙擊運行TTClient/TT.exe文件進入星雲測試客戶端。選擇文件->登錄,輸入星雲測試服務端的IP地址以及自己的用戶名和密碼即可登錄。如下圖所示。
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
4,星雲測試雲報表平臺服務啓動
 
 1、 運行星雲測試TTWeb目錄下的bin\redis-2.4.5-win32-win64\32bit中的redis-server.exe
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 2、運行星雲測試TTWeb目錄下的startTTwebserver.bat
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 訪問網頁報表網頁IP地址:3000
2,創建工程和版本並編譯
 1, 登錄客戶端
 
 2, 選中待插裝的空版本,版本處於解鎖狀態(解鎖狀態:右鍵-解鎖狀態)
 
 3, javaForWindows目錄下的Server.cfg配置文件,[SERVER] ip填寫實際ip地址,修改[PROPERTY]字段,與客戶端目錄下的Server.cfg同步
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 4、修改javaForWindows目錄下的ComplierPath.xml配置文件
 
 同一個版本下可添加多個子模塊即proname,proname不能重複,一個子模塊下可以配置多個工程路徑
ProName:子模塊名稱
Project_path:測試程序源碼文件路徑
Class_path:測試程序class文件路徑
因爲項目是四個子項目,所以,必須得有四個模塊,如下圖:
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 5、修改javaForWindows目錄下tt_windows文件夾下Server.ini配置文件
Ip設置爲客戶端的ip地址。
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 6、在命令行運行autoCompiler.jar進行編譯
jre\bin\java.exe -jar autoCompile.jar -e D:\J2EE_Enterprise_key_64bit0803\CompileToolsPkg\javaForWindows
注:-e後面的參數爲ComplierPath.xml文件的目錄
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 7、在客戶端查看數據,記得必須點擊重新加載文件
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 由於測試的時候需要運行我們插裝後的代碼(編譯完成後會在java目錄同層生成src-instru目錄,src-instru目錄即爲編譯插裝後的源碼);
具體操作:先將源碼目錄下未插裝的java目錄重命名爲pre_java,再將編譯插裝生成的src-instru目錄命名爲java。
 
 並且插樁代碼的運行需要我們的jar包,因此需要修改客戶的pom.xml文件來引入我們的jar服務,加入到兩個<dependencies>之間,加入的代碼如下:
systemPath需要按JavaParser-j2ee.jar
和jeromq-0.3.0-SNAPSHOT.jar的絕對路徑填寫
 

 <dependency>
<groupId>com.zoa</groupId>
<artifactId>JavaParser-ZMQ</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>/D:/J2EE/client/MQ/JavaParser-J2EE.jar</systemPath>
 </dependency>
<dependency>
    <groupId>com.zoa</groupId>
    <artifactId>jeromq</artifactId>
    <version>1.0</version>
    <scope>system</scope>
<systemPath>/D:/J2EE/client/MQ/jeromq-0.3.0-SNAPSHOT.jar</systemPath>
</dependency>

 
 在pom文件修改完成後即可打包發佈
 編譯以後打包成jar包(具體的打包方法參考6,運行項目)
 打包完成,爲使函數覆蓋率可視視圖代碼部分顯示正常,需要手動修改源碼路徑:右鍵版本,點擊修改源碼路徑,選擇到pre_java目錄即可。
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 3,測試前準備 
 
 1、添加數據傳輸配置文件

 數據傳輸配置文件是保證運行的數據可以回傳到星雲服務器的。配置方法是在具體的客戶測試環境下的usr/local/bin文件夾下新建配置文件config.cfg 文件內容如下:
state=1
IP=(IP值寫星雲測試服務端IP,注意要大寫)
(如果發佈環境是windows環境,需要在C盤根目錄下配置上述文件)

 2,agent啓動項目
cmd輸入命令:
java -javaagent:E:\zoa-agent-1.6.2\zoa-agent-1.6.2.jar -jar
G: \naan1993-guns-master\guns-admin\target\ guns-admin-1.0.0.jar
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
E:\zoa-agent-1.6.2\zoa-agent-1.6.2.jar =agent路徑
G: \naan1993-guns-master\guns-admin\target\ guns-admin-1.0.0.jar =項目路徑
出現這樣的界面表示運行成功:
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 3,設置cookie

 
 1,項目URL後面加teststars.jsp,訪問teststars.jsp頁面進行cookie設置
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 2,點擊setcookie進行設置,設置成功頁面如下:
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
注:爲了區分測試,我們在設置的用戶姓名與星雲客戶端當前登錄用戶一致,
 
 4,星雲測試雲報表平臺服務啓動
 
 1、 運行星雲測試TTWeb目錄下的bin\redis-2.4.5-win32-win64\32bit中的redis-server.exe
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 2、運行星雲測試TTWeb目錄下的startTTwebserver.bat
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 訪問網頁報表網頁IP地址:3000
 
4,編寫測試用例
  開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
點擊添加:
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
5,項目測試
 
訪問地址:http://localhost:8080/login
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 頁面登陸進去以後,假如測試內容管理的文章管理的測試用例,則選擇內容管理的文章管理的用例,點擊開始,在頁面上點擊內容管理的文章管理,就會有相應的測試數據傳輸過來(具體的展示見後面測試結果的第一個標題:示波器的展示),數據接收完以後點擊停止,本條用例測試完畢
 
,測試結果

 1,示波器波形展示
 先選中測試用例,再點擊開始後就可以進行相應的測試工作了,測試的時候示波器可以收到動態數據並以波形圖的方式展示出來。
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 注:採集的動態數據保存在服務端目錄下的VersionData文件夾下,對應版本的動態數據注:採集的動態數據保存在服務端目錄下的VersionData文件夾下,對應版本的動態數據保存在相應的版本號目錄下(版本號可在數據庫management表的version表中查看)
 
 2,缺陷管理
 爲了讓測式人員更好的對缺陷進行管理,採用測試用例、代碼、BUG相關聯方式,精準測試雲平臺使用了歷史BUG追查功能,這使得在版本迭代過程中,同一個測試用例所有的BUG情況一目瞭然,避免了因人員變動或版本變動導致的相同的BUG的排查時間,以及重複提交未被解決的BUG。
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
                  圖表 bug信息一目瞭然
 3,覆蓋率
 覆蓋率可視化針對函數sc0、True、false 、both、Branch、C/DC 、MC/DC 7種覆蓋率給出可視化展示下面針對每一種覆蓋率展示界面給出說明:(以sc0爲例)
sc0爲語句塊覆蓋,其顏色區分對象爲基本語句塊(包括隱含不可見語句塊)其中綠色標示被覆蓋的語句塊。藍色是未覆蓋到的語句塊。
計算方法爲:覆蓋到塊/應統計塊
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
用紅色的標出來的表示sc0覆蓋率,函數列表右方爲覆蓋率的展示:
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
4,雙向追溯
 雙向追溯是指通過運行測試用例,實現測試用例與被測源碼間相互追溯。根據測試用、
查看相關被測源碼爲正向追溯,根據被測源碼查看相關測試用例爲逆向追溯。在測試用例列表中選擇測試用例,可以追溯到該測試用例的內容描述信息,在模塊調用圖中顯示被測試到的函數;也可以在模塊調用圖中,點擊相關的函數,也可以追溯到相關的測試用例。該追溯技術方便了用戶查看和設計測試用例。
 雙向追溯功能可以運行的前提是,測試用例已經被運行過,並且示波器收到了波形採集到了
動態數據。
 1,正向追溯
 正向追溯是指:將測試用例和海量的代碼執行信息自動關聯,可精確到函數級別及代碼塊級別;通過正向追溯可直接在代碼級定位測試現場故障和缺陷邏輯,並提供最後運行的時序數據;通過正向追溯自動記錄產生功能對應的詳細設計實現,輔助軟件解耦和架構分析。
正向追溯的優勢是:迅速定位缺陷對應的代碼執行邏輯,幫助開發快速修復缺陷,可追蹤難復現缺陷;精確、詳盡的記錄測試用例運行的情況,爲精準軟件測試提供大量原生分析性數據;可以進行事後的缺陷分析、追蹤,輔助開發進行功能實現確認。
  開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 如圖:點擊測試用例追溯到這個成而是用例運行過得函數,選中一個函數,追溯到這個函數運行過得控制流程圖的邏輯分支
以下是正向追溯到代碼和函數調用圖:
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
2,反向追溯
 反向追溯是指:分析代碼關聯的功能,爲研發分析系統和進行一致性修改以及迴歸測試分析提供精確數據。
 反向追溯過程:點擊需要查看的函數或函數中的某行代碼,自動列出可以測試到該函數或者程序分支的測試用例
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 選擇函數追溯到運行過該函數的測試用例,查看該函數的控制流程圖和代碼
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 點擊代碼,追溯到運行過該代碼的測試用例
 
5,簡易流程圖的展示
 前置條件:版本有數據,關聯源碼可在代碼視圖有顯示源碼,並且在簡易控制流
程圖的分支塊有具體語句顯示,有覆蓋率數據,可在簡易控制流程圖顯示當前覆蓋到的塊信息
簡易控制流程圖功能,以語句塊的形式清晰的展示函數內部的控制邏輯,界面上可以直觀的看出控制流各節點的測試覆蓋情況,在展示中,簡易控制流程圖還可以通過顏色對每個程序塊進行覆蓋率標識,在縮略圖中整個模塊的覆蓋率非常直觀。(背景色爲綠色表示有測試用例覆蓋到該塊:以SC0覆蓋爲參考標準)
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試

 
6,報表的展示
選擇客戶端所編譯的項目和版本:
顯示所選取編譯項目的一些基本信息,包括:
項目指標信息、項目信息、版本信息、測試彙總信息、測試過程監控趨勢圖、測試設備組成和分佈圖、版本覆蓋率彙總圖、複雜度統計圖
項目彙總:
開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
包含項目信息:項目的詳情信息
版本信息:版本的詳情信息
 測試彙總信息:測試用例通過率:無BUG的測試用例
  BUG累計:測試用例運行完畢後提交的BUG數
  當前版本覆蓋率(SC0):(執行過可見段數/可見段數)*100%的比例
  覆蓋率增長:相比前一天的SC0增長差值
  高複雜度預警函數個數:高複雜度的函數個數

 
測試用例列表:
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
顯示製作的測試用例的詳細信息,包括測試用例的名稱、創建時間、執行時間、關聯函數、覆蓋率佔比、運行狀態、測試人員等
 
覆蓋率按日增長曲線圖:
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
            覆蓋率按日增長曲線圖,讓管理者更好的把握測試過程

 
測試漏洞列表:
 開發者測試(2)-採用精準測試工具對J2EE Guns開發框架進行測試
 
 在一個程序中,往往有成百上千的函數,這些函數有的是關聯整個程序核心、有的則是開發人員棄而不用,但一直保留遲遲不肯刪除的,針對這些大量的函數,“精準測試”採用通過靜態、動態指標的綜合分析,在大量的程序函數中,通過計算直接篩選潛在的高危的測試漏洞,通過報表給予展示。
 

  • 通過複雜度和覆蓋率進行計算
  • 通過函數調用上下文和覆蓋率進行計算
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章