百度API接口智能化測(cè)試探索與實(shí)踐
點(diǎn)擊上方“服務(wù)端思維”,選擇“設(shè)為星標(biāo)”
回復(fù)”669“獲取獨(dú)家整理的精選資料集
回復(fù)”加群“加入全國服務(wù)端高端社群「后端圈」

一、API測(cè)試面臨的質(zhì)效問題
1.1?API的自動(dòng)化測(cè)試特點(diǎn)
API接口由于具備良好的可測(cè)性,很自然的成為服務(wù)端程序自動(dòng)化測(cè)試的首選方案:

1、API的結(jié)構(gòu)化有助于程序?qū)崿F(xiàn)請(qǐng)求與解析接口,當(dāng)前以Json數(shù)據(jù)結(jié)構(gòu)為主要的入?yún)ⅰ⒎祷亟Y(jié)構(gòu),可讀性強(qiáng)、程序化處理方便。
2、API的業(yè)務(wù)邏輯集成度較高,具備較高測(cè)試性價(jià)比,接口的參數(shù)組合具備直接的業(yè)務(wù)含義,主要的業(yè)務(wù)場景是可以通過不同參數(shù)組合達(dá)到覆蓋。
3、API測(cè)試執(zhí)行與維護(hù)成本較低,考慮到需要書寫的case量級(jí)、調(diào)試與維護(hù)的代價(jià),在測(cè)試分層的金字塔理念之中,是作為腰部支撐的存在。

1.2?API自動(dòng)化測(cè)試面對(duì)新的挑戰(zhàn)
伴隨著自動(dòng)化測(cè)試的建設(shè)與積累,建成了一站式平臺(tái)化為主要形式的測(cè)試服務(wù),CASE全周期幾乎都是在平臺(tái)內(nèi)進(jìn)行的,平臺(tái)化的建設(shè)集成了豐富的測(cè)試能力、減少了重復(fù)建設(shè)、提高了測(cè)試服務(wù)的可靠性,從完全手工測(cè)試跨越到自動(dòng)化平臺(tái)對(duì)質(zhì)效提升有顯著意義,但同時(shí)也面臨新的問題需要解答:
1、測(cè)試全周期內(nèi),人力投入是否可完全釋放:
CASE書寫調(diào)試效率:API CASE由接口定義、參數(shù)數(shù)據(jù)、斷言組成,平臺(tái)建設(shè)有編輯管理能力,在自動(dòng)化發(fā)展的初期, CASE自身的書寫準(zhǔn)備仍然需要大量人工投入,多數(shù)工作集中在了從瀏覽器復(fù)制粘貼接口參數(shù)、或者從API定義文檔中手工錄入?yún)?shù)。在初期,CASE的全自動(dòng)化生成占比幾乎為0%。
排查分析CASE失敗原因:按照歷史經(jīng)驗(yàn),自動(dòng)化CASE失敗的原因70~80%與被測(cè)代碼無關(guān),而更多的是平臺(tái)、CASE、環(huán)境、數(shù)據(jù)等相關(guān),日常排查分析此類問題浪費(fèi)大量的人力。
2、自動(dòng)化CASE量級(jí)急劇膨脹,測(cè)試效率開始降低、可維護(hù)性變差:
長尾任務(wù)增多:隨著CASE量級(jí)增長、維護(hù)跟不上導(dǎo)致穩(wěn)定性變差,開始出現(xiàn)執(zhí)行耗時(shí)變慢,難以達(dá)成快速測(cè)試的目的,同時(shí)也擠占了公共執(zhí)行資源。比較突出的長尾任務(wù)包含上千個(gè)case,整體耗時(shí)需要1小時(shí)。
CASE存在大量冗余、無法甄別質(zhì)量:當(dāng)CASE積累到一定階段后,人工維護(hù)的及時(shí)性與可行性極速下降,單靠人工去篩選、清理CASE變得非常困難。使得測(cè)試執(zhí)行時(shí)無法高效有效的篩選出合適的CASE來覆蓋。
3、自動(dòng)化CASE測(cè)試的質(zhì)量是否可信:
一種情況是,CASE全部PASS造成的測(cè)試通過假象:其中可能夾雜這CASE并無有效斷言來攔截問題、或者覆蓋率不足,無法有效的證明CASE測(cè)試是放心的。
另一種情況是CASE有頻繁的FAIL,但是夸大了問題攔截率:更多的是由于平臺(tái)、CASE、環(huán)境、數(shù)據(jù)等干擾問題導(dǎo)致的CASE狀態(tài)不穩(wěn)定。

