開發人員測試-採用精準測試載入器對Spring Boot應用進行測試

來源:互聯網
上載者:User

標籤:instr   記錄   connect   執行   運行程式   條件   ever   group   趨勢   

簡介:本文主要介紹把現今主流的springboot架構項目和精準測試載入器進行結合和應用,通過精準測試的資料穿透、資料擷取、測試案例與代碼的雙向追溯、資料分析等一系列精準測試的特有功能,達到對項目品質的保證。
 

本次環境搭建分為基礎環境準備、springboot環境搭建、精準測試環境搭建、精準測試與springboot環境對接等一整套完整的配置過程,使用者可以通過中的流程圖確認自己所部署過程中進行到的階段點,從而排查部署中可能遇見的問題。

一,Spring Boot配置流程

1,使用工具

1, Eclipse Java Photon

2, Spring Boot

3, JDK 1.8

4, MySQL 5.7

5, Navicat for MySQL

6, apache-maven-3.5.4

7, 0125pinpoint-agent-1.6.2

8, J2EE_Enterprise_key_64bit0614

9, 項目:Moxi(https://github.com/daleiwang/moxi)
 

2, 配置所需的安裝
 

1,安裝Eclipse、JDK、MySQL、Nodejs

註:Eclipse和JDK的安裝和安裝包就用自己現有的就可以,星雲測試將提供MySQL和Nodejs的安裝包,但必須前提是使用者自己的本機上
不存在安裝的MySQL和Nodejs

指令碼安裝mysql和nodejs
 

1、解壓星雲提供的mysql-5.7.16-winx64安裝包和nodejs安裝包到伺服器根目錄中(例如D盤根目錄)。
 

2、右鍵以管理員身份運行星雲提供的自動化安裝工具mysql_nodejs_install.exe
 

3、輸入nodejs的目錄,斷行符號。如所示:

 

4、輸入mysql的絕對路徑(到bin),然後斷行符號。等程式運行完畢,mysql的root密碼被修改成root就可以手動關閉程式。


 

2,安裝Spring Boot外掛程式
Eclipse安裝Spring Boot外掛程式,Help-Eclipse Marketplace,搜尋Spring Tools安裝STS,


 

也可以通過 :https://spring.io/tools/sts/all 進行下載,

下載以後安裝,Eclipse——Help——Install new Sofware,下一步、下一步安裝即可。
 

3,安裝Maven
 

Eclipse本身會帶Maven,但是不如自己安裝的靈活,解壓apache-maven-3.5.4.zip(例如:E:\apache-maven-3.5.4),配置系統變數添加變數名:

MAVEN_HOME變數值= E:\apache-maven-3.5.4,

Path添加變數值= %MAVEN_HOME%\bin,cmd測試用mvn -v如下即安裝成功。


 

1,Eclipse替換內建為本地Maven

Windows-Preferences-Maven-Installations-Add,路徑指向
E:\apache-maven-3.5.4,載入完成後勾選新的apache-maven-3.5.4,Apply。


 

2,定義本地Maven依賴庫

修改E:\apache-maven-3.5.4\conf\settings.xml,添加如下一行代碼定義,例如:
<localRepository>C:\Users\luxper.m2\repository</localRepository>,C:\Users\luxper.m2\repository是我的本地maven倉庫地址。

Eclipse:Windows-Preferences-Maven-User Settings-Global Settings,Browse= E:\apache-maven-3.5.4\conf\settings.xml,Apply。
 

3,建立工程和運行工程

選擇Spring Starter Project


 

工程名字,定義為moxi,工程選擇Web下面的Web,然後Finesh,接下來會初始化下載Maven管理的相關jar包。

工程結構大致如下:


 

工程——右鍵——Run As——Spring Boot App

添加調試:

為瞭解決每次修改代碼還要重新啟動工程,
工程——右鍵——Spring Tools——Add Boot Devtools,那麼每次修改類檔案就會自動編譯了。
 

4,整合Mybatis

剛才已經下載好了MySQL,現在我們添加pom.xml檔案
build標籤加一行<defaultGoal>compile</defaultGoal>如下


 

然後是mybatis和mysql:

org.mybatis.spring.bootmybatis-spring-boot-starter1.2.0mysqlmysql-connector-javaruntime 在application.properties檔案中添加資料來源配置:、![](http://i2.51cto.com/images/blog/201808/09/9040d97a91f0f9ec22f6886d70c92918.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) Navicat串連本地mysql,建立資料庫moxi,查詢執行項目git頁面列出來的sql語句自動建立該項目需要的資料庫內容。可以通過建立Model、Service和Controller驗證資料庫是否串連成功 **5,整合thymeleaf** 添加thymeleaf依賴![](http://i2.51cto.com/images/blog/201808/09/1c57946a0762d5b078bababd7a4cb4da.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 配置application.properties![](http://i2.51cto.com/images/blog/201808/09/0e74a4aae4c11e69423b4a89b110a022.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)引入檔案:,引入相應的樣式、圖片和js檔案,引入分頁檔:![](http://i2.51cto.com/images/blog/201808/09/e753c7dc646f1c055c6c5b45838b49e3.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 引入html:注demo和news裡面也是html檔案![](http://i2.51cto.com/images/blog/201808/09/4bf964bf7e435b7eda6256ac3f51eb1e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) **6,運行程式**Eclipse環境運行:Run As——Spring Boot App打包運行:右鍵項目Maven-Maven install,項目目錄target檔案夾產生jar包,cmd運行。項目初次運行會下載所需依賴庫,消耗時間較長。 在Eclipse環境運行成功以後介面是這樣的:![](http://i2.51cto.com/images/blog/201808/09/e98c389644fa2d802238451a2dd03b89.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) **二,測試專案** **1, 下載工具及工具配置** **2, 從官網上下載星雲測試載入器:http://www.teststars.cc/**![](http://i2.51cto.com/images/blog/201808/09/709306d7c418d51c46c00ffa9d678a9f.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)下載以後進行配置: **2,星雲測試服務端的配置**TTLangage.config配置項說明:![](http://i2.51cto.com/images/blog/201808/09/8e4b65f1f306525040b226aa5a8d701a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 1、 運行下的星雲測試server目錄中ThreadingTestServer.exe,在右下的圖表中點註冊資訊,查看其時間,星雲測試有兩個月的體驗,若是超過兩個月,發生KEY到期,請聯絡星雲測試的工作人員,並提交服務端中的序列碼![](http://i2.51cto.com/images/blog/201808/09/61e19f56bc5fd9d629b94dbe5b5c2471.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)![](http://i2.51cto.com/images/blog/201808/09/e33638e1723b7f4e192f1623813a116b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 2、聯絡星雲工作人員擷取當前伺服器的key.key檔案,替換到星雲的server目錄下; 3、啟動server目錄下的ThreadingTestServer.exe後會自動開啟同級目錄下的ThreadingTestServerFront.exe,看到自動彈出下面視窗後,表示串連正常。![](http://i2.51cto.com/images/blog/201808/09/25a6b058bda5bbcadd3ff6b8bf5f1fa8.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) **3,星雲測試用戶端的配置**註:星雲測試線上用戶端的串連需要訪問連接埠17262/17263.登陸之前需要保證網路連接不存在限制。開啟用戶端之前需要修改TTClient檔案夾下的Server.cfg檔案,配置localIP項為可以與服務端正常資料通訊的本機IP地址。配置這個localIP的原因是,在用戶端需要接收來自服務端傳來的動態資料,配置本地的IP地址服務端才能把資料傳到用戶端中來。配置IP地址完成後雙擊運行TTClient/TT.exe檔案進入星雲測試用戶端。選擇檔案->登入,輸入星雲測試服務端的IP地址以及自己的使用者名稱和密碼即可登入。如所示。![](http://i2.51cto.com/images/blog/201808/09/7bd0324652acb81a333ccd0ca3afbf54.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) **4,星雲測試雲端報表平台服務啟動** 1、 運行星雲測試TTWeb目錄下的bin\redis-2.4.5-win32-win64\32bit中的redis-server.exe![](http://i2.51cto.com/images/blog/201808/09/602559e453dda91232b50719a9f5fce3.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 2、運行星雲測試TTWeb目錄下的startTTwebserver.bat![](http://i2.51cto.com/images/blog/201808/09/488e6e3a958f3117e9092616f7c9ed60.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)![](http://i2.51cto.com/images/blog/201808/09/92edc7f9ffaa60bfdbd1875cc43391d0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)訪問網頁報表網頁IP地址:3000**2,建立工程和版本並編譯 **1, 登入用戶端2, javaForWindows目錄下的Server.cfg設定檔,[SERVER] ip填寫實際ip地址,修改[PROPERTY]欄位,與用戶端目錄下的Server.cfg同步![](http://i2.51cto.com/images/blog/201808/09/376d1284b02329e5f4d09d9f540b767c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 3、修改javaForWindows目錄下的ComplierPath.xml設定檔註:工程名稱project_name(FishJoyTest)和待拷貝版本名稱baseversion_name(fish1)已經手動建立,baseversion_name是project_name工程下的一個已經存在的版本。version_name(fish2)為要編譯的版本。即:如果fish2已存在,則直接編譯,如果fish2不存在,則先建立fish2,然後拷貝fish1的資料至fish2,再編譯。同一個版本下可添加多個子模組即proname,proname不能重複,一個子模組下可以配置多個工程路徑ProName:子模組名稱Project_path:測試程式源碼檔案路徑Class_path:測試程式class檔案路徑![](http://i2.51cto.com/images/blog/201808/09/a99ad74f90f525a3dead72aa006fac69.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 4、修改javaForWindows目錄下tt_windows檔案夾下Server.ini設定檔Ip設定為用戶端的ip地址。![](http://i2.51cto.com/images/blog/201808/09/154116a55124079cfbec28cb37b374a1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)5、在命令列運行autoCompiler.jar進行編譯jre\bin\java.exe -jar autoCompile.jar -t D:\J2EE_Enterprise_key_64bit0803\CompileToolsPkg\javaForWindows註:-t後面的參數為ComplierPath.xml檔案的目錄![](http://i2.51cto.com/images/blog/201808/09/53b2d1c298b56435ebb5713393954e11.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 6、在用戶端查看資料,記得必須點擊重新負載檔案![](http://i2.51cto.com/images/blog/201808/09/7c0264a4e5e94033a53110c8d8e8c8b0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 由於測試的時候需要運行我們插裝後的代碼(編譯完成後會在java目錄同層產生src-instru目錄,src-instru目錄即為編譯插裝後的源碼);具體操作:先將源碼目錄下未插裝的java目錄重新命名為pre_java,再將編譯插裝產生的src-instru目錄命名為java。 並且插樁代碼的運行需要我們的jar包,因此需要修改客戶的pom.xml檔案來引入我們的jar服務,加入到兩個之間,加入的代碼如下:systemPath需要按JavaParser-j2ee.jar和jeromq-0.3.0-SNAPSHOT.jar的絕對路徑填寫com.zoaJavaParser-ZMQ1.0system/D:/J2EE/client/MQ/JavaParser-J2EE.jarcom.zoajeromq1.0system/D:/J2EE/client/MQ/jeromq-0.3.0-SNAPSHOT.jar 在pom檔案修改完成後即可打包發布 編譯以後達成jar包(具體的打包方法參考6,運行項目)**3,測試前準備** **1、添加資料轉送設定檔** 資料轉送設定檔是保證啟動並執行資料可以回傳到星雲端服務器的。配置方法是在具體的客戶測試環境下的usr/local/bin檔案夾下建立設定檔config.cfg 檔案內容如下:state=1IP=(IP值寫星雲測試服務端IP,注意要大寫)(如果發布環境是windows環境,需要在C盤根目錄下配置上述檔案) **2,agent啟動項目**cmd輸入命令:java -javaagent:E:\pinpoint-agent-1.6.2\pinpoint-bootstrap-1.6.2.jar -jar E:\moxi-0.0.1-SNAPSHOT.jar![](http://i2.51cto.com/images/blog/201808/09/b05b2d5a893779937981fddc8e05faa1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)E:\pinpoint-agent-1.6.2\pinpoint-bootstrap-1.6.2.jar =agent路徑E:\moxi-0.0.1-SNAPSHOT.jar =項目路徑出現這樣的介面表示運行成功: ![](http://i2.51cto.com/images/blog/201808/09/cf126932c64322bf818d43c95ca3fc92.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) **3,設定cookie**1,項目URL後面加teststars.jsp,訪問teststars.jsp頁面進行cookie設定 ![](http://i2.51cto.com/images/blog/201808/09/cb56e442cef43af2f2070d1d8b910923.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)2,點擊setcookie進行設定,設定成功頁面如下: ![](http://i2.51cto.com/images/blog/201808/09/8117bd74d90d1748d557487e70d1ffca.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)註:為了區分測試,我們在設定的使用者姓名與星雲用戶端當前登入使用者一致, **4,編寫測試案例**![](http://i2.51cto.com/images/blog/201808/09/2716fb7bb26cd162131ee902a47691b9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)點擊添加: ![](http://i2.51cto.com/images/blog/201808/09/de898bd950ce8751fbd10900513174c9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) ![](http://i2.51cto.com/images/blog/201808/09/09a655f77a270604bad05f82bc596924.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) **5,項目測試**訪問地址:http://localhost:8080/admin/login![](http://i2.51cto.com/images/blog/201808/09/7c858c06edb890f0d889934ddb3d2992.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)![](http://i2.51cto.com/images/blog/201808/09/901368375ded65e6f19a7500497b75b0.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)頁面登陸進去以後,假如測試內容管理的文章管理的測試案例,則選擇內容管理的文章管理的用例,點擊開始,在頁面上點擊內容管理的文章管理,就會有相應的測試資料轉送過來(具體的展示見後面測試結果的第一個標題:示波器的展示),資料接收完以後點擊停止,本條用力測試完畢**三,測試結果** **1,示波器波形展示**先選中測試案例,再點擊開始後就可以進行相應的測試工作了,測試的時候示波器可以收到動態資料並以波形圖的方式展示出來。![](http://i2.51cto.com/images/blog/201808/09/6eb246024f39629b65c02092a3da1efc.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)註:採集的動態資料儲存在服務端目錄下的VersionData檔案夾下,對應版本的動態資料儲存在相應的版本號碼目錄下(版本號碼可在資料庫management表的version表中查看) **2,缺陷管理**為了讓測式人員更好的對缺陷進行管理,採用測試案例、代碼、BUG相關聯方式,精準測試雲端平台使用了曆史BUG追查功能,這使得在版本迭代過程中,同一個測試案例所有的BUG情況一目瞭然,避免了因人員變動或版本變動導致的相同的BUG的排查時間,以及重複提交未被解決的BUG。![](http://i2.51cto.com/images/blog/201808/09/98b5a2a3e35dadc76a99c01ad71dee01.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)圖表 缺陷提交與管理 ![](http://i2.51cto.com/images/blog/201808/09/04355516630f4a1b3f435dd70f2543ba.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)圖表 bug資訊一目瞭然 **3,覆蓋率** 覆蓋率可視化針對函數sc0、True、false 、both、Branch、C/DC 、MC/DC 7種覆蓋率給出可視化展示下面針對每一種覆蓋率展示介面給出說明:(以sc0為例)sc0為語句塊覆蓋,其顏色區分對象為基本語句塊(包括隱含不可見語句塊)其中綠色標示被覆蓋的語句塊。藍色是未覆蓋到的語句塊。計算方法為:覆蓋到塊/應統計塊![](http://i2.51cto.com/images/blog/201808/09/caa34d7694cf4521621a0c0916a06702.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)用紅色的標出來的表示sc0覆蓋率,函數列表右方為覆蓋率的展示: ![](http://i2.51cto.com/images/blog/201808/09/6f16f333a23ac7c5237f485d383bf08e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) **4,雙向追溯**雙向追溯是指通過運行測試案例,實現測試案例與被測源碼間相互追溯。根據測試用、查看相關被測源碼為正向追溯,根據被測源碼查看相關測試案例為逆向追溯。在測試案例列表中選擇測試案例,可以追溯到該測試案例的內容描述資訊,在模組調用圖中顯示被測試到的函數;也可以在模組調用圖中,點擊相關的函數,也可以追溯到相關的測試案例。該追溯技術方便了使用者查看和設計測試案例。雙向追溯功能可以啟動並執行前提是,測試案例已經被運行過,並且示波器收到了波形採集到了動態資料。 **1,正向追溯**正向追溯是指:將測試案例和海量的代碼執行資訊自動關聯,可精確到函數層級及代碼塊層級;通過正向追溯可直接在代碼級定位測試現場故障和缺陷邏輯,並提供最後啟動並執行時序資料;通過正向追溯自動記錄產生功能對應的詳細設計實現,輔助軟體解耦和架構分析。正向追溯的優勢是:迅速定位缺陷對應的代碼執行邏輯,協助開發快速修複缺陷,可追蹤難複現缺陷;精確、詳盡的記錄測試案例啟動並執行情況,為精準軟體測試提供大量原生分析性資料;可以進行事後的缺陷分析、追蹤,輔助開發進行功能實現確認。![](http://i2.51cto.com/images/blog/201808/09/b03de21452f1cb69e4447b6513a27f20.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 點擊測試案例追溯到這個成而是用例運行過得函數,選中一個函數,追溯到這個函數運行過得控制流程程圖的邏輯分支以下是正向追溯到代碼和函數調用圖: ![](http://i2.51cto.com/images/blog/201808/09/e3080973e58a7ca07dcc6500c5809417.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)![](http://i2.51cto.com/images/blog/201808/09/f036f29693cea683452b4809f4160794.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) **2,反向追溯** 反向追溯是指:分析代碼關聯的功能,為研發分析系統和進行一致性修改以及迴歸測試分析提供精確資料。反向追溯過程:點擊需要查看的函數或函數中的某行代碼,自動列出可以測試到該函數或者程式分支的測試案例![](http://i2.51cto.com/images/blog/201808/09/98326b2e815b38ca8fa3a69759c8d3d1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)選擇函數追溯到運行過該函數的測試案例,查看該函數的控制流程程圖和代碼![](http://i2.51cto.com/images/blog/201808/09/79ea5714979f9ed0545a088b8b4af346.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)點擊代碼,追溯到運行過該代碼的測試案例 **5,簡易流程圖的展示** 前置條件:版本有資料,關聯源碼可在程式碼檢視有顯示源碼,並且在簡易控制流程程圖的分支塊有具體語句顯示,有覆蓋率資料,可在簡易控制流程程圖顯示當前覆蓋到的塊資訊 簡易控制流程程圖功能,以語句塊的形式清晰的展示函數內部的控制邏輯,介面上可以直觀的看出控制流程各節點的測試覆蓋情況,在展示中,簡易控制流程程圖還可以通過顏色對每個程式塊進行覆蓋率標識,在縮圖中整個模組的覆蓋率非常直觀。(背景色為綠色表示有測試案例覆蓋到該塊:以SC0覆蓋為參考標準)![](http://i2.51cto.com/images/blog/201808/09/9b1051286457746965b81ca371a4818a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) **6,報表的展示** 選擇用戶端所編譯的項目和版本:顯示所選取編譯項目的一些基本資料,包括:項目指標資訊、項目資訊、版本資訊、測試匯總資訊、測試過程監控趨勢圖、測試裝置群組成和分布圖、版本覆蓋率匯總圖、複雜度統計圖項目匯總:![](http://i2.51cto.com/images/blog/201808/09/ae4f7f6183f7d6245ee16b9de61fd9f7.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)包含項目資訊:項目的詳情資訊版本資訊:版本的詳情資訊測試匯總資訊:測試案例通過率:無BUG的測試案例 BUG累計:測試案例運行完畢後提交的BUG數目前的版本覆蓋率(SC0):(執行過可見段數/可見段數)*100%的比例覆蓋率增長:相比前一天的SC0增長差值高複雜度預警函數個數:高複雜度的函數個數**測試案例列表:** ![](http://i2.51cto.com/images/blog/201808/09/52d01ba1528c18707b75b13b4fcdb4c1.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)顯示製作的測試案例的詳細資料,包括測試案例的名稱、建立時間、執行時間、關聯函數、覆蓋率佔比、運行狀態、測試人員等 **覆蓋率按日增長曲線圖:**![](http://i2.51cto.com/images/blog/201808/09/fcd058fb52aae4d1972feb4cb22c154c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)覆蓋率按日增長曲線圖,讓管理者更好的把握測試過程 **測試漏洞列表:**![](http://i2.51cto.com/images/blog/201808/09/6251ed3b6591ea51654510802aa60f80.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 在一個程式中,往往有成百上千的函數,這些函數有的是關聯整個程式核心、有的則是開發人員棄而不用,但一直保留遲遲不肯刪除的,針對這些大量的函數,“精準測試”採用通過靜態、動態指標的綜合分析,在大量的程式函數中,通過計算直接篩選潛在的高危的測試漏洞,通過報表給予展示。? 通過複雜度和覆蓋率進行計算? 通過函數調用上下文和覆蓋率進行計算?

開發人員測試-採用精準測試載入器對Spring Boot應用進行測試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.