本書是餓了么企業(yè)訂餐團(tuán)隊(duì)在軟件質(zhì)量保障方面的經(jīng)驗(yàn)總結(jié)。它通過(guò)講解該團(tuán)隊(duì)如何從0到1構(gòu)建軟件質(zhì)量體系以及該體系如何逐步演進(jìn),分享了餓了么在軟件質(zhì)量保障方面的技術(shù)積累、實(shí)戰(zhàn)經(jīng)驗(yàn)、解決問(wèn)題的思考過(guò)程,以及質(zhì)量保障團(tuán)隊(duì)的建設(shè)與發(fā)展。
【全書一共18章,分為六篇,具體內(nèi)容如下】
第壹篇 規(guī)劃(第1章)
介紹了餓了么企業(yè)訂餐業(yè)務(wù)的背景、團(tuán)隊(duì)背景、面臨的挑戰(zhàn)以及團(tuán)隊(duì)在制定技術(shù)規(guī)劃時(shí)是如何考慮的。
第二篇 基礎(chǔ)(第2~5章)
總結(jié)了QA團(tuán)隊(duì)在功能測(cè)試、安全測(cè)試、兼容性測(cè)試、線上問(wèn)題治理等方面的技術(shù)見解和經(jīng)驗(yàn)積累。
第三篇 提效(第6~9章)
介紹在團(tuán)隊(duì)人員與業(yè)務(wù)穩(wěn)定之后,QA團(tuán)隊(duì)?wèi)?yīng)如何提高測(cè)試和研發(fā)的效率。包括API測(cè)試框架、自動(dòng)生成框架代碼技術(shù)、框架代碼場(chǎng)景化改造、FSM場(chǎng)景化代碼動(dòng)態(tài)組合技術(shù)等。
第四篇 賦能(第10~13章)
從持續(xù)集成、代碼質(zhì)量、Story QA等技術(shù)角度介紹了企業(yè)訂餐QA團(tuán)隊(duì)是如何賦能研發(fā)人員以提高軟件質(zhì)量的。
第五篇 探索(第14~16章)
介紹了團(tuán)隊(duì)在契約測(cè)試、探索性測(cè)試、流量測(cè)試等方面的經(jīng)驗(yàn)。
第六篇 管理(第17~18章)
分享了如何打造有實(shí)力、有格局和有凝聚力的團(tuán)隊(duì),以及項(xiàng)目管理的關(guān)鍵問(wèn)題和解決問(wèn)題的思路。
【讀者對(duì)象】
本書適合各種水平的測(cè)試人員、測(cè)試開發(fā)人員、測(cè)試組長(zhǎng)、測(cè)試經(jīng)理、項(xiàng)目經(jīng)理等,以及其他在軟件質(zhì)量保證的道路上持續(xù)進(jìn)行修煉的讀者閱讀。
(1)餓了么企業(yè)訂餐團(tuán)隊(duì)官方出品,餓了么聯(lián)合創(chuàng)始人、CTO等近20位專家聯(lián)袂推薦!
(2)從技術(shù)、方法、經(jīng)驗(yàn)等多個(gè)維度全面講解餓了么軟件質(zhì)量體系的搭建與演進(jìn)過(guò)程,既能指導(dǎo)讀者從0開始搭建質(zhì)量體系,又能讓讀者了解餓了么質(zhì)量體系建設(shè)的功過(guò)得失。
(3)書中既有可借鑒的方法論和案例成果,又給出了團(tuán)隊(duì)解決問(wèn)題的思考過(guò)程,而且將這個(gè)過(guò)程立體化、可視化地呈現(xiàn)了出來(lái)。
【為何寫作本書】
我們?cè)?jīng)思考過(guò)這樣一個(gè)問(wèn)題,如何才能將自己積累的技術(shù)和知識(shí)進(jìn)行抽象總結(jié),將逐步解決問(wèn)題的過(guò)程立體化、可視化地展現(xiàn)給大家,而不只是簡(jiǎn)單地介紹一個(gè)結(jié)果。我們技術(shù)團(tuán)隊(duì)之所以決定寫這本書,就是希望通過(guò)介紹我們的實(shí)戰(zhàn)經(jīng)驗(yàn)和解決問(wèn)題的思路,幫助大家在“質(zhì)量與效率”的提升上打開新的思路。
“質(zhì)量與效率”一直是我們關(guān)注的焦點(diǎn)。相對(duì)于軟件開發(fā),軟件測(cè)試起步較晚,缺乏擁有專業(yè)知識(shí)的人才。即便是大學(xué)開設(shè)的軟件工程專業(yè),針對(duì)軟件測(cè)試的介紹也只是涉及少量的概念和設(shè)計(jì)測(cè)試用例的方法。專業(yè)的測(cè)試并不是簡(jiǎn)單地翻譯需求。目前有很多測(cè)試人員只是在簡(jiǎn)單地執(zhí)行需求翻譯的工作,沒(méi)有結(jié)合業(yè)務(wù)實(shí)現(xiàn)、質(zhì)量模型和測(cè)試用例,沒(méi)有用科學(xué)的方法設(shè)計(jì)測(cè)試場(chǎng)景,這就導(dǎo)致測(cè)試用例質(zhì)量低下,只能應(yīng)用于單個(gè)特定點(diǎn)的測(cè)試場(chǎng)景。
有些人認(rèn)為功能測(cè)試很低端(從效率、技術(shù)含量和市場(chǎng)反饋的價(jià)值綜合得出如此結(jié)論),甚至有相當(dāng)一部分測(cè)試人員也認(rèn)為,功能測(cè)試意義不大,希望從事測(cè)試工具的開發(fā)工作,因?yàn)槟菢涌瓷先ジ叨,更具有挑?zhàn)性。
其實(shí),功能測(cè)試、自動(dòng)化測(cè)試、性能測(cè)試、安全測(cè)試、測(cè)試框架開發(fā)、平臺(tái)研發(fā)等工作都是為了提高軟件測(cè)試的質(zhì)量,沒(méi)有高低貴賤之分,都是必要的輔助手段?梢詫④浖䴗y(cè)試類比為一個(gè)兵團(tuán),上述這些工作是不同的兵種,在面對(duì)一場(chǎng)戰(zhàn)役的時(shí)候,我們需要考慮的是如何排兵布陣,以贏得戰(zhàn)役,而不是排列兵種的等級(jí)。
不同的時(shí)代對(duì)測(cè)試人員有不同的要求。
起初是“保姆時(shí)代”,以發(fā)現(xiàn)Bug為榮,對(duì)測(cè)試人員的基本要求是具備良好的測(cè)試思維,測(cè)試人員主要利用系統(tǒng)測(cè)試方法進(jìn)行測(cè)試。業(yè)內(nèi)關(guān)注的焦點(diǎn)是黑盒測(cè)試,白盒測(cè)試和灰盒測(cè)試偏少,效率偏低。由于黑盒測(cè)試大部分是通過(guò)人工在系統(tǒng)界面中手動(dòng)進(jìn)行的,從而導(dǎo)致業(yè)界普遍認(rèn)為測(cè)試就是“點(diǎn)點(diǎn)點(diǎn)”。
隨著軟件復(fù)雜度的不斷提高,交付質(zhì)量變得越來(lái)越重要,我們急需提升測(cè)試的效率,壓力測(cè)試和安全測(cè)試等各種專項(xiàng)測(cè)試以及各種測(cè)試平臺(tái)和工具隨之出現(xiàn)。
時(shí)代的進(jìn)一步發(fā)展對(duì)測(cè)試提出了更高的要求,從產(chǎn)品研發(fā)后期尋找Bug轉(zhuǎn)變?yōu)樘崆邦A(yù)防Bug。
小步迭代、快速上線的敏捷開發(fā)時(shí)代,再次對(duì)測(cè)試提出了更高的要求,持續(xù)集成、快速驗(yàn)證、全方位監(jiān)控線上質(zhì)量,需要測(cè)試人員更早地介入產(chǎn)品研發(fā)的整個(gè)過(guò)程,以便更好、更全面地了解產(chǎn)品。測(cè)試左移到開發(fā)階段進(jìn)行代碼評(píng)審、單元測(cè)試,右移到運(yùn)維階段進(jìn)行持續(xù)部署、線上監(jiān)控,從而可以更加立體地保障軟件的質(zhì)量。
如今是一個(gè)輸出測(cè)試能力的時(shí)代,測(cè)試人員不僅要提升自己的效率,而且要賦能研發(fā)人員,幫助他們提升自己的自測(cè)水平。
【本書主要內(nèi)容】
第一篇:規(guī)劃
本篇簡(jiǎn)要介紹了我們的業(yè)務(wù)背景、團(tuán)隊(duì)背景、測(cè)試的一般規(guī)律,以及我們團(tuán)隊(duì)在制定技術(shù)規(guī)劃時(shí)是如何考慮的。
第二篇:基礎(chǔ)
當(dāng)團(tuán)隊(duì)從零開始的時(shí)候,QA(Quality Assurance,質(zhì)量保證)基礎(chǔ)設(shè)施落后、資源有限、技術(shù)改造頻繁,應(yīng)快速形成戰(zhàn)斗力,以業(yè)務(wù)為先,保證產(chǎn)品的質(zhì)量,此時(shí)QA團(tuán)隊(duì)的主要任務(wù)是發(fā)現(xiàn)產(chǎn)品中的Bug。本篇主要介紹了QA團(tuán)隊(duì)在功能測(cè)試、安全測(cè)試、兼容性測(cè)試等不同階段的特點(diǎn)及不同之處。
第三篇:提效
當(dāng)團(tuán)隊(duì)人員與業(yè)務(wù)基本穩(wěn)定,而且功能迭代基本可以正常運(yùn)行之后,我們就開始思考如何提高測(cè)試和研發(fā)的效率,例如,如何構(gòu)建可用于提升效率的小工具和平臺(tái),如何實(shí)現(xiàn)API自動(dòng)化,以及框架的搭建、分層思想、性能測(cè)試、環(huán)境的部署、CI(Continuous Integration,持續(xù)集成)流程的建立等,從而使得QA人員能夠從大量的手工勞動(dòng)中解放出來(lái),提高工作效率,將更多的時(shí)間和精力投入到測(cè)試分析、發(fā)現(xiàn)Bug、預(yù)防Bug的工作中。
第四篇:賦能
在提效之后,我們開始思考,軟件質(zhì)量是“構(gòu)建”出來(lái)的,是由軟件開發(fā)整個(gè)過(guò)程的質(zhì)量所決定的。所以,QA人員的工作不能總是停留在最后一個(gè)環(huán)節(jié),在敏捷開發(fā)的大環(huán)境下,開發(fā)人員也要開始注重自測(cè)質(zhì)量,作為QA人員,我們需要考慮如何賦能開發(fā)人員,使其能夠?qū)ψ约洪_發(fā)的產(chǎn)品進(jìn)行自測(cè)。本篇主要從技術(shù)的角度(比如,可視化度量、自動(dòng)化用例開放、工具開發(fā),以及如何在流程上使用story_QA來(lái)使項(xiàng)目過(guò)程數(shù)據(jù)可視化)介紹了企業(yè)訂餐業(yè)務(wù)的QA人員是如何賦能開發(fā)人員以提高軟件質(zhì)量的。
第五篇:探索
當(dāng)前,業(yè)務(wù)開發(fā)周期越來(lái)越短,幾乎每隔一天就有新版本發(fā)布。針對(duì)這種迭代速度快、回歸量比較大的特點(diǎn),自動(dòng)化測(cè)試的穩(wěn)定性正面臨著巨大的挑戰(zhàn),除了傳統(tǒng)的集成之外,我們還引入了契約測(cè)試、流量測(cè)試、探索性測(cè)試等輔助手段來(lái)提高測(cè)試質(zhì)量,同時(shí)提高QA人員的工作效率。
第六篇:管理
本篇主要講解了新型團(tuán)隊(duì)如何不拘泥于傳統(tǒng)管理方法地勾勒?qǐng)F(tuán)隊(duì)畫像,同時(shí)還介紹了技術(shù)分享的改革,以及如何讓團(tuán)隊(duì)變成有格局、有原則、有自我認(rèn)知、有凝聚力的健康團(tuán)隊(duì)。
【讀者對(duì)象】
本書適合各種水平的測(cè)試人員、測(cè)試開發(fā)人員、測(cè)試組長(zhǎng)、測(cè)試經(jīng)理、項(xiàng)目經(jīng)理等,以及其他在軟件質(zhì)量保證的道路上持續(xù)進(jìn)行修煉的讀者閱讀。
張丙振
高級(jí)測(cè)試專家、企業(yè)訂餐質(zhì)量負(fù)責(zé)人,9年工作經(jīng)驗(yàn)。擅長(zhǎng)自動(dòng)化測(cè)試、測(cè)試框架搭建、質(zhì)量交付團(tuán)隊(duì)管理等。2017年入職餓了么中后臺(tái)研發(fā)部,負(fù)責(zé)商家開放平臺(tái),多次參與公司S級(jí)別跨團(tuán)隊(duì)合作項(xiàng)目并擔(dān)任測(cè)試總owner,曾擔(dān)任上海站技術(shù)沙龍測(cè)試講師。2019年轉(zhuǎn)入阿里巴巴本地生活企業(yè)訂餐團(tuán)隊(duì),目前專注于QA團(tuán)隊(duì)建設(shè)、基礎(chǔ)設(shè)施建設(shè)及質(zhì)量交付。
檀飛翔
測(cè)試專家,從事測(cè)試行業(yè)7年,擅長(zhǎng)測(cè)試框架開發(fā)、CI集成、自動(dòng)化測(cè)試、功能測(cè)試以及大型項(xiàng)目測(cè)試管理。2016年加入餓了么,主要負(fù)責(zé)餓了么商家配送、商戶訂單、商家商品以及企業(yè)訂餐等業(yè)務(wù)領(lǐng)域的QA工作,多次參與和負(fù)責(zé)公司級(jí)別項(xiàng)目,目前負(fù)責(zé)阿里巴巴本地生活企業(yè)訂餐供給交易領(lǐng)域的QA工作,專注于測(cè)試提效和賦能工作。
侯佳剛
測(cè)試專家,一直積極探索正確的質(zhì)量保障之道。從事質(zhì)量工作多年,擅長(zhǎng)測(cè)試自動(dòng)化及測(cè)試工具開發(fā)。先后研發(fā)多個(gè)測(cè)試工具和質(zhì)量平臺(tái),并將其應(yīng)用在產(chǎn)品研發(fā)過(guò)程中。目前主要負(fù)責(zé)企業(yè)訂餐質(zhì)量平臺(tái)研發(fā)及推廣工作。
伍菊紅
資深測(cè)試開發(fā)工程師,有較豐富的測(cè)試經(jīng)驗(yàn)。曾參與多個(gè)公司級(jí)項(xiàng)目的業(yè)務(wù)測(cè)試,如企餐新零售入淘、覆蓋率工具開發(fā)等,擅長(zhǎng)自動(dòng)化測(cè)試、工具開發(fā)。目前專注于測(cè)試前沿知識(shí)探索,如精準(zhǔn)測(cè)試、流量回放等。
李京蓉
資深測(cè)試工程師,從事軟件測(cè)試工作5年。2018年入職餓了么,負(fù)責(zé)餓了么商戶端交易業(yè)務(wù)測(cè)試,轉(zhuǎn)入企業(yè)訂餐團(tuán)隊(duì)后負(fù)責(zé)供給交易領(lǐng)域的業(yè)務(wù)測(cè)試以及整個(gè)事業(yè)部的安全測(cè)試。
張晏婷
資深測(cè)試工程師。先后從事訂單、財(cái)務(wù)等領(lǐng)域測(cè)試工作,功能測(cè)試、自動(dòng)化測(cè)試經(jīng)驗(yàn)豐富,參與多個(gè)提效工具、測(cè)試平臺(tái)開發(fā)工作。
蔡輝
5年從業(yè)經(jīng)驗(yàn),資深測(cè)試工程師。有證券、金融、企業(yè)餐飲服務(wù)相關(guān)工作經(jīng)驗(yàn),擅長(zhǎng)平臺(tái)服務(wù)開發(fā)、質(zhì)量交付。入職企業(yè)訂餐后負(fù)責(zé)測(cè)試平臺(tái)開發(fā),自動(dòng)化測(cè)試工具建設(shè)。
李南昊
高級(jí)測(cè)試工程師,主要負(fù)責(zé)企業(yè)訂餐的業(yè)務(wù)測(cè)試、自動(dòng)化測(cè)試、壓測(cè)的工作。參與企業(yè)訂餐三條業(yè)務(wù)線外賣、團(tuán)餐、到店從0到1的搭建過(guò)程。
楊亮亮
資深測(cè)試工程師,負(fù)責(zé)企業(yè)訂餐基礎(chǔ)及到店相關(guān)領(lǐng)域QA工作。從事測(cè)試工作9年,曾獨(dú)立負(fù)責(zé)多個(gè)大型項(xiàng)目(支付、基金、發(fā)票等)的測(cè)試工作。擅長(zhǎng)后端自動(dòng)化及測(cè)試工具、平臺(tái)的搭建,具有豐富的行業(yè)知識(shí)背景及測(cè)試經(jīng)驗(yàn)。
常娜
高級(jí)測(cè)試工程師。先后在阿里、百度、餓了么等企業(yè)工作,實(shí)戰(zhàn)經(jīng)驗(yàn)豐富。參與多個(gè)公司/BU級(jí)項(xiàng)目(廣告、開放平臺(tái)、訂單等多領(lǐng)域)的測(cè)試工作,并協(xié)助完成多個(gè)測(cè)試平臺(tái)的開發(fā)工作。
第一篇 規(guī) 劃
第1章 技術(shù)保障規(guī)劃2
1.1 業(yè)務(wù)特點(diǎn)2
1.2 面臨的挑戰(zhàn)3
1.3 測(cè)試進(jìn)程的演進(jìn)4
1.4 繪制戰(zhàn)略圖5
1.5 本章小結(jié)7
第二篇 基 礎(chǔ)
第2章 功能測(cè)試10
2.1 業(yè)務(wù)梳理10
2.1.1 接手新業(yè)務(wù)的痛點(diǎn)11
2.1.2 業(yè)務(wù)梳理的構(gòu)想11
2.1.3 過(guò)程實(shí)戰(zhàn)13
2.2 用例設(shè)計(jì)16
2.2.1 用例設(shè)計(jì)面臨的問(wèn)題17
2.2.2 解決思路17
2.2.3 用例設(shè)計(jì)原則確立18
2.2.4 用例設(shè)計(jì)模板化19
2.2.5 設(shè)計(jì)用例框架20
2.3 用例評(píng)審23
2.3.1 評(píng)審的意義23
2.3.2 評(píng)審的價(jià)值24
2.3.3 思考與破局24
2.3.4 合格用例的特點(diǎn)24
2.3.5 用例評(píng)審的準(zhǔn)則25
2.4 本章小結(jié)26
第3章 安全測(cè)試27
3.1 全面清掃當(dāng)前漏洞27
3.2 團(tuán)隊(duì)安全知識(shí)賦能28
3.2.1 引入安全測(cè)試工具28
3.2.2 增強(qiáng)安全意識(shí)29
3.3 安全測(cè)試常態(tài)化29
3.3.1 下沉QA流程30
3.3.2 研發(fā)流程增設(shè)安全保障31
3.4 本章小結(jié)32
第4章 兼容性測(cè)試33
4.1 兼容性測(cè)試的挑戰(zhàn)33
4.2 兼容性測(cè)試的步驟34
4.3 案例分析:性能測(cè)試對(duì)比36
4.3.1 案例背景36
4.3.2 測(cè)試策略及過(guò)程36
4.3.3 測(cè)試結(jié)論39
4.4 關(guān)于測(cè)試機(jī)器資源40
4.5 本章小結(jié)41
第5章 線上問(wèn)題治理42
5.1 線上問(wèn)題的現(xiàn)狀42
5.2 工具的抉擇43
5.3 線下反饋線上化44
5.3.1 釘釘機(jī)器人接入44
5.3.2 簡(jiǎn)化線上問(wèn)題反饋45
5.4 線上問(wèn)題數(shù)據(jù)沉淀及可視化46
5.5 FAQ 轉(zhuǎn)化47
5.6 線上問(wèn)題規(guī)約49
5.7 本章小結(jié)49
第三篇 提 效
第6章 API測(cè)試框架52
6.1 API測(cè)試基礎(chǔ)知識(shí)52
6.1.1 RPC53
6.1.2 RESTful54
6.1.3 Thrift57
6.2 常見API測(cè)試手段58
6.2.1 cURL 59
6.2.2 常見工具分析61
6.3 測(cè)試框架的演進(jìn)與分析62
6.3.1 什么是框架62
6.3.2 測(cè)試框架思想的變遷63
6.3.3 測(cè)試框架的特點(diǎn)66
6.4 測(cè)試框架搭建67
6.4.1 常見的框架結(jié)構(gòu)設(shè)計(jì)68
6.4.2 框架的升級(jí)改造方案69
6.4.3 框架的分層解耦70
6.4.4 數(shù)據(jù)分類處理72
6.4.5 多協(xié)議的封裝74
6.4.6 多環(huán)境的處理76
6.5 測(cè)試框架結(jié)果自動(dòng)對(duì)比驗(yàn)證80
6.5.1 驗(yàn)收結(jié)果思路對(duì)比81
6.5.2 hook函數(shù)擴(kuò)展82
6.5.3 數(shù)據(jù)庫(kù)設(shè)計(jì)83
6.5.4 對(duì)比引擎設(shè)計(jì)84
6.6 API覆蓋率統(tǒng)計(jì)86
6.6.1 覆蓋率介紹86
6.6.2 覆蓋統(tǒng)計(jì)的思考87
6.6.3 接口覆蓋率統(tǒng)計(jì)實(shí)戰(zhàn)87
6.7 本章小結(jié)91
第7章 自動(dòng)生成框架代碼技術(shù)92
7.1 底層框架代碼自動(dòng)生成92
7.1.1 傳統(tǒng)自動(dòng)化框架的痛點(diǎn)93
7.1.2 代碼自動(dòng)生成的解決方案94
7.1.3 代碼自動(dòng)生成實(shí)戰(zhàn)95
7.2 手工用例自動(dòng)轉(zhuǎn)化代碼97
7.2.1 接口用例撰寫現(xiàn)狀98
7.2.2 代碼自動(dòng)轉(zhuǎn)化實(shí)戰(zhàn)98
7.3 冒煙測(cè)試代碼自動(dòng)化生成101
7.3.1 冒煙測(cè)試的挑戰(zhàn)與方案102
7.3.2 拼裝請(qǐng)求102
7.3.3 構(gòu)造參數(shù)數(shù)據(jù)103
7.4 本章小結(jié)105
第8章 框架代碼場(chǎng)景化改造106
8.1 Journey模式BDD106
8.1.1 Journey模式簡(jiǎn)介106
8.1.2 Journey模式原理107
8.2 問(wèn)題與解決方案108
8.2.1 自動(dòng)化問(wèn)題109
8.2.2 解決方案109
8.3 過(guò)程實(shí)戰(zhàn)110
8.3.1 梳理場(chǎng)景需求110
8.3.2 實(shí)例化用戶故事110
8.3.3 轉(zhuǎn)化為自動(dòng)化驗(yàn)收代碼110
8.4 框架與BDD的融合解析111
8.4.1 框架與BDD融合所面臨的問(wèn)題111
8.4.2 框架的設(shè)計(jì)思路113
8.4.3 過(guò)程實(shí)戰(zhàn)113
第9章 FSM場(chǎng)景化代碼動(dòng)態(tài)組合技術(shù)116
9.1 訂單代碼組合的常態(tài)116
9.2 FSM 賦能方案117
9.3 業(yè)務(wù)建模118
9.4 動(dòng)態(tài)繪制流程圖119
9.4.1 Graphviz使用介紹119
9.4.2 使用簡(jiǎn)化模式繪圖120
9.5 構(gòu)建解析器122
9.5.1 解析器方案122
9.5.2 過(guò)程實(shí)戰(zhàn)122
9.6 本章小結(jié)124
第四篇 賦 能
第10章 數(shù)據(jù)工廠128
10.1 數(shù)據(jù)工廠迭代背景128
10.1.1 造數(shù)常見的場(chǎng)景128
10.1.2 數(shù)據(jù)工廠演變歷史129
10.2 數(shù)據(jù)工廠腳本化129
10.2.1 腳本化面臨的挑戰(zhàn)129
10.2.2 從RESTful API轉(zhuǎn)向SOA API130
10.3 數(shù)據(jù)工廠平臺(tái)化131
10.3.1 平臺(tái)化面臨的挑戰(zhàn)131
10.3.2 關(guān)于平臺(tái)化的思考132
10.3.3 如何新增一個(gè)造數(shù)工具133
10.4 數(shù)據(jù)工廠服務(wù)化的思考137
10.5 本章小結(jié)137
第11章 持續(xù)集成138
11.1 持續(xù)集成是什么138
11.2 持續(xù)集成前后實(shí)踐的對(duì)比139
11.3 持續(xù)集成全景141
11.3.1 研發(fā)模式143
11.3.2 代碼準(zhǔn)入144
11.3.3 自動(dòng)化方案145
11.4 本章小結(jié)152
第12章 代碼質(zhì)量153
12.1 代碼質(zhì)量背景知識(shí)153
12.1.1 怎樣衡量代碼質(zhì)量154
12.1.2 糟糕的代碼156
12.2 構(gòu)建代碼質(zhì)量體系158
12.2.1 為什么選擇SonarQube159