二、智能化測(cè)試基本思路
如何理解智能化測(cè)試:利用數(shù)據(jù)和算法相結(jié)合賦能質(zhì)量活動(dòng)的測(cè)試方法,使得每一次測(cè)試活動(dòng),都用較小的代價(jià)、準(zhǔn)確判斷質(zhì)量風(fēng)險(xiǎn)。
(1)智能化測(cè)試不是一種全新的測(cè)試類型;
(2)智能化測(cè)試存在傳統(tǒng)測(cè)試的某個(gè)或多個(gè)環(huán)節(jié)中;
(3)傳統(tǒng)測(cè)試是智能化測(cè)試發(fā)揮作用最重要的載體。
基于自動(dòng)化測(cè)試的整個(gè)生命周期,輸入、執(zhí)行、分析、定位、評(píng)估,分別有其相應(yīng)的數(shù)據(jù)特征與規(guī)律、以及對(duì)應(yīng)的瓶頸問題,智能化測(cè)試以提升測(cè)試過程各階段質(zhì)效為目標(biāo),將數(shù)據(jù)與策略相結(jié)合,形成整體合力。

三、API測(cè)試全周期智能化測(cè)試實(shí)踐

在智能化測(cè)試的思維指導(dǎo)下,以API自動(dòng)化測(cè)試平臺(tái)為載體,結(jié)合API測(cè)試各個(gè)階段面臨的問題,分而治之。
1、準(zhǔn)備CASE:通過自動(dòng)化生成的手段快速生成CASE,智能化策略解決參數(shù)組合爆炸問題、斷言缺失問題。
2、執(zhí)行CASE:通過任務(wù)編排的動(dòng)態(tài)并發(fā)策略提高測(cè)試效率,通過代碼覆蓋的映射關(guān)系精準(zhǔn)篩選CASE提高測(cè)試效益。
3、分析判斷結(jié)果:通過Diff去噪策略保障接口對(duì)比測(cè)試的調(diào)試效率與效果。
4、排查定位原因:通過結(jié)合日志trace系統(tǒng)、異常錯(cuò)誤規(guī)則庫建設(shè),提高自動(dòng)排查定位效率。
5、評(píng)估測(cè)試質(zhì)量:通過適合的自動(dòng)化CASE評(píng)估手段,評(píng)價(jià)CASE的有效性,指導(dǎo)CASE優(yōu)化治理與披露風(fēng)險(xiǎn)。
3.1 自動(dòng)化CASE的「自動(dòng)化+智能化」生成
API CASE主要由接口定義結(jié)構(gòu)、參數(shù)數(shù)據(jù)、斷言三部分組成,前兩部分比較好實(shí)現(xiàn)自動(dòng)化,而斷言部分因?yàn)榘瑯I(yè)務(wù)邏輯的校驗(yàn)需要更多考慮智能化策略。
1、接口定義+參數(shù)數(shù)據(jù)的自動(dòng)導(dǎo)入生成:擴(kuò)展多種對(duì)接渠道,建立快捷的自動(dòng)化生成CASE機(jī)制。
基于API定義管理工具:swagger+yapi用作規(guī)范化的API定義管理工具,包含了uri、入?yún)⒔Y(jié)構(gòu)與示例、返回結(jié)構(gòu)與示例。測(cè)試平臺(tái)建立對(duì)接機(jī)制,可一鍵式導(dǎo)入并監(jiān)聽接口變更信息。
基于業(yè)務(wù)系統(tǒng)日志:從生產(chǎn)環(huán)境摘取API的日志片段,經(jīng)過加工處理之后,解析出API結(jié)構(gòu)與參數(shù)。測(cè)試平臺(tái)以開放API的形式提供給業(yè)務(wù)線定制化實(shí)現(xiàn)對(duì)接。
瀏覽器插件錄制請(qǐng)求:建設(shè)pc瀏覽器的插件,對(duì)頁面操作時(shí)的后端請(qǐng)求直接錄制保存到CASE,尤其是有順序要求的API請(qǐng)求序列。對(duì)于web手工回歸測(cè)試、驗(yàn)收的環(huán)節(jié),可同時(shí)生成接口CASE。
其他API測(cè)試工具導(dǎo)入:postman作為手工調(diào)試API的利器,在研發(fā)階段積累了一些API的請(qǐng)求,可批量導(dǎo)入為CASE。另外還有一些代理工具,如fiddler、charles其接口請(qǐng)求的數(shù)據(jù)格式也可支持導(dǎo)入導(dǎo)出。

