One Page Test Plan
整個(gè)產(chǎn)品的測試計劃一般就一頁(yè)紙但并不是說(shuō)只能一頁(yè)紙,而是一個(gè)輕文檔的概念,里面包括了產(chǎn)品背景、測試策略、測試內容、哪些功能需要測試、哪些功能目前還沒(méi)有加入測試、使用了哪些測試類(lèi)型、目前在線(xiàn)的功能、測試環(huán)境、日程/進(jìn)度表、資源、風(fēng)險和依賴(lài)等等。
針對具體某個(gè)比較大的功能模塊也同樣適用,也就是說(shuō)測試計劃包括整個(gè)產(chǎn)品的還包括產(chǎn)品內部功能模塊的。
Test Env
見(jiàn)上文介紹,這里面還會(huì )有Global和Local的多語(yǔ)言環(huán)境,需要和其他辦公室的團隊協(xié)同工作。
Test Cases
測試用例在Google內部是通過(guò)一個(gè)叫TestScribe的工具來(lái)管理,各個(gè)產(chǎn)品創(chuàng )建自己的產(chǎn)品的測試用例,一般會(huì )根據頁(yè)面->功能來(lái),產(chǎn)品所有測試用例創(chuàng )建好后,需要團隊來(lái)審核,根據反饋做修改,同時(shí)也要把發(fā)現的Bug當做用例補充進(jìn)來(lái)。
Test Scribe里還有一個(gè)Test sets概念,也就是說(shuō)根據不同的測試策略,從所有測試用例中選取相應部分保存成Test set,例如Basic Test、Full Test、Automated Test等等,當具體執行測試時(shí),可以創(chuàng )建Build從這些Test sets選取合并在一起。
Bug
前面有提到過(guò)Bug庫是使用Buganizer來(lái)管理,但是Bug庫不僅僅是存放缺陷,需求和改進(jìn)以及你認為有問(wèn)題的都需要記錄進(jìn)去,根據優(yōu)先級跟蹤開(kāi)發(fā)修復,同時(shí)可以根據不同類(lèi)型,比如新功能或每周發(fā)布版本建立Hotlists,將對應的Bug保存便于跟蹤統計。
Test Report
測試報告,每一輪測試執行結束后,通過(guò)TestScribe都可以生成相應的測試報告,例如每周發(fā)布的回歸測試,會(huì )有對應的測試報告,記錄測試使用了哪些用例、發(fā)現了哪些Bug、嚴重程度如何,當然,也可以通過(guò)TestScibe和Buganizer提供的接口自己建立一個(gè)狀態(tài)頁(yè)面。
Matrix
搜索產(chǎn)品都是基于Web的,這就涉及到兼容性測試,需要根據具體產(chǎn)品監控的反饋統計出用戶(hù)的喜好情況,建立對應的平臺和瀏覽器Matrix,里面會(huì )有一個(gè)百分比關(guān)系,根據百分比來(lái)劃分優(yōu)先級,分配測試資源。
Metrics
產(chǎn)品質(zhì)量的情況反饋需要有一些度量,那么會(huì )建立哪些度量呢,需要建立一些矩陣:
a.發(fā)布的矩陣,哪些bug是手工測試發(fā)現的、哪些是自動(dòng)化發(fā)現的、驗證了哪些bug、哪些是新功能的bug
b.每周回歸的矩陣,回歸發(fā)現了哪些新bug、回歸驗證哪些bug
c.功能發(fā)布記錄,某個(gè)新功能是在哪個(gè)版本第一次發(fā)布,新功能發(fā)布到哪個(gè)國家或地區,新功能做了第幾次試驗
Findit
大家一起來(lái)找茬,就是邀請所有員工來(lái)找bug,發(fā)現有效bug的員工會(huì )獲得一件T-shirt和其他獎品,T-shirt的圖標一般是一只狗狗拿個(gè)放大鏡照骨頭。有點(diǎn)類(lèi)似于微軟的"bug bash",但是這個(gè)是整個(gè)公司的,bug bash一般是在團隊使用,會(huì )在某個(gè)新版本發(fā)布前,整個(gè)團隊一起來(lái)找bug并且使用一周時(shí)間一起修復bug。那么根據多國家地區和多語(yǔ)言的特點(diǎn),還可以分為ChinaFindit,JapanFindit,比如我參與的香港財經(jīng)項目,就需要邀請懂粵語(yǔ)或就是香港員工來(lái)幫忙做一些習慣用語(yǔ)或當地風(fēng)俗或當地使用習慣的測試。
TotT
Testing on the Toilet,在Google辦公室的廁所,你會(huì )發(fā)現墻上經(jīng)常貼著(zhù)各種文檔,這個(gè)是Google專(zhuān)有的廁所文化。
文檔一般都是各個(gè)產(chǎn)品使用工具或做測試的例子,目的是吸引所有工程師做更多的測試,這個(gè)文化被Google離職工程師帶到了百度,可惜他們沒(méi)有把頁(yè)首和頁(yè)眉去掉,模板也改改吧。
示例見(jiàn)此文,TotT: Better Stubbing in Python
四、工具
從上面可以看出,搜索產(chǎn)品一般是一周一發(fā)布的頻率(稱(chēng)為Weekly Push),測試人員除了做常規的RC測試,還需要了解新功能的需求、提早介入新功能測試、編寫(xiě)測試計劃和測試用例,和開(kāi)發(fā)人員協(xié)作提高代碼質(zhì)量,那么時(shí)間有限,提高效率就需要工具的幫助,下面介紹一些使用到的工具或策略。
Clearsilver Diff Tool
我們知道測試里面的"二八原則",很多新的功能會(huì )發(fā)現大量的bug,同時(shí)在舊功能也會(huì )發(fā)現由于新功能或是代碼修改引入的bug。
通過(guò)Diff工具,我們可以了解新版本和上一版本的區別,更利于測試資源的分配,關(guān)注修改部分的質(zhì)量,而原有功能模塊的質(zhì)量通過(guò)自動(dòng)化來(lái)做回歸測試。
Selenium UI Automation
UI的自動(dòng)化,其實(shí)解決的更多是各個(gè)瀏覽器上的功能測試,界面的測試還是需要通過(guò)人來(lái)查看,當然也可以通過(guò)UI自動(dòng)化截取圖片,運行完成后統一查看。在搜索產(chǎn)品中有個(gè)原則,由于UI的頻繁變更,推薦UI的自動(dòng)化率一般達到30%即可,太多了對于維護是個(gè)很大的成本。
Data Comparison Tool
數據比較工具,在財經(jīng)搜索產(chǎn)品中使用,因為財經(jīng)產(chǎn)品有些特殊,數據來(lái)源是第三方提供后解析保存到Google的數據庫,而不像其他產(chǎn)品都是爬蟲(chóng)爬取的,使用這工具可以和其他流行的財經(jīng)網(wǎng)站做數據對比。
提到數據的準確性,除了各個(gè)產(chǎn)品團隊對關(guān)鍵字的結果進(jìn)行對比,Google還有專(zhuān)門(mén)的搜索質(zhì)量團隊。
Lflip
內部工具,通過(guò)此工具,可以將TestScribe中的每條測試用例都嵌在Iframe中自動(dòng)運行,不過(guò)每個(gè)測試用例都需要指定運行環(huán)境的URL。
Puppet
搜索產(chǎn)品中大量使用的基于JS的冒煙測試工具,在產(chǎn)品編譯后執行,可以提前發(fā)現問(wèn)題。
Statix
性能測試工具,支持Jmeter的JMX文件,通常運用在每周發(fā)布后的回歸性能測試上,自動(dòng)生成Dashboard,可以和上一周版本對比。
原文轉自:http://kjueaiud.com