問題
通常,我在面試測試相關候選人時,除了技術等硬性標准外,我還非常希望候選人回答這么一個問題 ——如果讓你負責一個項目的質量保證工作,你會怎么做?
之所以問這么個問題,主要是想考察候選人在過往的經歷中,有沒有全局性的思考如何把控一個項目的質量狀況;有沒有對自己日常的工作有個清晰的認識,甚或者有沒有觀察過你的leader或經理,他們是如何帶項目的。這是個開放性的問題,不同行業,不同公司背景下的QA人員,得出的認識,可能會有不同。這里,我將談談我的理解。
從項目的一般生命周期說起
很多候選人聽到我這個問題,一般會從項目的生命周期說起,將焦點聚焦在測試人員及其工作本身上。
比如會談到測試人員要參與需求評定,充分理解需求。之后還要設計測試用例以及用例評審。最后就是基於用例做最后的驗收測試。基於此,部分同學還會提到,需要做的測試種類,比如功能測試,性能測試。做移動端的同學還會提到各版本,各機型的兼容性測試等等。
這種說法確實沒錯,測試人員做好了這些工作,很大程度上會保障好項目質量。但通常這種模式,比較傾向於傳統QA,容易變成研發的下游。且實際表明,這種模式對QA人力有一定的要求。太少了,工作就開展不起來。按我觀察到的現象來看,這種模式下,開發測試比,一般可以達到2:1 甚或者1.5:1.
很明顯這種比例對創業公司來說太高了,創業公司一般追求的是極致的投入,以及更加極致的產出。而傳統意義上,測試的產出卻並不是那么明顯。所以在追求質量保證的道路上,我們需要考慮是否還有其他道路呢?
影響項目的質量因素
仔細思考上面的描述,你會發現候選人默認將項目質量聚焦在測試人員身上, 而非項目本身。但做項目是個系統工程,涉及到的是方方面面。所以這里,我們不妨放大關注點,先不把目光局限在測試人員身上,而是考慮下這個問題的實質——影響項目的質量因素到底有哪些?
正所謂,過程決定結果。所以我認為做好過程質量,會讓我們在追求項目質量的道路上事半功倍!
從過程質量出發,我將質量保證工作,簡要的划分為下面幾個環節,如圖:
研發質量
研發階段是項目最重要的時期,代表着一個項目從無到有,從1到100的研發及逐漸迭代的過程。做好這個階段的質量保證工作,其正面意義毋庸置疑。
我推薦將這個階段的工作按分層模式來搞,從最初的代碼檢查,到最終的e2e測試,性能測試等,全方位,立體化來逐漸保衛產品質量。這里的每一項工作都不是獨立的。而應該按照持續集成,流水線的模式,對每一次的代碼改動進行篩查和測試。
測試同學這階段的目標應該是保證這條流水線的暢通,以及部分測試工作的完善,比如測試框架,e2e等。但不是說這里的每一項工作都要有測試同學來搞。而應該盡可能的發動開發和測試一起來協作。這樣才會得到更高效率。
上線質量
也就是發布環節的產品質量保證。之所以把這個單拎出來,主要是面向服務端程序來說。因為這個過程是產品代碼從研發到線上,真正面對用戶的分水嶺。這個環節處理不好,就很容易出問題。這里我將這個階段,影響質量的因素,主要歸結為版本控制,配置控制,以及上線流程三個方面,需要測試人員着重關注。當然,有同學會說,在我們公司,幾個因素主要是運維部門在負責,但是測試作為質量監察者,和布道師,同樣應時刻關注,且針對其中的問題或薄弱環節,着力推動和解決相關事宜。總之,項目質量相關的問題,QA都應該有義務關注。
特別的,QA在這個階段最好能產出,或者協助產出,線上功能的冒煙測試集,以方便做發布后的及時驗證。
線上質量
產品上線或者交付了,並不代表質量工作的完結,我們還應該時刻關注用戶對產品的反饋。
應該定期組織線上bug分析,研究如何做才能避免這類bug的遺漏。對於線上事故,更要慎重對待,最好能對每一粒事故都給出測試端的改進。
還有一點可能大家比較忽視的就是,產品使用姿勢分析。這一方面,雖然通常有專門部分來分析,但是如果有可能,我們同樣應該關注,用戶是如何使用我們產品的。這對我們在測試策略的制定上,非常具有指導意義。
對QA同學的技能要求
通過上面的分析,你會發現,要想做好這些工作,需要對QA同學提出更高的要求。
首先,技術要過關。在七牛,我們要求測試同學在技術上與開發並無二致。只有這樣,你在質量布道和流程改進時,才會與開發同學產生更多的共鳴。同時,你還需要有一定的溝通技巧,和項目管理能力。測試同學面對是整個團隊,要能適應每一位人員。在平時的技術溝通,需求討論時,高效應對,維護好良好的人際關系,以方便后續工作的開展。但同時也要有全局意識,堅守質量底線,把控各個環節,防止出現質量漏洞。對質量工作的如何開展要有清晰的認識,不能被帶偏。
篇后語
很多次,候選人都會問我,你們是手動測試多還是自動化測試多。我都會給他們強調,測試是對質量負責,不管是手動還是自動,都只是一種手段,依賴於測試人員的技術水平。我們希望所有的測試同學,都應該是以測試開發為標准,以質量布道為方向。用owner精神,做好整個項目的質量保證工作。
童鞋,點個贊吧(⊙o⊙)?
Contact me ?
Email: jinsdu@outlook.com
Blog: http://www.cnblogs.com/jinsdu/
Github: https://github.com/CarlJi