版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
在手機(jī)應(yīng)用項(xiàng)目中建立符合持續(xù)交付的高標(biāo)準(zhǔn)自動化測試許均揚(yáng)johnhsu@?Thecontentinthisslidesonlyrepresentstheviewoftheauthor,notIBM.?Therecommendedtechnicalsolutionspresentedinthisslidesarenotguaranteed,andtheauthororIBMtakesnoresponsibilityunderany/continuous-delivery顧客反饋商業(yè)決策:何時交付持續(xù)整合建置ProvisionEnvironment顧客反饋商業(yè)決策:何時交付持續(xù)整合建置ProvisionEnvironmentPProvisioEnvironment境發(fā)布至staging環(huán)境ProvisionEnvironmentProvisionEnvironmentProvisionEnvironment版本版本控制部部署至production環(huán)境ProProvisionEnvironment續(xù)測試(自動化)重點(diǎn)是隨時保重點(diǎn)是隨時保持在能交付的狀態(tài)?傳統(tǒng)自動化:?一天跑一次,甚至兩三天才跑一次?失敗了沒關(guān)系?通常不太在意代碼質(zhì)量跟架構(gòu),甚至有不少的團(tuán)隊(duì)使用錄制工具建立測試?不太在意測試覆蓋率,低于30%是非常常見的狀況?跑很久無所謂,因?yàn)橐惶觳排芤淮?持續(xù)交付自動化?一天跑十次甚至幾十次?不允許非bug造成的失敗?需要高覆蓋率,80%以上是基本要求?需要以對待產(chǎn)品代碼級別的標(biāo)準(zhǔn)來要求代碼質(zhì)量與架構(gòu)?需要在短時間內(nèi)結(jié)束?真的失敗需要在短時間內(nèi)快速找出問題點(diǎn)戰(zhàn)?夠快?非常穩(wěn)定?失敗時能快速精準(zhǔn)找出問題?Build+UnitTest不能超過15分鐘,最好在十分鐘?AcceptanceTest最好在30分鐘以內(nèi),最多不超過60~90分鐘?1%失敗率很穩(wěn)定嗎??假設(shè)每一個testcase有1%概率由非bug問題造成失敗?100個testcase的testsuite跑一次完全沒失敗的概率是0.99^100=36%?1000個testcase呢?幾乎每次都至少會有一個testcase失敗?持續(xù)交付要求的穩(wěn)定是”完全不會因?yàn)榉莃ug問題失敗”?事實(shí)上很難做到?但至少每一個testcase非bug造成失敗率不能大于百萬分之一?每次跑的間隔平均是8*60/10=48分鐘之前找出問題?或是一旦失敗就鎖死sourcecontrol不讓codecheckin,直到問題解決或是rollback?無論采取哪一種方法,找出問題都是分秒必爭?夠快?非常穩(wěn)定?失敗時能快速精準(zhǔn)找出問題光是做到一項(xiàng)就是很大挑戰(zhàn),何況是?挑戰(zhàn)顯然是巨大的,因此解決方法也不可能只采用單一手段?戰(zhàn)略面跟戰(zhàn)術(shù)面都必須要有各種方法,多管齊下?戰(zhàn)略面一開始就錯了,戰(zhàn)術(shù)面再怎么強(qiáng)還是全盤?組織,流程與文化?開發(fā)團(tuán)隊(duì)寫自動化測試?很多公司直接要求現(xiàn)有的手動測試團(tuán)隊(duì)負(fù)責(zé)開發(fā)自動化測試高?測試團(tuán)隊(duì)負(fù)責(zé)手動測試,測試案例review與工具平臺開發(fā)維護(hù)?以對待production代碼的態(tài)度對待自動化測試代碼?流程上必須要確保pipeline紀(jì)律的嚴(yán)格執(zhí)行?就算有全世界最好的自動化測試,沒人看沒人用的話也只是廢物?測試失敗必須立刻解決<非常重要?文化?持續(xù)改進(jìn)的文化?維持持續(xù)交付pipeline的決心?ProjectManager與其他主管最常問的問題:我們自動化測試有哪些,覆蓋的哪些scenarios??請他們?nèi)タ创a?行不通?解決方案:Automationasdocument?年年都有新的測試工具,因此要時時更新知識?測試工具最好要能?自動處理UI的延遲,讓測試代碼中不需要寫sleep?簡單易懂?夠穩(wěn)定?夠快?官方支持優(yōu)先,其次才考慮開源第三方軟件方軟件可以功成身?非到萬不得已,絕對不寫sleep?Sleep是不穩(wěn)定測試的最大來源?Callback->PeriodicPoll->Sleep?每個TestCase必須能獨(dú)立執(zhí)行,不依賴其他TestCase幫它設(shè)定環(huán)境,也不影響其它TestCase?避免過度復(fù)雜的測試代碼?雖然說要用產(chǎn)品代碼級別要求代碼質(zhì)量,但還是稍有不同,如何拿捏很重要?使用viewid或是accessibilitylabel/id定位view?字符串會變?坐標(biāo)更容易變?ProposedbyMartinFowler?PicturefromRogerAlmeida’sblog:http://roger-almeida.blogspot.tw/2012/01/object-pattern-webdriver-spring.html?UnitTest只應(yīng)該測試單一method?不連網(wǎng)?不連數(shù)據(jù)庫?不調(diào)用任何硬件功能如GPS,震動等等?Mock第三方軟件或是OSAPI的調(diào)用?Acceptancetest應(yīng)該只測試單一component?不是integrationtest?Client或是Server,而不是endtoend?Mockclient或mockserver?或是把client跟server放在同一臺機(jī)器上?怎么處理這問題??If(waitfor(menuexists)){click(“ViewResults”);}?這樣做對嗎??我們是不是忘了一件事??takeSurvey(StringsurveyName,booleanmenuWillPopup){If(menuWillPopup){click(“ViewResults”);}}I?假設(shè)以下測試案例,測試目標(biāo)為一cloud同步服務(wù)?上傳一文檔->編輯文檔描述->將文檔與另一人共享->上傳同一文檔的更新->刪除文檔?測試案例2?上傳一文檔->在文檔上留言->將文檔公開給所有人?同樣的動作,只需要在UI測試一次就夠了?第二個以后的測試案例,測試過的步驟都透過API執(zhí)行?假設(shè)以下測試步驟,目的為測試購物網(wǎng)站是否能正確使用信用卡付款?登入在線購物網(wǎng)站->尋找商品->找到商品,確認(rèn)數(shù)量,?同樣的購物網(wǎng)站可能有數(shù)百個測試案例,前面幾步都完全一樣?手動測試沒有別的方法準(zhǔn)備測試數(shù)據(jù)?但自動化測試中,我們有別的選擇de?測試工具也是人寫的軟件,也會有bug?等測試工具沒問題才開始自動化測試?那永遠(yuǎn)都不會開始?手機(jī)上常見的測試工具bug?點(diǎn)不準(zhǔn)?點(diǎn)了沒作用?動畫導(dǎo)致時間差?長按變短按,短按變長按?滑動失敗?解決方法?重試?還原后重試?關(guān)掉動畫?Espresso的重試?自己寫的重試?或是直接將這些代碼包裝成一個genericmethod?測試失敗時只有幾分鐘時間找出問題?報(bào)告應(yīng)該要有?BDD中每一步的描述?每一步之下細(xì)項(xiàng)動作的記錄?更細(xì)的UIlifecycle記錄,如Espresso中的activitylifecycle如果是UI測試:失敗測試的屏幕截圖,最好有完整的videoreplay?報(bào)告要能分component列表,讓人一眼就看出失敗出在哪個component?常見的反應(yīng)?測試能跑就好,為什么要我寫一堆Log??為什么還要規(guī)定Log的規(guī)范,會不會太麻煩??跟所有Agilepractice一樣,持續(xù)交付的自動化測試永遠(yuǎn)可以有改進(jìn)空間?如同對待production代碼一樣的對待自動化測試代碼,持續(xù)改進(jìn)它,才是最重要的?只有使用技術(shù)跟工具,而沒有將持續(xù)改進(jìn)的文化深植到團(tuán)隊(duì)中,只能事倍功半??CopyrightIBMCorporation2016.Allrightsreserved.Theinformationcontainedinthesematerialsisprovidedforinformationalpurposesonly,andisprovidedASISwithoutwarrantyofanykind,expressorimplied.AnystatementofdirectionrepresentsIBM'scurrentintent,issubjecttochangeorwithdrawal,andrepresentonlygoalsandobjectives.IBM,theIBMlogo,andotherIBMproductsandservicesaretrademarksoftheInternationalBusinessMachinesCorporation,intheUnitedStates,othercountriesorboth.Othercompany,product,orservicenamesmaybetrademarksorservicemarksofothers.?StatementofGoodSecurityPractices:ITsystemsecurityinvolvesprotectingsystemsandinformationthroughprevention,detectionandresponsetoimproperaccessfromwithinandoutsideyourenterprise.Improperaccesscanresultininformationbeingaltered,destroyed,misappropriatedormisusedorcanresultindamagetoormisuseofyoursystems,includingforuseinattacksonothers.NoITsystemorproductshouldbeconsideredcompletelysecureandnosingleproduct,serviceorsecuritymeasurecanbecompletelyeffectiveinpreventingimproperuseoraccess.IBMsystems,productsandservicesaredesignedtobepartofalawful,comprehensivesecurityapproach,whichwillnecessarilyinvolveadditionaloperationalpr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年中職學(xué)校教案設(shè)計(jì)模板(共8篇)
- 馬術(shù)教學(xué)原則和課程設(shè)計(jì)
- 鐵藝護(hù)欄施工方案
- 2025年度藝術(shù)品收藏咨詢個人居間代理協(xié)議4篇
- 2024年學(xué)習(xí)加法教案
- 2024年心理咨詢師題庫及答案(名師系列)
- 遠(yuǎn)傳水表施工方案
- 香蕉催熟課程設(shè)計(jì)
- 鋼橋課程設(shè)計(jì)答案解析圖
- 2024礦業(yè)權(quán)交易居間合同
- 三清三關(guān)消防知識
- 2025年生產(chǎn)主管年度工作計(jì)劃
- 2024-2025學(xué)年山東省聊城市高一上學(xué)期期末數(shù)學(xué)教學(xué)質(zhì)量檢測試題(附解析)
- 西方史學(xué)史課件3教學(xué)
- 2024年中國醫(yī)藥研發(fā)藍(lán)皮書
- 廣東省佛山市 2023-2024學(xué)年五年級(上)期末數(shù)學(xué)試卷
- 臺兒莊介紹課件
- 人工智能算法與實(shí)踐-第16章 LSTM神經(jīng)網(wǎng)絡(luò)
- 17個崗位安全操作規(guī)程手冊
- 2025年山東省濟(jì)南市第一中學(xué)高三下學(xué)期期末統(tǒng)一考試物理試題含解析
- 網(wǎng)絡(luò)安全保障服務(wù)方案(網(wǎng)絡(luò)安全運(yùn)維、重保服務(wù))
評論
0/150
提交評論