自動(dòng)化生成的API CASE,主要用于兩類場景:
契約測(cè)試:在微服務(wù)系統(tǒng)中是比較重要的用以驗(yàn)證服務(wù)之間接口契約一致性的手段,在使用中需要解決二個(gè)問題,一是接口結(jié)構(gòu)隨著業(yè)務(wù)發(fā)展經(jīng)常升級(jí)變化需要及時(shí)更新到CASE,二是驗(yàn)證契約需要一定量級(jí)的參數(shù)組合但又要避免參數(shù)組合爆炸的問題。前者主要建設(shè)了監(jiān)聽API定義變化的機(jī)制自動(dòng)刷新CASE,后者是一個(gè)典型的pairwise測(cè)試組合算法應(yīng)用場景,即參數(shù)倆倆正交組合達(dá)到最佳覆蓋同時(shí)又控制參數(shù)組合的量級(jí)最少。
回歸測(cè)試:應(yīng)用與業(yè)務(wù)邏輯回歸面臨的重要問題有三點(diǎn),一是大部分業(yè)務(wù)邏輯是一系列API組合且有依賴關(guān)系的操作序列,因此也需要CASE內(nèi)保持此種關(guān)系;二是由于CASE內(nèi)部API組合情況增加了復(fù)雜度,需要增加前置的規(guī)范化預(yù)處理機(jī)制;三是業(yè)務(wù)邏輯斷言不能夠依賴自動(dòng)化代替,大部分仍需要人工后期修改增加斷言,但為避免生成無斷言的無效CASE,至少生成一些基礎(chǔ)性的斷言,如json-schema斷言對(duì)結(jié)構(gòu)做最基本的檢驗(yàn)。
2、接口斷言的自動(dòng)化生成:盡可能的多做一步,為新增CASE以及存量CASE主動(dòng)生成與推薦斷言。由于json為當(dāng)下API主要的數(shù)據(jù)交換格式,斷言生成的部分也主要集中在json的處理機(jī)制上。
Json-schema斷言:json-schema定義了一套詞匯和規(guī)則來描述Json數(shù)據(jù),即Json數(shù)據(jù)需要遵循的規(guī)范,包括成員、結(jié)構(gòu)、類型、約束等。在測(cè)試場景下(特別是契約測(cè)試),可用于驗(yàn)證API返回json數(shù)據(jù)的格式、內(nèi)容。

對(duì)于新生成的CASE,結(jié)合導(dǎo)入的上游渠道中描述的接口定義(包含了接口返回結(jié)構(gòu)),可直接將json數(shù)據(jù)轉(zhuǎn)化為json-schema。
對(duì)于存量CASE因書寫不規(guī)范有斷言空白的,起不到任何攔截問題的作用,從成本上考慮高優(yōu)補(bǔ)充json-schema斷言。基于CASE執(zhí)行的歷史結(jié)果數(shù)據(jù),提取無異常報(bào)錯(cuò)的記錄N個(gè),轉(zhuǎn)化為json-schema集合并計(jì)算期間的差異,按照其表現(xiàn)與CASE的參數(shù)、執(zhí)行時(shí)間對(duì)照,經(jīng)由不同規(guī)則確定適合的json-schema版本自動(dòng)回填到CASE中。

Json key-value值斷言:json數(shù)據(jù)中的鍵值對(duì),其value值為主要的驗(yàn)證點(diǎn),常用做回歸校驗(yàn)。對(duì)于新增CASE或者存量無斷言CASE,均可以通過基于最近執(zhí)行結(jié)果的N條記錄,計(jì)算key-value中value的diff比例,設(shè)定閾值區(qū)分固定的value值,并回填到CASE中作為回歸斷言點(diǎn)。

