最近在論壇上看到一位朋友問到這個問題,我覺得很經典,一般二面(leader級別)都相對喜歡問這種問題,我曾經既在面試中被問過這個問題,也在后來做面試官的時候問過別人這個問題,所以正好給大家分析下這個問題、答案,還有實際的一些落地經驗。
作為應聘者,在回答這個問題之前,我們要明確一點:這個問題屬於開放性問題,也就是說並沒有所謂的標准答案。
當面試官問到你一個開放性的問題,一般是希望你能夠積極主動地和他討論問題(這樣的面試官以我的經驗判斷,一定是個好面試官),而不是給出一籮筐標准答案,在我們不知道上下文的情況下貿然回答這類問題,答案很容易偏主觀主義。
那么作為應聘者,應該怎么友好地推進整個面試過程呢?
回答應該包含三個核心點:
- 溝通上下文:問題清晰化,范圍具體化
- 就事論事,制定計划:將自己的項目經歷落地到面試過程中,有理有據。
- 過程管理,持續反饋:從0.99到1的不斷迭代優化
首先說第一點,溝通上下文。溝通上下文就是一個了解大背景的過程,而了解大背景就是把面試官的問題明確化的過程。
那么,如何去了解背景?
一個主動積極的人永不不會沒飯吃。(在百度時候的領導對我的一句逆耳忠言)
我們作為面試者,在回答問題之前,要主動和面試官提問:咱們公司的測試崗位的職責范圍是哪些?這里我們變被動面試為主動面試,不僅能夠獲得更多的問題線索,並且會很大程度上得到面試官會的青睞。
一般來說,如果是家小公司,測試的職責一般界定在業務測試,包括一些自動化工作;但如果是大公司,測試的職責可能還會包括項目推進,平台建設,流程優化等等。不同地職責反饋意味着不一樣的工作內容,所以從0到1要做的事情也不一樣。確認了這個,你就更加方面地探知到面試官的口味,知道如何順着面試官的話繼續往下說下去(這里不是讓瞎編,而是要為后面打基礎,后面就可以撿面試官想聽到的東西說),再一個你也知道這家公司的工作內容合不合適你(如果提前了解到不合適,也可以為后面多個offer間決策提供了依據)。
然后,在明確了要職責范圍后,我們就知道這家公司測試的職責范疇了,那么接下來該怎么講呢?
我們做計划一定是有根據性的,如果只是直接拋出一堆理論計划,就顯得有點教科書化。有沒有想過,項目面試官為什么要為你從0到1的工作如何開展呢?其本質就是:他想知道你到底之前有沒有過從0到1的經驗。
說完了了解背景,接下里,我們該如何制定計划?
對於有過從0到1的項目經歷的人來說,最好的答案就是把自己的經歷說出來,這樣都不用太多解釋,面試官就會極其信服你。這位朋友問了這個問題,有可能是沒有這個從0到1的經歷。那這里,我給沒有經歷從到0到1的朋友提供一個通用工作內容的借鑒吧。一般來講,從0到1的工作內容涉及如下兩個方面:
1.了解項目、成員,現狀
首先,熟悉了解項目組成員,無論是產品,開發和測試。在日常工作中,培養建立親密戰友關系,為后面的工作打下基礎。
然后,熟悉項目背景,需求,開發和測試的現狀,這個階段要溝通勝於文檔的方式去了解(天天看文檔,獲得都是被動信息,而且一般都不是重點,多和項目組的成員溝通了解,這樣事半功倍)
這個階段一般初步在兩周內完成,在了解整體的情況之后,我們就可以制定一些戰略方針來開展所謂的從0到1。
2. 梳理測試活動
第一步,先確認測試范圍。根據前面了解的情況,把要測試的業務梳理一下,即哪些需要測試,哪些不需要測試,哪些是核心業務,哪些是邊緣業務,我們根據基本的原則,就能制定出我們的測試工作范疇。(這樣做的好處是,我們可以有的放矢,不會變成一個救火隊員;再一個來講,有工作范疇,對后面明確自己的KPI就很有幫助了,而且領導也能有根據性地評估你的工作量,對於后期工作量過大的情況,leader也能明顯感知到你的工作壓力)。
然后,確定測試流程。測試流程中包含很重要的兩點:一個是提測流程,另一個是bug流程。制定提測流程的目的在於厘清測試界限,比如在提測之前,開發應該有哪些質量保證工作(比如說單測,靜態掃描,本地功能冒煙)。在提測之后,測試又應該做哪些工作,比如功能測試、接口測試、集成測試和性能測試等。第二個是bug流程,比如bug優先級,bug分類,bug解決后如何通知驗證,有bug是否能夠上線,還有最后的測試報告等。這兩個流程根據每個公司的情況不同各有差異,盡量按照自己經歷過的情況來說,不要胡編亂造。
最后,制定自動化工作計划。按照測試金字塔原則,我們需要和項目組的產品和開發溝通下,哪些是業務需要自動化,自動化又需要做哪些項。之所以談這一點,是因為但凡是個互聯網公司,都會最終涉及做自動化,如果你不提這個,可能會降低面試官對你的技術感官分數(但要記住:初來乍到的我們,千萬不要什么都搞自動化,自動化寫起來很爽,維護起來就很崩潰)。
在第二步完成之后,就是反復這個過程了。前面算是一個從0到0.99的過程,而后面就是從0.99到1的不斷迭代的過程,去接近這個完美的1的過程。這個階段有三項極為重要:
1.測試節點優化
當初的測試流程是按剛來項目組時候的情況而制定的。隨着用戶量的增長,整個項目處於不斷變化當中,整個過程中不僅有業務的變化,技術架構的變化,也會有測試流程和測試方案的變化,我們要不斷地改善整個測試過程,持續優化,最終提升我們的測試效率。
2.問題復盤
測試不是萬能的,在實際過程中,總會有大大小小地問題被漏測,影響到了線上用戶。對於此類問題,我們需要經常開項目復盤會,聯合產品,開發,測試一起回顧和復盤問題,旨在於更好地規避此類問題,提升用戶體驗和產品口碑。
3.知識沉淀
在工作過程中,我們要不斷地沉淀文檔,包括測試計划,測試用例,測試框架,自動化方案等等我們實際遇到和做過的內容。這樣做有助於不斷地提升個人還有團隊的戰斗力,同時在為后續述職提供了材料支撐,做到足夠大的影響力。
綜上所述,一個項目從0到1的測試工作的開展包括:了解項目背景,成員背景,測試現狀。然后依據現狀梳理測試范圍,制定測試流程,調研測試方案,把該自動化的業務自動化,最后將整個過程不斷地執行與完善,並定期項目復盤,同時總結沉淀工作內容。
在此過程中重點在於:有效溝通,制定好測試流程,盡可能地自動化,總結並輸出過程,最終形成從0到1的體系。
博主:測試生財(一個不為996而996的測開碼農)
座右銘:專注測試開發與自動化運維,努力讀書思考寫作,為內卷的人生奠定財務自由。
內容范疇:技術提升,職場雜談,事業發展,閱讀寫作,投資理財,健康人生。
csdn:https://blog.csdn.net/ccgshigao
博客園:https://www.cnblogs.com/qa-freeroad/
51cto:https://blog.51cto.com/14900374
微信公眾號:測試生財(定期分享獨家內容和資源)