? ? 又隔了好久了,主要是上周比較忙,今天接著上一篇http://www.lxweimin.com/p/0332183aae9b,從3.2.2風險開始讀~
? ? 2)風險
? ? 確定風險的過程稱為風險分析。
? ? a)風險分析
? ? 在Google,主要確定兩個要素:失敗頻率和影響。風險是一個定性的相對值,而不是一個定量的絕對值。風險分析的目標不是要給出一個精確的值,而是要識別一個能力與另一個相比風險是大還是小。在GTA(GTA:Google Test Analytics)中風險頻率有4個預定義值:罕見、少見、偶爾、常見;風險影響也有四個值:最小、一些、較大、最大。風險評估完后,還需聽取公司其它同事的意見,比如:開發、PM、銷售人員、總監和VP,可將自己的結論給他們看,一旦他們發現有偏差,會提出自己的意見。
? ? b)風險緩解
? ? 我們可以圍繞風險大的能力點編寫用戶故事;編寫回歸Case;可以插入監聽代碼,更好的檢測到故障;可以插入代碼監聽軟件,發現新舊版本的變化。測試人員可能會參與到實際的緩解過程,但更主要的是暴露風險。原則是:如果不能全測,就先測最重要的,也就是風險最大的。
? ? c)關于風險最后的話
? ? 理解風險在組織的各個層次都有價值。GTA幫助我們識別風險,測試幫助我們緩解風險,TE則是緩解活動的協調人。TE有責任理解所有的風險點,并使用可以利用的任何手段予以緩解。手段包括:對于高風險的能力點,要寫一系列有針對性的用戶故事;評估SET和SWE的測試對GTA所暴露的風險級別;分析每個高風險的bug,保證存在回歸Case;思索高風險的區域,咨詢回滾和恢復機制;引入盡可能多的相關各方。
? ? 用戶故事的焦點在于對用戶的價值,而測試用例則比用戶故事更具體,測試用例通常指定了具體的輸入和輸出。
? ? 對于風險較低的能力點,可能會選擇進行探索性測試,或者使用眾包測試(一部分對測試懂行的高級用戶,愿意來幫忙并拿到合理的報酬)。ACC的威力在于它能確定能力點,按風險排序,然后分配給所有的質量伙伴。
? ? 3)測試用例的生命周期
? ? 和很多公司一樣,Google最開始使用電子表格和文檔來記錄Case,表格優于文檔,可通過表列結構,方便的支持過程、數據以及標簽等的記錄,也易于定制。但隨著用例越來越多,Google使用Google測試用例管家GTCM(Google Test Case Manager).
? ? GTCM的設計思想是簡化測試用例的編寫。它提供標簽格式,便于查找和復用。GTCM相關的數據有助于理解測試人員使用測試用例的整體情況。測試用例總數正在接近一個漸進線。因為,GTCM主要管理手工測試用例,而許多團隊正在自動化他們的手工測試,這就降低了內部GTCM中用例的總量。GTCM有個重要需求:簡單清楚的API,它使用Restful的Json API。
? ? 4)Bug的生命周期
? ? Google的任何人都可以發現并報告bug,比如:產品經理、開發人員、社區經理、SVP,還有些內部版本的應用有一鍵報告bug的功能。Google使用Buganizer來管理bug。個人感覺這個工具和我們目前使用的JIRA很類似。
? ? 許多團隊在bug到達的速度超過了其修復能力的時候,干脆不再進行新功能的開發,集中精力于少量測試過的代碼、增量式的測試以及內部試用,這將有助于將bug置于有效控制之下。另外,有些項目還會使用外部可見的數據庫,如Bugzilla、Issue Tracker。PS:安全bug有時會被隱藏起來直到被修復,以免泄密給黑客。
? ? Google的項目主要有兩種狀態:新的、處于快速開發中的項目;已成型的、增量式發布中的項目。前者不斷有問題出現,后者則有大量的單元測試和容錯性測試做保證。
? ? Google的用戶可使用Google Feedback提交某個產品的bug,用戶無需知道bug是否已被修復,只用反饋,反饋的問題可能成千上萬,Google使用了聚類算法來自動識別重復記錄并確定最頻繁的問題,精簡到10個左右的主要的、共性的問題。
? ? 對于發現bug的測試用例,盡可能自動化,不能自動化的,也需編寫手工用例,提交到GTCM中。
? ? 5)TE的招聘
? ? 測試的重要一面是做確認,大量的測試工作是計劃執行和完成確認。使程序崩潰并不總是我們的目標。以極端的輸入數據來測試軟件很有意思,但更常用的是一遍一遍地模擬真實的使用場景,確保在這些通用條件下,軟件的運行不會出錯。在面試時我們會尋找這種正面的測試觀。
? ? Google的面試既要考察一般的計算機科學和技術技能,也要考察候選人的測試潛力。從構建工具、接洽客戶、到跨團隊和依賴的協調等,TE能夠適應幾乎所有角色。TE經常能擔當領導角色,能理解各種設計問題和風險。面試時還需考察另一個關鍵特征,即TE所需具備的處理模糊性、反駁糟糕想法的能力。
? ? 最后,Google味兒也很重要,我們需要有好奇心、充滿熱情的工程師,他們不會滿足于簡單完成被分派的工作,而是會進一步探索各種可能性,嘗試工作描述之外的東西。
? ? 本篇到此為止,關于風險、優先級和TE的面試的介紹給了我很多啟發,也更加明確了TE的職責~?
? ? 另外,TE的招聘中高級TE的思維讓人驚嘆,自嘆不如!