4.1軟件測(cè)試環(huán)境搭建原則—環(huán)境測(cè)試必知必會(huì)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 破劍式—軟件測(cè)試流程
4.1.1搭建測(cè)試環(huán)境前:
(1)確定測(cè)試目的:
功能測(cè)試,穩(wěn)定性測(cè)試瞧省,還是性能測(cè)試,測(cè)試目的不同焊夸,搭建測(cè)試環(huán)境時(shí)應(yīng)注意的點(diǎn)也不同竹揍。
功能測(cè)試:不需要大量的數(shù)據(jù),需要覆蓋率高磨淌,測(cè)試數(shù)據(jù)要求盡量真實(shí)。
性能測(cè)試:可能需要大量存量數(shù)據(jù)或者與實(shí)際硬件環(huán)境盡可能相似的硬件配置凿渊。
(2)測(cè)試的軟件環(huán)境盡可能的模擬真實(shí)環(huán)境:
①盡可能的模擬用戶使用環(huán)境梁只,選用合適的操作系統(tǒng)和軟件平臺(tái)。
②了解符合測(cè)試軟件運(yùn)行的最低要求及用戶使用的硬件配置埃脏。
③了解用戶常用的軟件搪锣,避免所有配置所有操作系統(tǒng)下都要進(jìn)行測(cè)試,沒有側(cè)重點(diǎn)彩掐,浪費(fèi)時(shí)間构舟。
④產(chǎn)品化的測(cè)試則需要考慮兼容性的方案。
(3)營(yíng)造獨(dú)立的測(cè)試環(huán)境
①不同的項(xiàng)目堵幽、不同的公司會(huì)對(duì)測(cè)試環(huán)境的獨(dú)立性有不同的要求狗超。
②測(cè)試過程中盡量保證測(cè)試環(huán)境獨(dú)立,不會(huì)受到其他測(cè)試人員以及項(xiàng)目研發(fā)人員的影響朴下。
(4)構(gòu)建可復(fù)用的測(cè)試環(huán)境
①通過備份或數(shù)據(jù)隔離的方式努咐。
②重復(fù)運(yùn)用一套測(cè)試環(huán)境進(jìn)行多版本多時(shí)間段的測(cè)試。
4.1.2搭建測(cè)試環(huán)境過程分析:
(1)線下搭建
①找到獨(dú)立測(cè)試服務(wù)器或虛擬機(jī)殴胧。
②進(jìn)行測(cè)試環(huán)境的相關(guān)配置渗稍。
③測(cè)試項(xiàng)目導(dǎo)入
測(cè)試環(huán)境配置的例子:
①配置java環(huán)境(下載jdk并配置環(huán)境變量)。
②下載并安裝中間件(tomcat、jetty或其它)竿屹。
③安裝數(shù)據(jù)庫(kù)并導(dǎo)入初始化腳本音五。
(2)Docker模式:
①構(gòu)建屬于自己的image。
②一鍵deploy(推出去)羔沙。
(3)依賴第三方平臺(tái)
依賴第三方平臺(tái)(如螞蟻金融云)。
4.2測(cè)試環(huán)境的建設(shè)落地—將測(cè)試工作真實(shí)落地
4.2.1環(huán)境建設(shè)思路
(1)需要考慮的點(diǎn):
①用途厨钻。
②使用成本扼雏。
③維護(hù)成本。
(2)基本架構(gòu):
①研發(fā)環(huán)境:用于研發(fā)自測(cè)夯膀、集成測(cè)試诗充。
②測(cè)試環(huán)境:用于日常單系統(tǒng)或兩兩微服務(wù)之間測(cè)試,可同時(shí)集成自動(dòng)化測(cè)試回歸诱建。
③聯(lián)測(cè)環(huán)境:完備環(huán)境蝴蜓,用于大型聯(lián)測(cè)。
④外聯(lián)環(huán)境(如果有需求):穩(wěn)定版本環(huán)境俺猿,用于外部商戶等聯(lián)調(diào)茎匠。
⑤灰度/沙箱環(huán)境:用于生產(chǎn)數(shù)據(jù)測(cè)試,仿真測(cè)試押袍。
4.3測(cè)試過程—無過程诵冒,就不會(huì)測(cè)試
4.3.1簡(jiǎn)單的測(cè)試過程
4.3.2測(cè)試過程劃分
①在邏輯上,測(cè)試活動(dòng)是按順序進(jìn)行的谊惭。
②在實(shí)際測(cè)試過程中汽馋,這些活動(dòng)是可以重疊或同時(shí)進(jìn)行的。
4.4測(cè)試策劃概念—良好的測(cè)試來自策劃
4.4.1測(cè)試策劃過程
①進(jìn)行測(cè)試需求的分析圈盔。
②確定需要測(cè)試的內(nèi)容或質(zhì)量特性豹芯。
③明確測(cè)試的充分性要求。
④提出測(cè)試的基本方法驱敲。
4.4.2測(cè)試策劃過程中我們想要做的幾件事:
①確定測(cè)試的資源和技術(shù)需求
②進(jìn)行風(fēng)險(xiǎn)分析與評(píng)估铁蹈。
③根據(jù)上述分析結(jié)果制定測(cè)試計(jì)劃。
④根據(jù)測(cè)試計(jì)劃開展相應(yīng)的測(cè)試控制活動(dòng)癌佩。
4.5需求測(cè)試——學(xué)會(huì)讀懂需求很重要
4.5.1需求分析
定義:
? ? ? ? ?過往的軟件生命周期中木缝,需求分析階段是沒有測(cè)試人員參加的,但隨著軟件過程的優(yōu)化围辙,測(cè)試人員的加入對(duì)需求分析階段有了更大的作用我碟。
①測(cè)試工程師參與需求分析,對(duì)需求了解很深刻姚建,減少與開發(fā)人員的交互矫俺,節(jié)省時(shí)間。
②早起確定測(cè)試用例的編寫思路,為測(cè)試打好了基礎(chǔ)厘托。
③可以獲取一些測(cè)試數(shù)據(jù)友雳,為測(cè)試用例設(shè)計(jì)提供幫助。
④可以發(fā)現(xiàn)需求不合理的地方铅匹,降低測(cè)試成本押赊。
4.5.2需求測(cè)試的作用
①測(cè)試需求的分析用來確定整個(gè)測(cè)試工作,明確測(cè)試對(duì)象以及測(cè)試工作的范圍和作用包斑,并作為測(cè)試覆蓋的基礎(chǔ)流礁。
②被確定的測(cè)試需求項(xiàng)必須是可核實(shí)的,測(cè)試需求必須有一個(gè)可觀察罗丰、可評(píng)測(cè)的結(jié)果神帅。
③如果無法核實(shí)的需求就不是測(cè)試需求。
④測(cè)試需求分析還包括與客戶的交流以澄清某些混淆萌抵。
⑤明確哪些需求更重要找御。
⑥確保風(fēng)險(xiǎn)承擔(dān)者盡早地對(duì)項(xiàng)目達(dá)成共識(shí)。
⑦對(duì)將來的產(chǎn)品有個(gè)清晰地認(rèn)識(shí)绍填。
對(duì)于內(nèi)部:
①測(cè)試需求是制定計(jì)劃的基本依據(jù)霎桅。
②測(cè)試需求是設(shè)計(jì)測(cè)試用例的指導(dǎo)。
③確定了要測(cè)什么讨永、測(cè)哪些方面才能有效設(shè)計(jì)用例哆档。
4.5.3需求驗(yàn)證
(1)審查需求文檔
①對(duì)需求文檔及相關(guān)模型進(jìn)行仔細(xì)檢查。
②另外在需求開發(fā)期間所做的非正式評(píng)審也是有所裨益的住闯。
(2)以需求為依據(jù)編寫測(cè)試用例
①編寫用戶手冊(cè)瓜浸。
②在需求開發(fā)早期即可起草一份淺顯易懂的用戶手冊(cè),用以描述出所有對(duì)用戶課件的功能并對(duì)它作為需求規(guī)格說明參考并輔助需求分析比原。
(3)確定合格的標(biāo)準(zhǔn)
①讓用戶描述什么樣的產(chǎn)品才算滿足他們的要求和審核他們的使用插佛。
②將確認(rèn)合格的測(cè)試建立在使用情景描述或使用實(shí)例的基礎(chǔ)之上。
5.6余額寶需求測(cè)試實(shí)戰(zhàn)
5.6.1需求測(cè)試實(shí)戰(zhàn)
以支付寶上新增余額寶業(yè)務(wù)為例分析
原始需求:
? ? ? ?雖然支付寶在12年時(shí)被大眾所接受量窘,但是面臨著一個(gè)很普遍的問題:支付寶賬戶余額內(nèi)總是有一筆閑置資金雇寇,雖然不同賬戶資金數(shù)額有多有少,但總的來說蚌铜,這筆躺在賬戶什么做不來的閑置資金數(shù)額還是比較龐大的锨侯,對(duì)于支付寶的發(fā)展而言非常不利。
? ? ? 于是產(chǎn)生了這樣一個(gè)需求冬殃,與基金公司合作推出了貨幣基金產(chǎn)品囚痴,同時(shí)用戶購(gòu)買貨幣基金后,可直接通過貨幣基金金額進(jìn)行支付購(gòu)買商品或服務(wù)审葬。貨幣基金可以視同余額深滚、集分寶一樣作為支付工具進(jìn)行消費(fèi)奕谭。
分析的過程:
①審查需求文檔
②需求分析過程中我們將流程分為:貨幣基金購(gòu)買、提現(xiàn)痴荐、消費(fèi)血柳、資產(chǎn)管理、交易查詢幾部分生兆。
③可以通過需求規(guī)格說明書檢查列表進(jìn)行檢查难捌。
4.7測(cè)試策略—不用擔(dān)心測(cè)試做不好
4.7.1測(cè)試前的思考
①你知道要測(cè)試的系統(tǒng)是干什么的嗎?
②你了解系統(tǒng)有些什么特點(diǎn)嗎鸦难?
③系統(tǒng)有些什么功能栖榨?
④系統(tǒng)哪些需要測(cè)試?哪些不需要測(cè)試明刷?
⑤系統(tǒng)對(duì)性能有什么要求?
⑥系統(tǒng)對(duì)安全性有什么要求满粗?
.......
4.7.2測(cè)試的策略是什么
①測(cè)試策略是描述測(cè)試項(xiàng)目和測(cè)試任務(wù)之間的關(guān)系辈末。
②它用來說明要測(cè)什么,如何測(cè)映皆,如何協(xié)調(diào)測(cè)試資源和測(cè)試時(shí)間等挤聘。
③測(cè)試策略制定的是否合理高效會(huì)對(duì)測(cè)試項(xiàng)目的進(jìn)度產(chǎn)生很大的影響。
④如何之低昂好一個(gè)好的測(cè)試測(cè)略并且能防止遺漏呢捅彻?
⑤一個(gè)好的測(cè)試策略又包含哪些方面呢组去?
4.7.3測(cè)試策略要素
測(cè)試安排、發(fā)布計(jì)劃:
①羅列測(cè)試項(xiàng)目本身重要的里程碑步淹。每個(gè)里程碑都需要有明確的結(jié)束時(shí)間从隆。這個(gè)時(shí)間可以指導(dǎo)我們后續(xù)的測(cè)試。
②如果測(cè)試時(shí)間安排不足缭裆,我們就可以在后續(xù)的測(cè)試范圍中挑選優(yōu)先級(jí)比較高的特性來執(zhí)行測(cè)試键闺。
③保證可以最大限度的保證產(chǎn)品的質(zhì)量。
測(cè)試范圍(按優(yōu)先級(jí)排列):
①分為In Scope和Out Of Scope澈驼。
②需要說明哪些模塊是在測(cè)試范圍中的辛燥,哪些是本階段測(cè)試不考慮的。
③對(duì)于在測(cè)試范圍中的模塊缝其,需要給出優(yōu)先級(jí)挎塌。
④以遍相應(yīng)測(cè)試時(shí)間不足的情況。
⑤對(duì)于不在測(cè)試范圍中的模塊内边,需要給出原因榴都。
⑥為什么在本測(cè)試階段不考慮測(cè)試。
測(cè)試資源:
①測(cè)試資源在測(cè)試策略中也是很重要的一環(huán)漠其,它分為人力和工具兩部分:
? ? ? ? 人力資源主要說明參與測(cè)試的人員缭贡,當(dāng)然可以包括很多的角色炉擅,如專業(yè)測(cè)試人員,客戶阳惹,產(chǎn)品經(jīng)理等谍失。
? ? ? 工具主要是指可能用到其他軟件。
測(cè)試環(huán)境:
?①測(cè)試環(huán)境主要包括推薦環(huán)境解決方案莹汤,操作系統(tǒng)要求快鱼,軟硬件要求。
②對(duì)于推薦解決方案纲岭,需要陳述的是對(duì)測(cè)試項(xiàng)目對(duì)其他軟件的依賴抹竹。
③比如測(cè)試項(xiàng)目對(duì)java有依賴,推薦版本可能就是1.7
測(cè)試方法:
①測(cè)試方法的羅列主要是為了說明針對(duì)測(cè)試項(xiàng)目我們要開展哪些類型的測(cè)試止潮。
②功能測(cè)試是必須的窃判,非功能測(cè)試是可選的。
文檔管理:
①對(duì)于一個(gè)完整的產(chǎn)品來說喇闸,文檔也是很重要的一環(huán)袄琳。
②它一般包括安裝、升級(jí)文檔燃乍、用戶指南等唆樊。
③文檔不單單是一個(gè)文件。
④它需要經(jīng)過完整的測(cè)試才能發(fā)布給客戶刻蟹。
⑤差的文檔很可能會(huì)誤導(dǎo)用戶逗旁,從而使他們對(duì)測(cè)試項(xiàng)目失去信心。
風(fēng)險(xiǎn)管理:
? ? ? 風(fēng)險(xiǎn)管理模塊需要羅列出來現(xiàn)在已知的可能會(huì)出現(xiàn)不確定性的因素舆瘪。這些因素可能來自技術(shù)片效,資源或者其他方面。
4.8測(cè)試方案設(shè)計(jì)—方案何等重要
4.8.1測(cè)試策略英古、測(cè)試計(jì)劃堤舒、測(cè)試方案的區(qū)別
測(cè)試策略:
? ? ? ? 側(cè)重需求分析,評(píng)估風(fēng)險(xiǎn)哺呜,定義測(cè)試范圍舌缤。確定測(cè)試方法,制定測(cè)試啟動(dòng)某残、停止国撵、完成標(biāo)準(zhǔn)和條件。
測(cè)試計(jì)劃:
? ? ?制定項(xiàng)目測(cè)試過程中的測(cè)試重點(diǎn)玻墅。各個(gè)階段的任務(wù)分配以及時(shí)間進(jìn)度安排介牙,并提出對(duì)各項(xiàng)任務(wù)的評(píng)估,風(fēng)險(xiǎn)分析澳厢,可以包括測(cè)試策略环础。
測(cè)試方案:
? ? ? ? 側(cè)重測(cè)試的方法囚似,測(cè)試環(huán)境的規(guī)劃。測(cè)試工具的設(shè)計(jì)和選擇线得,測(cè)試用例的設(shè)計(jì)方法饶唤,測(cè)試代碼的設(shè)計(jì)方案。
? ? ? ? ? ? ? ? ? ? ?測(cè)試策略VS測(cè)試計(jì)劃VS測(cè)試方案
實(shí)際實(shí)施過程中贯钩,往往存在這樣類似的方式:
①測(cè)試方案=測(cè)試計(jì)劃+用例設(shè)計(jì)方案+工具選擇+自動(dòng)化/性能測(cè)試具體方案募狂。
②測(cè)試計(jì)劃=測(cè)試策略+測(cè)試任務(wù)分配+時(shí)間進(jìn)度安排。
貨幣基金消費(fèi)測(cè)試方案分析過程
1角雷、需求分析:當(dāng)前測(cè)試包含需求項(xiàng)(需求文檔或wiki鏈接等)祸穷。
2、測(cè)試計(jì)劃(里程碑)及負(fù)責(zé)人:整理當(dāng)前項(xiàng)目個(gè)模塊測(cè)試負(fù)責(zé)人勺三、任務(wù)分配及測(cè)試時(shí)間安排雷滚。
3、測(cè)試范圍吗坚、測(cè)試重點(diǎn):哪些point需要測(cè)試祈远,重點(diǎn)放在什么地方,優(yōu)先級(jí)安排刻蚯。
4、測(cè)試策略及工具:是否需要進(jìn)行自動(dòng)化桑嘶、性能炊汹、安全測(cè)試?使用哪些工具逃顶?
5讨便、測(cè)試用例設(shè)計(jì)方法:使用說明樣的黑盒測(cè)試方法進(jìn)行設(shè)計(jì)(等價(jià)類?邊界值以政?因果圖霸褒?等等)。
6盈蛮、測(cè)試環(huán)境:測(cè)試環(huán)境是什么废菱?需要哪些服務(wù)器、數(shù)據(jù)庫(kù)抖誉?配置如何等殊轴。
7、聯(lián)調(diào)測(cè)試:是否需要與第三方或其他部門聯(lián)調(diào)袒炉?何時(shí)開展旁理?聯(lián)調(diào)包括哪些功能?例如基金公司我磁。
8孽文、測(cè)試限制:在測(cè)試環(huán)境中哪些內(nèi)容無法測(cè)試驻襟?比如消費(fèi)到賬。
9芋哭、測(cè)試風(fēng)險(xiǎn):在測(cè)試或設(shè)計(jì)過程中由于時(shí)間安排沉衣、測(cè)試限制、優(yōu)先級(jí)分布可能帶來的測(cè)試風(fēng)險(xiǎn)考量楷掉。
4.9測(cè)試評(píng)審—決定測(cè)試質(zhì)量
4.9.1測(cè)試方案評(píng)審
①目前有開發(fā)需求說明書厢蒜、設(shè)計(jì)評(píng)審會(huì)、代碼復(fù)審會(huì)等各種會(huì)議烹植,但是很多都是站在開發(fā)的角度斑鸦,從需求和代碼層面進(jìn)行復(fù)審和風(fēng)險(xiǎn)規(guī)避。
②在測(cè)試緩解和測(cè)試階段缺少以測(cè)試為主題的評(píng)審機(jī)制和溝通機(jī)制草雕。
容易造成以下幾個(gè)方面的問題:
①僅從文檔巷屿、溝通獲取信息,可能會(huì)造成信息不對(duì)稱墩虹,認(rèn)識(shí)片面嘱巾,理解錯(cuò)誤或不深入等問題。
②缺少同行交叉評(píng)審和開發(fā)評(píng)審機(jī)制诫钓,無法充分發(fā)揮集體智慧旬昭,個(gè)人的思維難以突破,可能出現(xiàn)測(cè)試遺漏的情況菌湃。
4.9.2評(píng)審目的
①呈現(xiàn)測(cè)試的工作问拘。
②與開發(fā)達(dá)成共識(shí)。
③不同的思維方式碰撞出火花惧所,借鑒被人的思考方式骤坐。
④培養(yǎng)不這樣的行為模式:愿意為團(tuán)隊(duì)或其他人出謀劃策。
⑤發(fā)揮團(tuán)隊(duì)寫作下愈,最大限度發(fā)揮個(gè)人的經(jīng)驗(yàn)纽绍,特長(zhǎng),實(shí)現(xiàn)技能互補(bǔ)势似。
4.9.3評(píng)審重點(diǎn)
①采用的測(cè)試方法拌夏。
②等價(jià)類劃分的依據(jù)。
③測(cè)試數(shù)據(jù)的選取和準(zhǔn)備方法履因。
④流程測(cè)試的路徑組合辖佣。
⑤數(shù)據(jù)對(duì)比選取的對(duì)象和數(shù)據(jù)檢查點(diǎn)。
⑥是否需要模擬數(shù)據(jù)及模擬數(shù)據(jù)的方法搓逾。
⑦基于風(fēng)險(xiǎn)的測(cè)試取舍卷谈。