經(jīng)過上述能力建設(shè)之后,當(dāng)前增量CASE中,自動(dòng)化手段生成的CASE占比已經(jīng)提升到了60%以上,全年為30%。
3.2 自動(dòng)化CASE執(zhí)行更加高效、有效
1. 自動(dòng)化CASE的「效率」問題:當(dāng)CASE量級(jí)達(dá)到千級(jí)別以上,執(zhí)行效率問題已經(jīng)比較突出,基于 CASE 的歷史表現(xiàn)、可執(zhí)行資源、對(duì)量級(jí)較大且耗時(shí)較長的CASE集合,實(shí)施動(dòng)態(tài)預(yù)估分組并發(fā)執(zhí)行。相比固定分組充分利用執(zhí)行資源、有效減少了長尾的分組。
動(dòng)態(tài)預(yù)估:基于可用線程資源、歷史性能與穩(wěn)定性表現(xiàn),預(yù)估可分組數(shù)量。
CASE分組:按歷史N次平均耗時(shí)表現(xiàn)動(dòng)態(tài)分配到不同分組內(nèi),保持分組之間的整體耗時(shí)相對(duì)均等。
分布式執(zhí)行:采用分布式執(zhí)行框架,對(duì)任務(wù)分片分批處理。
熔斷止損:分組內(nèi)監(jiān)聽執(zhí)行情況,異常導(dǎo)致的耗時(shí)明顯增長將熔斷執(zhí)行,避免分組成為長尾。
優(yōu)化執(zhí)行模型之后,長尾任務(wù)的數(shù)量減少40%,并且有益于資源快速釋放進(jìn)而可以消化更多任務(wù),整體測(cè)試任務(wù)的平均耗時(shí)隨之降低30%。

2. 自動(dòng)化CASE的「效益」問題:CASE 量級(jí)積累到一定階段后變得龐大冗余,帶來的另一個(gè)棘手問題是,維護(hù)不及時(shí)導(dǎo)致無法甄別CASE質(zhì)量,全量執(zhí)行 Fail 率高影響測(cè)試效果。因此,針對(duì)代碼變更篩選推薦高度相關(guān)的 CASE 集合,可減少冗余執(zhí)行、提高效率、也達(dá)到了針對(duì)代碼變更影響范圍的「精益化」測(cè)試。
CASE相關(guān)性計(jì)算:通過串行執(zhí)行CASE的同時(shí)dump測(cè)試環(huán)境的cov文件,計(jì)算提取其中的函數(shù)信息,可獲取CASE相關(guān)的被測(cè)函數(shù)列表。
篩選CASE:基本做法即通過提測(cè)代碼計(jì)算diff,提取出有變更的函數(shù)列表,然后查詢上一步的對(duì)應(yīng)CASE集合。進(jìn)階做法是對(duì)篩選的策略進(jìn)行優(yōu)化,對(duì)CASE多維度的數(shù)據(jù)建立分類與排序。
CASE篩選策略可廣泛應(yīng)用于CI流水線的準(zhǔn)入測(cè)試(冒煙),以自動(dòng)篩選相關(guān)CASE取代人工維護(hù),篩選后執(zhí)行效率相比全量執(zhí)行可優(yōu)化70%。

3.3 分析測(cè)試結(jié)果的智能化手段
在API測(cè)試中有這樣一類場景,API的數(shù)據(jù)結(jié)構(gòu)比較復(fù)雜、數(shù)據(jù)比較多,不論是人工設(shè)置斷言還是自動(dòng)化生成的斷言,均很難達(dá)到較好、較準(zhǔn)的覆蓋。對(duì)于這類接口,衍生出Diff測(cè)試的方式來進(jìn)行測(cè)試覆蓋。
Diff 測(cè)試常用于回歸測(cè)試,其主要方式是采用相同的接口請(qǐng)求參數(shù),分別發(fā)往A/B兩個(gè)版本的接口服務(wù),其中一個(gè)版本是已交付上線版本并認(rèn)為是可信的。Diff測(cè)試的優(yōu)點(diǎn)在于可全流程自動(dòng)生成、無需編寫斷言。但 diff 結(jié)果情況復(fù)雜,一般存在較多隨機(jī)值、變化值并非驗(yàn)證重點(diǎn),導(dǎo)致case往復(fù)調(diào)試成本高。
針對(duì)Diff結(jié)果有「噪點(diǎn)」的問題,設(shè)定去噪算法消除 diff 結(jié)果的不確定性,減少人工調(diào)試 case 成本,自適應(yīng)提高 case 穩(wěn)定性。當(dāng)前在接口CASE應(yīng)用到diff測(cè)試場景時(shí),大部分無需關(guān)注斷言,可100%自動(dòng)化完成自適應(yīng)修正,無需人工介入。

