近30年實踐經(jīng)驗匯總,朱少民教授新作出版
這些年,敏捷開發(fā)已經(jīng)開始流行,敏捷測試在國內(nèi)也有了較大進步,加上 DevOps 的興起,進一步推動了測試左移(測試前移)和測試右移(在線測試)。例如,大家開始重視軟件的持續(xù)構(gòu)建和測試自動化,大量使用體現(xiàn)敏捷測試思想的開源工具,開始探索通過軟件測試平臺提供各種測試服務。
這說明敏捷測試的思想和方法是經(jīng)得起時間考驗的,也說明測試行業(yè)內(nèi)在探索和推廣敏捷測試方面確實取得了一定成效。
但從另一個方面看,有很多人對于敏捷測試的理解依然不夠準確,這導致基于敏捷的測試實踐往往形似而神不似。更糟糕的是,根據(jù)2019年的調(diào)查數(shù)據(jù)顯示,軟件測試成為敏捷交付的最大瓶頸。導致這樣局面的主要問題有:
- 對測試重視不夠,持續(xù)交付倒逼持續(xù)測試,但無法做到持續(xù)測試;
- 面對軟件開發(fā)新模式缺乏應對策略,甚至連基于風險的測試策略都沒有很好的實施;
- 測試和開發(fā)協(xié)同工作不足,開發(fā)對自動化測試的支持力度不夠,導致自動化測試代價比較高;
- 熱衷于招聘測試開發(fā)、重復造輪子,自動化測試成效比較低,測試效率也偏低;
- 熱衷技術(shù),但缺乏對測試自身的思考,真正的測試能力沒有顯著提升;
- 企業(yè)內(nèi)建的質(zhì)量文化沒有形成,缺陷預防做得較差,甚至質(zhì)量管理的基礎都已年久失修。
也正是看到這些問題,看到敏捷中的測試比較糟糕的境地,知名學者朱少民和李潔合著的新書《敏捷測試:以持續(xù)測試促進持續(xù)交付》應運而生!
— 01 —
兩位作者有多專業(yè)?
第一作者朱少民是同濟大學特聘教授、軟件綠色聯(lián)盟標準評測組組長、《軟件學報》審稿人、QECon大會發(fā)起人,近30年來一直從事軟件測試、質(zhì)量管理相關工作,這本書也是他繼《全程軟件測試》之后的又一力作。
另一位作者李潔,現(xiàn)任中科創(chuàng)達軟件股份有限公司測試總監(jiān),也擁有20余年軟件測試技術(shù)經(jīng)驗及管理經(jīng)驗。
10年前,朱少民老師就開始在雜志、專業(yè)技術(shù)媒體上發(fā)表一系列文章,例如有《敏捷測試的方法和實踐》、《敏捷測試的思考和新發(fā)展》、《究竟什么是敏捷測試》、《如何不讓測試成為敏捷的絆腳石》等。幾乎同時,李潔老師也在諾基亞、POLYCOM等公司開始從傳統(tǒng)開發(fā)向敏捷開發(fā)模式的轉(zhuǎn)型、親自踐行敏捷開發(fā)模式。
他們是國內(nèi)最早開始思考軟件測試如何適應開發(fā)敏捷化并且一直堅持下來的那批人,也正是基于堅持,在不平凡的2020年,二位作者開始進行全面合作,在拉勾教育開設了《高效敏捷測試》專欄,并在此基礎上,一道重新整理、豐富內(nèi)容,形成本書。
— 02 —
以持續(xù)測試促進持續(xù)交付,突破瓶頸
正如前面所說,測試成為整個持續(xù)交付過程中的最大瓶頸。如果不消除這個瓶頸,就不可能實現(xiàn)敏捷、DevOps最主要的目標——持續(xù)交付。寫這本書,就是為了幫助讀者所在的團隊達成這一目標。如果做到持續(xù)測試,那么任何時候都可以啟動測試、任何時候都可以完成必要的測試,比如兩周是一個迭代周期,那兩周也要能完成應該完成的測試。而且,在整個測試過程中,測試沒有等待,測試分析、設計與執(zhí)行能流暢地進行,測試和開發(fā)也能很好地銜接或融合。只有做到持續(xù)測試,才能支撐持續(xù)交付,才能既適應日益加劇的市場變化,又滿足這樣的市場環(huán)境中的用戶。
敏捷測試不僅是持續(xù)測試、擁有敏捷宣言所倡導的價值觀、遵守敏捷開發(fā)原則,而且也包括一套軟件測試的解決方案,包括測試思維、測試流程、測試基礎設施和一系列的優(yōu)秀實踐等,最大限度實現(xiàn)高效測試,持續(xù)改進。
敏捷測試發(fā)展到今天,有很多成功的經(jīng)驗,也有一些失敗的教訓?,F(xiàn)在又是一個信息爆炸的時代,隨便上網(wǎng)搜索就會得到各種關于敏捷測試的信息,想分辨什么是真正有效的敏捷測試就變得更加困難,因為各種觀點都有、缺少系統(tǒng)透徹的闡述,魚目混珠,甚至覺得敏捷測試是個筐,啥好東西都想往里裝,不倫不類。我們需要重新認知敏捷測試,全面提升個人測試能力,并能將敏捷測試真正落地實踐,實質(zhì)性地提升測試效率,這也是出版《敏捷測試》的一大原因。
— 03 —
《敏捷測試》都講了哪些內(nèi)容
敏捷測試是一套適合或順應敏捷開發(fā)的解決方案,包含了測試思維、測試人員/組織、測試技術(shù)、方法、流程和工具等各個方面。這本書系統(tǒng)地闡述這些內(nèi)容,以一個個真實案例貫穿全書內(nèi)容,理論和實踐相結(jié)合,以業(yè)界優(yōu)秀實踐為基礎。
這本書力求以直觀、簡潔的方式呈現(xiàn)敏捷測試的具體操作流程,盡可能引入有效的測試新方法、新技術(shù)和新工具,包括智能的測試技術(shù)、基于容器的測試環(huán)境部署等。此外,這本書還授之以漁,不僅給大家講解敏捷測試如何做,而且還講解為什么這樣做,甚至幫助讀者拓展測試視野,進一步夯實測試基本功,重構(gòu)測試技能,構(gòu)建一個良好的敏捷思維,終身受用。
全書一共10章
全盤分享3大層面,10個模塊知識。
全書先用一章的篇幅進行鋪墊,重溫敏捷的價值觀和開發(fā)原則,了解不同而具體的敏捷開發(fā)框架。如果你已很好掌握敏捷開發(fā)方法,可以跳過這一章,直接從第2章開始閱讀。建議讀者要認真閱讀和慢慢體會第2章的內(nèi)容,不要認為“思想、思維方式”等比較虛,因為“道法術(shù)器”中,道排在最前面,比原則、方法、技術(shù)和工具都重要,這是基礎。
接下來的兩章還是打基礎。因為人的因素以及組織文化的構(gòu)建對于敏捷測試的成功起到?jīng)Q定因素,很多表面上看起來是技術(shù)層面的問題,其實本質(zhì)上是人的問題。所以,在進入敏捷測試的具體操作講解之前,我們必須先談談人員和組織文化。第3章側(cè)重討論敏捷開發(fā)中測試的職責由誰承擔、如何承擔、是否要設置專職的測試人員;如果設置,該如何操作?如果沒有設置,又該如何操作?還討論了團隊如何轉(zhuǎn)型、如何構(gòu)建學習型團隊以及不同角色之間的協(xié)作,即使不搞敏捷測試,這些內(nèi)容也是非常有價值的,只是在敏捷測試中更具價值,因為敏捷更強調(diào)學習、協(xié)作、成長等。
第4章討論了敏捷測試的基礎設施,包括如何應用虛擬機技術(shù)、容器技術(shù)等搭建測試環(huán)境以及如何采用先進且合適的技術(shù)實現(xiàn)基礎設施的自動驗證等,而這一切就是為了更好地支持自動化測試、支持自動部署、支持和CI/CD(持續(xù)集成/持續(xù)交付)的集成等,這是技術(shù)基礎。你會看到敏捷測試在持續(xù)集成、持續(xù)交付以及 DevOps 的實施過程中無處不在。
接下來,用五章的內(nèi)容詳細介紹如何落地高效敏捷測試,從測試左移(包括需求評審、設計評審和最徹底的測試左移ATDD等)、測試計劃、測試分析與設計、測試執(zhí)行到收尾的完整過程。這個過程的前提就是敏捷開發(fā)模式,需求是采用用戶故事來描述而且變更相對頻繁,迭代也是很快的,測試很有挑戰(zhàn),所以這部分內(nèi)容側(cè)重介紹如何應對這些挑戰(zhàn),如:
- 有什么好的測試策略?
- 自動化測試如何更高效地開展?
- 探索式測試和自動化測試如何有機地結(jié)合起來?
- 選擇哪些合適的測試工具……等等。
在這部分內(nèi)容,讀者會學到很多優(yōu)秀的敏捷測試策略、方法和技術(shù)實踐等。最后,展望未來的敏捷測試,例如如何進行大數(shù)據(jù)系統(tǒng)的測試、智能系統(tǒng)的測試以及如何使用人工智能技術(shù)為測試服務、未來的敏捷測試工具等。
每章開頭都有思維導圖來引導大家學習,每章結(jié)尾都有延伸閱讀,以觸發(fā)讀者新的思考、提供更好的閱讀材料,以擴展本書的能力或打破本書的局限性,讓讀者收獲更多。
如今成為一個敏捷測試工程師,是大勢所逼,更是自我內(nèi)心所驅(qū)動,因為每個人總是渴望成為優(yōu)秀的職場人。通過這本書的閱讀,相信你能達到:
- 真正了解什么是敏捷測試,更好地融入到敏捷開發(fā)環(huán)境中,和業(yè)務、產(chǎn)品、開發(fā)等相關人員有更融洽的溝通與協(xié)作;
- 了解敏捷測試的具體操作,更快、更有效地完成測試分析、設計和執(zhí)行,做到事半功倍,今后的測試工作會變得更輕松。
如果你是研發(fā)經(jīng)理或項目經(jīng)理,希望你能獲得更多的收益,增強對敏捷測試全局的理解,清楚下面的操作和管理:
- 如何完成從傳統(tǒng)測試向敏捷測試的轉(zhuǎn)型,包括敏捷文化的建立;
- 如何構(gòu)建一個有效的敏捷測試體系,包括有效的測試流程、穩(wěn)定而高效的基礎設施或自動化測試平臺;
- 如何指導團隊、指導工程師開展測試工作,極大地提升測試效率,做到持續(xù)測試,滿足持續(xù)交付的要求;
- 如何協(xié)調(diào)不同團隊和不同崗位的溝通和協(xié)作,幫助整個團隊提升研發(fā)質(zhì)量和效率。
希望你能夠喜歡本書,讓我們一起開啟這段敏捷測試之旅,構(gòu)筑輝煌的未來!