這不是一本單純講授測試技術(shù)或者測試管理的圖書,而是以幫助廣大奮斗在一線的測試工程師系統(tǒng)梳理自己的測試技術(shù)并構(gòu)建自己的測試體系,迅速升級為測試架構(gòu)師為目的的專業(yè)技術(shù)書。
本書結(jié)合敏捷、DevOps等開發(fā)模式及作者在華為和綠盟近15年測試心得和實(shí)踐,圍繞測試策略,把測試?yán)砟詈透鞣N測試技術(shù)串了起來,并討論了該如何把測試技術(shù)和產(chǎn)品結(jié)合起來,如何確定測試目標(biāo)、測試范圍、測試的深度和廣度、測試的重點(diǎn)和難點(diǎn),并終實(shí)現(xiàn)符合商業(yè)目標(biāo)的剛剛好的測試。
書中還基于當(dāng)前測試工程師的實(shí)際情況,為測試工程師向測試架構(gòu)師躍遷規(guī)劃了明確的發(fā)展路徑。
為幫助讀者理解,書中包含一個貫徹始終的綜合案例,為說明某些重點(diǎn)知識配備了數(shù)十個特色案例。另外,書中還包括10余套可套用的模板或清單、近500張圖表,從而保證讀者可以把所學(xué)內(nèi)容落地到自己的項目中。
【本書一共包含9章,分為三大部分】:
●第1部分(第1~2章)從中國的軟件測試行業(yè)現(xiàn)狀入手,幫助大家分析自身的瓶頸,為軟件測試者的職業(yè)規(guī)劃提供建議。書中為測試工程師提供了5個發(fā)展方向,并重點(diǎn)介紹了向測試架構(gòu)師躍遷的規(guī)劃建議。
●第2部分(第3~5章)深入講解了軟件測試架構(gòu)師需要掌握的基本測試技術(shù)和實(shí)用的軟能力,包括測試架構(gòu)師應(yīng)該做和不應(yīng)該做的事、軟件質(zhì)量模型、測試類型、6種常用測試方法、測試設(shè)計、探索式測試、自動化測試、溝通和協(xié)商以及寫好測試用例的表達(dá)技法,向軟件測試架構(gòu)師的目標(biāo)進(jìn)行突破。
●第3部分(第6~9章)詳細(xì)介紹了軟件測試架構(gòu)師的核心技能測試策略該如何制定,包括四步測試策略制定法、產(chǎn)品質(zhì)量評估模型、組合缺陷分析、特性價值分析、風(fēng)險分析、不同研發(fā)模式下的測試分析、基于產(chǎn)品質(zhì)量的測試策略、基于價值的測試策略等重點(diǎn)內(nèi)容,以及在產(chǎn)品測試中如何評估產(chǎn)品質(zhì)量并根據(jù)質(zhì)量評估情況來修正測試策略,后達(dá)到理想的測試目標(biāo)。這部分重點(diǎn)是幫助讀者在軟件測試架構(gòu)師的道路上進(jìn)行自我修煉。
書中還包含了大量對各種測試技術(shù)的總結(jié),這些不僅可以直接運(yùn)用在實(shí)際測試項目中,還可以幫助讀者梳理自己掌握的測試知識,建立自己的測試架構(gòu)。
●暢銷書全面升級,本書在保留第1版經(jīng)典內(nèi)容(如四步測試策略制定法、產(chǎn)品質(zhì)量評估模型、測試設(shè)計車輪圖、風(fēng)險分析檢查清單、組合缺陷分析法等)的基礎(chǔ)上,結(jié)合敏捷、DevOps等新的開發(fā)模式及作者近5年新的心得和實(shí)踐,依然圍繞測試策略(即測什么和怎么測)對測試技術(shù)、方法、實(shí)踐進(jìn)行深度解析,并基于新環(huán)境,為測試工程師向測試架構(gòu)師躍遷規(guī)劃發(fā)展路徑。
●為幫助讀者理解,書中包含一個貫徹始終的綜合案例;為說明某些重點(diǎn)知識,配備了數(shù)十個特色案例。書中還包括10余套可套用的模板或清單、近500張圖表,從而保證讀者可以把所學(xué)內(nèi)容落地到自己的項目中。本書可幫助讀者跳出狹義的測試,從商業(yè)、產(chǎn)品、開發(fā)、架構(gòu)、管理等角度重新審視測試,從而獲得更寬的視野,更多的發(fā)展機(jī)會。
●作者基于之前在華為做測試,近幾年在綠盟做測試、帶團(tuán)隊的新體會,以及讀者的反饋、技術(shù)的新發(fā)展(敏捷開發(fā)模式、DevOps開發(fā)模式、人工智能等),對版進(jìn)行大范圍更新,并新增了大篇幅內(nèi)容。第2版在技術(shù)層面更符合當(dāng)前的項目需求,在職業(yè)規(guī)劃方面更符合當(dāng)前測試工程師的發(fā)展需求。
●本書保留了第1版中如下經(jīng)典內(nèi)容:
測試過程中需要關(guān)注和不需要關(guān)注的內(nèi)容;
軟件測試架構(gòu)師需要掌握的基本測試技術(shù)和實(shí)用的軟能力,如軟件質(zhì)量模型、測試方法、測試設(shè)計、探索式測試、自動化測試、測試用例設(shè)計、溝通技法等;
測試策略的分解和制定方法,以及評估產(chǎn)品質(zhì)量并根據(jù)質(zhì)量評估結(jié)果修正測試策略的方法。
●第2版新增、更新內(nèi)容:
新增了測試開發(fā)、性能測試、可測試性測試、易用性測試和安全測試的落地方法;
新增了對場景測試模型和場景測試方法的深入解讀;
新增了基于特定價值的測試策略和自動化測試策略,以幫助讀者理解不同階段產(chǎn)品的價值,制定符合企業(yè)產(chǎn)品發(fā)展計劃的測試策略;
更新了產(chǎn)品質(zhì)量評估模型、組合式缺陷分析技術(shù)、風(fēng)險分析評估清單;
新增了缺陷預(yù)判方法;
更新了新形勢下測試從業(yè)者的發(fā)展路徑,提出提升職業(yè)影響力、建立自身價值的方法,以求幫讀者站在商業(yè)角度思考如何進(jìn)行剛剛好的測試,形成自己的測試體系,獲得更廣闊的發(fā)展空間。
【前 言】
【為什么要寫第2版】
一轉(zhuǎn)眼,《測試架構(gòu)師修煉之道》的第1版已經(jīng)出版5年了,并且重印超過10次,我也因此認(rèn)識了很多讀者朋友。非常感謝大家對我的肯定和支持。
在這些年里,我發(fā)現(xiàn)無論是公開的演講、小型的討論會,還是私下的溝通交流,測試的價值測試人員該如何發(fā)展如何才能真正做好測試依然是大家討論多且讓人困惑的話題。對于這些問題,第1版就給出了我的核心觀點(diǎn):要想做好測試,就要理解測試的核心。測試的核心不是產(chǎn)品業(yè)務(wù),不是測試方法,不是工具、自動化,也不是測試管理,而是測試策略,即測什么和怎么測。這6個字又可以進(jìn)一步表達(dá)為關(guān)于軟件測試的6個問題:
測試的對象和范圍是什么?
測試的目標(biāo)是什么?
測試的重點(diǎn)和難點(diǎn)是什么?
測試的深度和廣度是什么?
如何安排測試活動?
如何評估測試的效果?
按照這個思路,我在第1版中提出了四步測試策略制定法產(chǎn)品質(zhì)量評估模型測試方法車輪圖風(fēng)險分析檢測清單組合缺陷分析法等方法或模型,以求幫助大家制定適合當(dāng)前產(chǎn)研狀況的測試策略,進(jìn)行剛剛好的測試。
在第1版出版后不久,我自己的工作角色也發(fā)生了變化。我做了一段時間的產(chǎn)品經(jīng)理,隨后又做了4年的研發(fā)經(jīng)理,負(fù)責(zé)了多款產(chǎn)品的研發(fā)工作。在這段時間里,我學(xué)會了組建研發(fā)團(tuán)隊,以及與產(chǎn)品、支持、售前、銷售等不同角色合作,完成用戶交付的任務(wù)或解決用戶反饋的問題。我負(fù)責(zé)的產(chǎn)品有創(chuàng)新型產(chǎn)品、發(fā)展型產(chǎn)品和成熟維護(hù)型產(chǎn)品,在此過程中我掌握了實(shí)踐迭代、DevOps等。雖然這幾年我沒有工作在測試一線,但測試依然是我工作中的一個重要環(huán)節(jié),而且工作角色的變化,讓我有幸可以站在測試之外來看測試,對測試有了更加系統(tǒng)和全面的認(rèn)識。
我切身體會到作為產(chǎn)品研發(fā)團(tuán)隊的負(fù)責(zé)人,對測試的期望到底是什么;
厘清了在整個研發(fā)過程中哪些測試工作是高價值的,會對整個產(chǎn)研有特別大的貢獻(xiàn)和作用;
體會到在不斷發(fā)展的研發(fā)體系下,測試人員該如何調(diào)整職業(yè)方向和向前發(fā)展。
在這段時間里,我多次參加公司的任職資格標(biāo)準(zhǔn)制定和評選工作,體會到公司高級管理者對高級測試人員的期望:除了完成日常測試工作外,還能站在更高的層面進(jìn)行系統(tǒng)思考,形成測試體系,從根本上提升整個組織的測試水平。測試體系不是通過積累工作經(jīng)驗(yàn)就可以形成的,這常常讓測試人員陷入測試技術(shù)和能力都很強(qiáng),但是離測試專家的水準(zhǔn)總是差那么一點(diǎn)的窘境,而且測試人員又往往不知道應(yīng)該如何獲得這樣的能力。
在上述背景下,我萌發(fā)了出版第2版的想法我想把這幾年在不同角色中對測試的理解和思考寫下來,尤其是團(tuán)隊其他重要角色是如何看待測試的,對測試的期望是什么,在他們眼中,測試的核心價值是什么,以及測試人員在不斷變化的新形勢下應(yīng)如何調(diào)整職業(yè)方向和向前發(fā)展,如何逐漸建立自己的測試體系等。這個想法也得到了機(jī)械工業(yè)出版社華章分社楊福川和孫海亮的肯定。在他們的支持和鼓勵下,本書的撰寫工作正式開始了。
我原以為撰寫本書的工作量不會太大,但真正開始寫才發(fā)現(xiàn)我錯了。為了能在書中突出測試的體系,我對每一個知識點(diǎn)都力圖從源頭去講,以清楚呈現(xiàn)知識背后的邏輯和脈絡(luò),所以后本書相較于第1版幾乎是全部重構(gòu)整體修改量超過70%,新增內(nèi)容超過30%。一方面,我參考讀者的反饋并結(jié)合這幾年測試工作中遇到的比較多的問題,系統(tǒng)梳理了第1版中的內(nèi)容,去掉了書中使用率不高的內(nèi)容,然后結(jié)合敏捷開發(fā)模式、DevOps更新了書中的方法、模型和案例;另一方面,本書從與測試相關(guān)的商業(yè)視角、產(chǎn)品視角、開發(fā)視角、架構(gòu)視角、管理視角對測試進(jìn)行了討論,這些內(nèi)容在其他測試類圖書中少有涉及。這些內(nèi)容雖然在測試之外,但和測試息息相關(guān),理解這些內(nèi)容有助于我們擴(kuò)展視野,加強(qiáng)對測試系統(tǒng)性的理解,提升制定測試策略和解決實(shí)際測試問題的能力。
本書會是一本獨(dú)特的測試書。你若能不局限于測試,而是站在系統(tǒng)的角度去看待和解決測試問題,我相信你處理問題的方式會發(fā)生一些變化,而這些變化有助于你形成系統(tǒng)性思維和個人影響力。我希望本書能夠幫助你建立測試體系,并讓你成長為測試架構(gòu)師。
【本書的主要修改】
在整體結(jié)構(gòu)上,本書力求和第1版保持一致,依然分為三部分:
瓶頸:測試工程師該如何進(jìn)行職業(yè)規(guī)劃。
突破:向測試架構(gòu)師的目標(biāo)邁進(jìn)。
修煉:測試架構(gòu)師的核心技能。
【相較于第1版,本書的主要修改如下】
第1章 更新了軟件測試發(fā)展簡史,新增了對敏捷開發(fā)模式下軟件測試特點(diǎn)的介紹,新增了對測試人員面臨的機(jī)遇和挑戰(zhàn)的介紹,深度分析了測試在敏捷開發(fā)模式下的價值和機(jī)遇,討論了當(dāng)代軟件測試的各種困境和迷局,討論了測試人員如何適應(yīng)從質(zhì)量守護(hù)者到產(chǎn)品賦能者的定位轉(zhuǎn)變。
第2章 在測試技術(shù)發(fā)展方面,增加了對測試開發(fā)及其技術(shù)棧的介紹;增加了測試人員在研發(fā)工程效能領(lǐng)域發(fā)展的內(nèi)容;在測試工程師職業(yè)發(fā)展建議方面,著重增加了對提升測試影響力的討論。
第3章 精簡了文字,力求為大家更加清晰地描述測試架構(gòu)師的定位和應(yīng)有的能力。
第4章 這是全書修改多的一章,從第1版的6節(jié)內(nèi)容,增加到15節(jié)。本章從測試架構(gòu)師的6個關(guān)鍵能力開始,提出測試架構(gòu)師需要具備的測試技術(shù)知識體系,這也是貫穿全書的主線。
本章更新了性能測試方法,新增了安全測試方法,這些測試方法都是非常重要的專項測試方法。
基于場景的測試也是新增的內(nèi)容。基于場景的測試是指測試人員圍繞產(chǎn)品是否符合當(dāng)前用戶的使用場景展開測試工作。盡管基于場景的測試沒有辦法像基于質(zhì)量的測試那樣面面俱到,但是其更加關(guān)注產(chǎn)品被用戶使用的情況,更符合當(dāng)前版本迭代、快速交付的市場需要。熟練運(yùn)用場景測試能幫助大家在測試中把握測試重點(diǎn),使得測試環(huán)境更有針對性。書中特別提出場景測試模型,幫助大家理解基于場景的測試需要考慮的維度,提升進(jìn)行基于場景的測試的能力。
本章還特別新增了對如何澄清和確認(rèn)需求和如何提出有價值的可測試性需求的討論。這些內(nèi)容可以幫助測試團(tuán)隊從源頭上減少測試設(shè)計返工,提升測試效率。
自動化測試也是本章更新的一個重點(diǎn),第2版從自動化測試策略的角度,增加了對自動化測試中一些典型經(jīng)驗(yàn)和教訓(xùn)的介紹,增加了自動化測試分層、自動化測試框架和自動化成熟度模型等相關(guān)內(nèi)容,幫助大家在實(shí)際項目中有效開展自動化測試,化自動化收益。
第5章 主要新增了對如何組織和管理測試用例以及如何獲得持續(xù)學(xué)習(xí)和探索能力的介紹。
第6章 這也是修改量較大的一章。本章不僅對基于產(chǎn)品質(zhì)量的測試策略進(jìn)行了更新和修訂,使其可以更好地適應(yīng)敏捷開發(fā)模式和DevOps開發(fā)模式,還提出了基于產(chǎn)品特性價值的測試策略,討論了如何理解產(chǎn)品的價值,如何根據(jù)產(chǎn)品價值來安排測試重點(diǎn)。這種測試策略的優(yōu)勢是能夠聚焦測試重點(diǎn),使測試在敏捷開發(fā)模式下變得特別高效。同時這套測試策略也能讓測試人員真正理解業(yè)務(wù),具備商業(yè)和產(chǎn)品視角,從而獲得認(rèn)可,建立影響力。
本章還更新了產(chǎn)品質(zhì)量評估模型,提出了缺陷預(yù)判技術(shù)。這項技術(shù)能夠?qū)⑷毕莘治鰪氖潞蠓治觯粗荒軐y試執(zhí)行發(fā)現(xiàn)的缺陷進(jìn)行分析評估)發(fā)展為測試前可用于制定質(zhì)量目標(biāo)測試中可分析測試目標(biāo)達(dá)成情況并更新策略測試后可對產(chǎn)品質(zhì)量進(jìn)行全面評估的全流程質(zhì)量評估,從而解決產(chǎn)品質(zhì)量評估難題。
在測試分層方面,本章更新了敏捷、DevOps開發(fā)模式下的典型測試分層。由于很多公司處于敏捷轉(zhuǎn)型下,故新增對敏捷轉(zhuǎn)型過程中測試分層的詳細(xì)分解,以幫助測試者從整體上理解當(dāng)前的研發(fā)模式,合理安排測試活動。
第7章 對第1版中制定總體測試策略的過程進(jìn)行了精簡,將重點(diǎn)集中在如何確定質(zhì)量目標(biāo)如何對項目整體進(jìn)行風(fēng)險控制如何確定測試優(yōu)先級如何確定測試深度和廣度如何確定研發(fā)模式和測試分層如何確定關(guān)鍵測試活動的出入口準(zhǔn)則和如何預(yù)判產(chǎn)品缺陷趨勢這7個方面。在測試設(shè)計策略方面,重點(diǎn)增加了如何劃分測試用例的等級和如何進(jìn)行有效的測試設(shè)計評審等內(nèi)容。
第8章 圍繞如何進(jìn)行產(chǎn)品質(zhì)量評估進(jìn)行描述,把內(nèi)容聚焦到測試過程中經(jīng)常遇到但又不容易解決的問題上,給出解決問題的思路和參考方案。本章主要的修改點(diǎn)包括:
如何確認(rèn)提測版本和實(shí)際版本的偏差,出現(xiàn)偏差后應(yīng)該怎么處理;
如何在測試過程中選擇測試用例,例如接收測試用例該如何選擇,不同測試階段的測試用例該如何選擇,回歸測試用例該如何選擇;
如何進(jìn)行測試過程跟蹤,如何安排測試執(zhí)行的順序;
如何確定缺陷的修復(fù)優(yōu)先級,如何處理非必現(xiàn)的缺陷;
如何使用缺陷預(yù)判方法來評估產(chǎn)品過程質(zhì)量并調(diào)整測試策略;
如何進(jìn)行產(chǎn)品質(zhì)量評估,包括質(zhì)量指標(biāo)的分析、建立特性質(zhì)量檔案、非測試用例發(fā)現(xiàn)缺陷原因分析和遺留缺陷分析。
第9章 這一章是新增的,主要圍繞基于價值的測試策略案例展開。主要內(nèi)容包括:
再談測試策略。對測試策略再次進(jìn)行分析,再談對測試核心的理解任何測試都不能窮盡所有的情況;掌握測試技術(shù),拓展測試視野,做出適當(dāng)?shù)臏y試選擇,才是測試的核心能力所在。
不同產(chǎn)品階段下的測試策略。分析產(chǎn)品在探索階段、擴(kuò)張階段、穩(wěn)定階段測試策略的差異。
探索式測試策略。介紹如何根據(jù)產(chǎn)品特性,選擇合適的探索式測試方法。
自動化持續(xù)測試策略。介紹如何建設(shè)以自動化持續(xù)測試為中心的、分層的自動化測試策略。
劉琛梅,資深測試專家、測試架構(gòu)師,有15年的軟件測試經(jīng)驗(yàn)。
現(xiàn)就職于北京神州綠盟信息安全科技有限公司,任研發(fā)技術(shù)總監(jiān),主要負(fù)責(zé)產(chǎn)品技術(shù)研發(fā)工作;曾任高級研發(fā)經(jīng)理、研發(fā)經(jīng)理、產(chǎn)品經(jīng)理和測試代表。曾就職于華為(華賽),先后任測試經(jīng)理和測試架構(gòu)師,專注于產(chǎn)品測試工作。除測試外,對安全技術(shù)也有深入理解和認(rèn)識。
第1部分 瓶頸:測試工程師該如何進(jìn)行職業(yè)規(guī)劃
第1章 測試工程師的三年之癢 3
1.1 軟件測試發(fā)展簡史 3
1.2 敏捷開發(fā)模式下的軟件測試 4
1.3 測試人員面臨的機(jī)遇和挑戰(zhàn) 6
1.3.1 究竟是無用的測試,還是全能的測試 7
1.3.2 測試的困境和迷局 8
1.3.3 從質(zhì)量守護(hù)者到產(chǎn)品賦能者 11
第2章 測試工程師的職業(yè)規(guī)劃 14
2.1 測試人員的職業(yè)發(fā)展方向 14
2.1.1 測試人員在管理上的發(fā)展 15
2.1.2 測試人員在技術(shù)上的發(fā)展 16
2.1.3 角色和段位 17
2.1.4 測試人員在質(zhì)量領(lǐng)域的發(fā)展 20
2.1.5 測試人員在研發(fā)工程效能領(lǐng)域的發(fā)展 22
2.2 測試工程師職業(yè)規(guī)劃建議 25
2.2.1 做管理還是做技術(shù) 25
2.2.2 關(guān)于跳槽 27
2.2.3 不斷提升影響力 28
第2部分 突破:向測試架構(gòu)師的 目標(biāo)邁進(jìn)
第3章 測試架構(gòu)師應(yīng)該做和不應(yīng)該做的事情 31
3.1 測試架構(gòu)師需要關(guān)注和不需要關(guān)注的事情 31
3.1.1 在需求分析階段 32
3.1.2 在測試分析和設(shè)計階段 34
3.1.3 在測試執(zhí)行階段 36
3.1.4 在測試質(zhì)量評估階段 37
3.2 像測試架構(gòu)師一樣思考 39
3.3 測試管理者可以替代測試架構(gòu)師嗎 39
3.4 系統(tǒng)架構(gòu)師可以替代測試架構(gòu)師嗎 40
第4章 測試架構(gòu)師的知識能力模型 42
4.1 測試架構(gòu)師的能力和知識體系 42
4.1.1 測試架構(gòu)師的6個關(guān)鍵能力 43
4.1.2 測試架構(gòu)師的知識體系 44
4.2 軟件產(chǎn)品質(zhì)量模型 46
4.2.1 為什么深入理解質(zhì)量對測試如此重要 46
4.2.2 軟件產(chǎn)品質(zhì)量的8個屬性 47
4.2.3 功能性 48
4.2.4 兼容性 50
4.2.5 安全性 51
4.2.6 可靠性 53
4.2.7 易用性 56
4.2.8 效率(性能) 59
4.2.9 可維護(hù)性 60
4.2.10 可移植性 62
4.3 基于質(zhì)量的測試方法 63
4.3.1 理解測試類型 63
4.3.2 如何通過質(zhì)量屬性來探索測試方法 65
4.3.3 通過質(zhì)量模型來確定測試深度和測試廣度 66
4.4 功能性測試方法 66
4.4.1 什么是運(yùn)行 66
4.4.2 單運(yùn)行正常值輸入法 68
4.4.3 單運(yùn)行邊界值輸入法 68
4.4.4 多運(yùn)行順序執(zhí)行法 69
4.4.5 多運(yùn)行相互作用法 70
4.5 可靠性測試方法 71
4.5.1 異常值輸入法 71
4.5.2 故障植入法 72
4.5.3 穩(wěn)定性測試法 73
4.5.4 壓力測試法 74
4.5.5 恢復(fù)測試法 76
4.6 性能測試方法 77
4.6.1 基線性能測試法 78
4.6.2 影響性能的因子測試法 82
4.6.3 場景性能測試法 86
4.7 易用性測試法 87
4.7.1 一致性測試法 88
4.7.2 可用性測試法 89
4.8 安全性測試方法 90
4.8.1 權(quán)限測試 91
4.8.2 參數(shù)校驗(yàn)測試 92
4.8.3 傳輸安全性測試 94
4.8.4 拒絕服務(wù)攻擊安全性測試 95
4.8.5 安全性測試工具介紹 96
4.9 基于車輪圖的測試分析方法 97
4.9.1 測試分析不等于測試設(shè)計 97
4.9.2 測試點(diǎn)不等于測試用例 98
4.9.3 產(chǎn)品測試車輪圖 100
4.9.4 在MM圖中使用車輪圖 101
4.9.5 使用測試分析設(shè)計表來進(jìn)行測試分析 102
4.10 基于模型的測試設(shè)計技術(shù) 103
4.10.1 測試設(shè)計四步法 104
4.10.2 對測試點(diǎn)進(jìn)行分類 106
4.10.3 流程類測試設(shè)計路徑分析法 112
4.10.4 參數(shù)類測試設(shè)計輸入-輸出表分析法 129
4.10.5 數(shù)據(jù)類測試設(shè)計等價類和邊界值分析法 135
4.10.6 組合類測試設(shè)計正交分析法 140
4.10.7 錯誤推斷法 145
4.11 控制測試用例的粒度 146
4.11.1 測試點(diǎn)的組合和拆分 146
4.11.2 策略覆蓋 147
4.12 影響測試設(shè)計效果的因素 151
4.12.1 有效澄清和確認(rèn)需求 152
4.12.2 有針對性的可測試性需求 153
4.13 基于場景的測試方法 157
4.13.1 場景和場景測試 157
4.13.2 使用場景測試模型來進(jìn)行測試分析 160
4.14 探索式測試 166
4.14.1 什么是探索式測試 166
4.14.2 探索式測試的基本思想:CPIE思維模型 167
4.14.3 選擇合適的探索式測試方法 168
4.14.4 開展探索式測試 171
4.15 自動化測試 174
4.15.1 關(guān)于自動化測試的經(jīng)驗(yàn)和教訓(xùn) 175
4.15.2 自動化測試分層 181
4.15.3 自動化測試框架 184
4.15.4 如何有效開展自動化測試 189
4.15.5 如何評估自動化的收益 193
4.15.6 自動化測試成熟度模型 194
第5章 測試架構(gòu)師的軟能力修煉 197
5.1 溝通和協(xié)商 198
5.1.1 知識的詛咒 198
5.1.2 產(chǎn)品測試中的溝通原則 199
5.1.3 通過溝通來獲得對產(chǎn)品測試有用的信息 204
5.2 寫出漂亮的測試用例 206
5.2.1 統(tǒng)一測試用例編寫風(fēng)格 206
5.2.2 測試用例編寫風(fēng)格指導(dǎo) 207
5.2.3 如何編寫測試用例案例集 208
5.3 組織和管理測試用例 215
5.3.1 測試用例模板 215
5.3.2 基于特性樹組織測試用例 217
5.3.3 維護(hù)測試用例 220
5.4 持續(xù)學(xué)習(xí)和探索 222
第3部分 修煉:測試架構(gòu)師的核心技能
第6章 如何制定測試策略 227
6.1 什么是測試策略 228
6.1.1 測試的核心是什么 228
6.1.2 測試策略與測試方針 229
6.1.3 測試策略與測試計劃 229
6.1.4 測試策略與測試方案 229
6.2 四步測試策略制定法 232
6.2.1 基于產(chǎn)品質(zhì)量的測試策略 232
6.2.2 基于產(chǎn)品特性價值的測試策略 232
6.2.3 四步測試策略制定法 233
6.3 產(chǎn)品質(zhì)量評估模型 238
6.3.1 測試覆蓋度分析 238
6.3.2 測試過程分析 240
6.3.3 缺陷分析 243
6.3.4 在測試全流程中使用產(chǎn)品質(zhì)量評估模型 244
6.4 組合缺陷分析技術(shù) 245
6.4.1 組合缺陷分析模型 245
6.4.2 缺陷趨勢分析 248
6.4.3 缺陷密度 253
6.4.4 缺陷修復(fù)率 254
6.4.5 缺陷年齡分析 256
6.4.6 缺陷觸發(fā)因素分析 259
6.4.7 產(chǎn)品缺陷趨勢預(yù)判技術(shù) 261
6.5 特性價值分析技術(shù) 265
6.5.1 你知道測試的產(chǎn)品是如何賺錢的嗎 265
6.5.2 從價值角度來對特性進(jìn)行分類 266
6.5.3 基于特性價值來確定測試重點(diǎn) 270
6.6 風(fēng)險分析技術(shù) 272
6.6.1 風(fēng)險識別 272
6.6.2 風(fēng)險評估 275
6.6.3 風(fēng)險應(yīng)對 277
6.6.4 歷史/繼承特性分析 279
6.7 不同研發(fā)模式下的測試分層技術(shù) 285
6.7.1 瀑布模式 285
6.7.2 敏捷模式 286
6.7.3 DevOps 289
6.7.4 瀑布下的測試分層 293
6.7.5 敏捷模式下的測試分層 295
6.7.6 敏捷轉(zhuǎn)型下的測試分層 297
6.8 測試方案模板 300
第7章 制定基于產(chǎn)品質(zhì)量的測試策略 301
7.1 項目背景 304
7.2 制定總體測試策略 305
7.2.1 確定特性的質(zhì)量目標(biāo) 305
7.2.2 對項目整體進(jìn)行風(fēng)險分析 306
7.2.3 確定測試優(yōu)先級 311
7.2.4 確定測試深度和廣度 312
7.2.5 確定研發(fā)模式和測試分層 315
7.2.6 確定關(guān)鍵測試活動的出入口準(zhǔn)則 322
7.2.7 預(yù)判產(chǎn)品缺陷趨勢 324
7.2.8 回顧 325
7.3 制定測試設(shè)計策略 327
7.3.1 在測試設(shè)計時考慮測試深度和廣度 327
7.3.2 給測試用例劃分等級 329
7.3.3 有效的測試設(shè)計評審 331
7.3.4 回顧 333
第8章 產(chǎn)品質(zhì)量評估和測試策略調(diào)整 334
8.1 確認(rèn)和計劃的偏差 335
8.1.1 盡量避免小瀑布迭代 336
8.1.2 如何補(bǔ)救延期、阻塞和返工等問題 338
8.1.3 如何處理實(shí)際交付的內(nèi)容和計劃的偏差 339
8.1.4 在適應(yīng)變化的情況下依然保持版本迭代節(jié)奏 341
8.2 選擇測試用例 343
8.2.1 選擇接收測試用例的策略和原則 344
8.2.2 選擇不同階段的測試用例的策略和原則 344
8.2.3 選擇回歸測試用例的策略和原則 345
8.3 測試過程跟蹤 347
8.3.1 測試執(zhí)行順序和策略覆蓋 348
8.3.2 確定缺陷修復(fù)的優(yōu)先級 350
8.3.3 非必現(xiàn)缺陷處理 352
8.3.4 缺陷預(yù)判和調(diào)整測試策略 354
8.4 產(chǎn)品質(zhì)量評估 357
8.4.1 質(zhì)量指標(biāo)分析 358
8.4.2 建立特性質(zhì)量檔案 362
8.4.3 組合缺陷分析 362
8.4.4 非測試用例發(fā)現(xiàn)缺陷的原因分析 364
8.4.5 遺留缺陷分析 365
第9章 基于價值的測試策略 368
9.1 再談測試策略 368
9.2 不同產(chǎn)品階段下的測試策略 371
9.3 探索式測試策略 372
9.3.1 根據(jù)不同的特性選擇適合的探索式測試方法 372
9.3.2 將基于價值的測試策略和基于產(chǎn)品的測試策略組合起來 372
9.3.3 啟發(fā)式測試策略模型 375
9.4 自動化持續(xù)測試策略 375
9.4.1 持續(xù)測試和自動化測試 377
9.4.2 自動化持續(xù)測試策略 378
9.4.3 將自動化持續(xù)測試和產(chǎn)品發(fā)展階段相結(jié)合 379