3.4 CASE FAIL原因的智能化分析定位
自動(dòng)化CASE FAIL比較常見,在建設(shè)初期、或者維護(hù)case量級(jí)比較大的業(yè)務(wù),70%~80%以上的FAIL問題基本屬于非代碼bug原因。這部分排查牽扯的人力成本也是比較高的。通過自動(dòng)化平臺(tái)建立自身+業(yè)務(wù)邏輯的排查服務(wù),通過自動(dòng)定位排查手段能有效的減少這部分人力投入。

1、一級(jí)定位:首先排除掉自動(dòng)化測(cè)試工具平臺(tái)、環(huán)境、CASE規(guī)范這類非常明顯、且容易出現(xiàn)的問題。這部分的工作依賴的是自動(dòng)化測(cè)試工具自身的日志建設(shè),建立完整的異常錯(cuò)誤碼機(jī)制,對(duì)各個(gè)環(huán)境容易出現(xiàn)的異常進(jìn)行細(xì)致的分類。比如接口請(qǐng)求不通的異常,就需要分為被測(cè)服務(wù)異常無法訪問、或者是CASE中的URL填寫錯(cuò)誤等。對(duì)于工具而言要解決的一個(gè)策略機(jī)制問題是,當(dāng)一次測(cè)試出現(xiàn)的異常太多,如何選擇1個(gè)root cause作為主要根因反饋到測(cè)試結(jié)果中。此處的過濾策略,先對(duì)CASEID+ERROR為Key存儲(chǔ)到緩存,過濾掉同一個(gè)CASE重復(fù)的報(bào)錯(cuò);根據(jù)執(zhí)行測(cè)試流程對(duì)ERROR發(fā)生的時(shí)機(jī)建立優(yōu)先級(jí)順序,同一個(gè)CASE有不同的ERROR報(bào)錯(cuò)信息時(shí),按照先后順序高優(yōu)推薦首條錯(cuò)誤原因;當(dāng)批量CASE均有多個(gè)ERROR報(bào)錯(cuò)信息時(shí),對(duì)ERROR計(jì)數(shù)再區(qū)分,選擇比重最高的作為錯(cuò)誤原因。如此一來可自動(dòng)化的排除掉CASE FAIL問題的20%無需介入排查。
2、二級(jí)定位:相對(duì)于一級(jí)定位,其他FAIL原因則更多的是與測(cè)試環(huán)境、測(cè)試數(shù)據(jù)緊密相關(guān)。比如被測(cè)系統(tǒng)調(diào)用第三方的API超時(shí)無返回,體現(xiàn)在CASE結(jié)果上是斷言不通過,那么希望是能定位到這個(gè)原因上,也可以大大縮短定位的路徑。做到這個(gè)層面的自動(dòng)定位分析,需要解決二個(gè)問題。第一是將自動(dòng)化CASE與業(yè)務(wù)系統(tǒng)的日志串聯(lián)起來,業(yè)務(wù)系統(tǒng)首先建立起日志的trace機(jī)制,可通過唯一ID串聯(lián)起一次API請(qǐng)求的過程。第二是針對(duì)業(yè)務(wù)日志常見邏輯異常的報(bào)錯(cuò),建立錯(cuò)誤信息規(guī)則庫,F(xiàn)AIL的CASE透傳關(guān)聯(lián)ID到日志這邊時(shí),根據(jù)已有的錯(cuò)誤信息規(guī)則庫去檢測(cè)日志范圍內(nèi)的匹配結(jié)果。這樣可繼續(xù)自動(dòng)化排除掉60~70%左右的FAIL問題。
3.5 自動(dòng)化CASE的有效性評(píng)估
在測(cè)試工作中對(duì)于測(cè)試交付的質(zhì)量經(jīng)常會(huì)有如下困擾:自動(dòng)化 CASE的測(cè)試攔截效果如何?每次測(cè)試都 Pass 是否可以高枕無憂?需要證明自動(dòng)化 CASE 能有效發(fā)現(xiàn) bug,才能使得測(cè)試行為有信心,此即為測(cè)試有效性的含義。

如上為典型的一個(gè)有效性不足的CASE,即驗(yàn)證點(diǎn)覆蓋不足,會(huì)遺漏對(duì)業(yè)務(wù)邏輯的校驗(yàn)。在業(yè)界用以做有效性評(píng)估的手段多數(shù)為變異測(cè)試,學(xué)術(shù)界也有對(duì)比分析語句覆蓋率、分支覆蓋率與變異測(cè)試評(píng)估的效果。
結(jié)合實(shí)際測(cè)試工作經(jīng)驗(yàn),可劃分為四個(gè)評(píng)估的方向:
1、靜態(tài)分析評(píng)估:根據(jù)自動(dòng)化case自身的書寫特點(diǎn)進(jìn)行的設(shè)計(jì)合理性的檢查評(píng)估,是最為基礎(chǔ)的手段之一。
2、動(dòng)態(tài)分析評(píng)估:根據(jù)case運(yùn)行之后的結(jié)果評(píng)估執(zhí)行效果。
3、變異測(cè)試評(píng)估:是一個(gè)研究非常多且有一定難度的評(píng)估手段,通過源代碼生成變異體之后,檢測(cè)case是否能發(fā)現(xiàn)變異,多用于白盒測(cè)試。
4、揭錯(cuò)能力評(píng)估:實(shí)際工作中,case存在特殊的問題,即存有較多同質(zhì)化的case帶來額外的執(zhí)行開銷,同時(shí)也有脆弱不穩(wěn)定的case干擾測(cè)試結(jié)果,進(jìn)而有需要評(píng)估治理。

對(duì)于API測(cè)試而言,測(cè)試覆蓋流程較長而不便于做代碼程度的變異與檢測(cè)。但可以先從基礎(chǔ)的體現(xiàn)CASE本質(zhì)的幾大因素來評(píng)估,即綜合了上述靜態(tài)+動(dòng)態(tài)的分析手段:

1、CASE規(guī)范性:基礎(chǔ)的因素即斷言,斷言體現(xiàn)的是測(cè)試驗(yàn)證的覆蓋,否則將出現(xiàn)只有代碼覆蓋率數(shù)據(jù)但沒有檢驗(yàn)點(diǎn)覆蓋率。
2、代碼覆蓋率:代碼覆蓋率雖然不能作為檢驗(yàn)測(cè)試質(zhì)量的唯一標(biāo)準(zhǔn),但它是基礎(chǔ),代碼覆蓋率低必然CASE覆蓋程度薄弱。
3、CASE穩(wěn)定性:CASE設(shè)計(jì)考慮不周全導(dǎo)致錯(cuò)誤頻發(fā)、性能波動(dòng)較大意味著不可靠,穩(wěn)定性差將非常打擊測(cè)試結(jié)果的可信度。
4、CASE活躍度:被運(yùn)行的頻度、被暫停擱置的周期、被更新編輯的次數(shù)等等,表明了某個(gè)CASE是否已經(jīng)不再活躍,變成了閑置CASE。
5、CASE復(fù)雜度:CASE組成內(nèi)容過于復(fù)雜時(shí),維護(hù)的代價(jià)、運(yùn)行的穩(wěn)定性風(fēng)險(xiǎn)都比較高。
綜合上述數(shù)據(jù)特征,按不同權(quán)重對(duì)每一項(xiàng)進(jìn)行評(píng)分,加總后給出CASE的評(píng)分。用于兩個(gè)方面,一是CASE數(shù)據(jù)評(píng)估供后期維護(hù)CASE參考,二是測(cè)試報(bào)告實(shí)時(shí)披露CASE的質(zhì)量風(fēng)險(xiǎn)。

四、總結(jié)
回顧API 自動(dòng)化測(cè)試的智能化改造實(shí)踐歷程:由痛點(diǎn)問題出發(fā)、從點(diǎn)到線、全面覆蓋,全方位優(yōu)化 API 測(cè)試流程的效率與質(zhì)量,為 API 測(cè)試作為主流的功能回歸測(cè)試能力形成有力保障。
經(jīng)過智能化測(cè)試的改造,API 的測(cè)試全流程更加精益求精,各個(gè)環(huán)節(jié)形成合理,全方位提升測(cè)試過程效率、測(cè)試質(zhì)量。

— 本文結(jié)束 —

●?漫談設(shè)計(jì)模式在 Spring 框架中的良好實(shí)踐
●?顛覆微服務(wù)認(rèn)知:深入思考微服務(wù)的七個(gè)主流觀點(diǎn)
●?要黑盒測(cè)試微服務(wù)內(nèi)部服務(wù)間調(diào)用,我該如何實(shí)現(xiàn)?
關(guān)注我,回復(fù) 「加群」 加入各種主題討論群。
對(duì)「服務(wù)端思維」有期待,請(qǐng)?jiān)谖哪c(diǎn)個(gè)在看
喜歡這篇文章,歡迎轉(zhuǎn)發(fā)、分享朋友圈
在看點(diǎn)這里
