稱職QA經理必備的13項技能
譯文【51CTO.com快譯】據我所知,質量保證(QA)經理所面臨的工作壓力時常被業界低估了。他們需要在不影響項目交付期限的情況下,順利地跟進時下流行的敏捷開發模式(請參見https://www.lambdatest.com/blog/agile-vs-waterfall-methodology/),并在復雜的商業環境中保持自身競爭力。因此,作為一名優秀的QA經理,他應該是一個擁有技術與非技術混合技能的“斜杠青年”。下面讓我們來討論一下,有哪些必備技能需要QA經理不斷地進行積累與掌握,從而提高他們的“自身修養”。
有效的溝通技巧
流暢的書面溝通與口頭交流是QA經理的首選關鍵技能。他們需要做到如下方面:
- 有效地向高層管理報告本團隊的整體狀況。
- 與非技術人員、及技術人員進行適當地溝通,及時在向管理層明確地解釋當前產品所碰到的技術挑戰。
- 在產品質量不達標、不適合被發布時,應該以婉轉的方式拒絕來自高級管理層或開發團隊的發布要求。
同時,組織例會也是QA經理的職責之一。就會議本身而言:
- 如果團隊規模龐大,應當在每次召開正式會議之前,向相關人員發送會議討論議程;并在會議結束之后,向與會者和其他團隊成員下發會議紀要。
- 如果團隊規模較小,則不需要復雜的會前準備與會后總結??刹扇∫环N “站立式”會議的開法,來高效地推進會議進程。
有效的解決問題能力
在介入項目之后,測試團隊應迅速從手動方式(請參見https://www.lambdatest.com/blog/why-manual-testing-is-going-to-prevail-the-industry/)過渡為自動化的測試模式。此前,由于測試人員對他們所面對的每一個測試用例都非常了解,因此操作起來雖然得心應手,但是可能具有一定的局限性。然而,到了開始使用Selenium之類的工具進行自動化測試之時(請參見https://www.lambdatest.com/blog/automation-testing-with-selenium-cucumber-testng/),目標系統會在整體聯動的層面上,暴露出許多問題。此時,您應當及時向管理層報告當時工作被阻的原因和位置。而且對于一些前所未有的場景,QA經理需要具備解決關鍵問題的應變能力。
如果您手頭的項目性質是開發Web應用,那么最常見的問題可能是跨瀏覽器的兼容性測試(請參見https://www.lambdatest.com/feature)。而如果您正在進行的是敏捷(Agile)類項目,那么在原始需求中可能不會指定跨瀏覽器的兼容性。而在演示(Demo)的過程中,如果利益相關者發現該應用無法在某種特定設備的瀏覽器上順利顯示時,與兼容性相關的后續追加需求就會應運而生了。
可見,我們的最佳實踐應該是:在每一次迭代(sprint)過程中,都要經歷跨瀏覽器運行的測試,以避免花費大量的精力,針對后續產生的追加需求,進行整個應用產品的反復測試。
您可以通過以下的方式處置上述情況:
- 從一開始就訓練測試人員遵循標準的流程,以避免出現不精細的測試用例。
- 用思維導圖和清單替代傳統的測試用例。
- 根據復雜性對問題進行排序,從風險性最小和復雜性最低的問題入手,抽絲剝繭。
用“鷹的眼睛”進行分析
QA經理的另一項關鍵技能是:能夠以敏銳的眼光,細粒度地監控各類詳細信息,進而對數據進行分析。因此,QA經理和其團隊應該在觀念上認識到:需要提高的是識別隱蔽錯誤的能力,而不是簡單地證明被測應用能夠正常地運行。與此同時,QA經理應該能夠檢測出異常,并指導自己的團隊通過制定方案來予以解決。另外,他們對于細節的敏銳洞察力,可以體現在通過快速瀏覽整個產品應用,迅速定位出與既定需求和規格差距。
具有適應性和影響力
人們天生不喜歡改變,特別是對于那些已經理順了的工作方式的改變。不過,作為QA經理,他必須通過適應性和影響力,來推動一些能夠讓整個團隊的工作變得更輕松、更高效的改變。在當前的敏捷時代,當利益相關者期望項目實現更快的交付時,您只有通過變更來確保整體團隊的持續迭代和按時交付。因此,您需要特別注意如下幾個方面:
- 通過審核,發現當前流程中潛在的問題。例如:自己的團隊習慣于僅對測試腳本進行微調,便應用到各種場景的用例之中。
- 通過與團隊的討論,發掘他們對于變更所持的態度與意見。
- 通過向高層管理層詳細闡述變更的來龍去脈,以促成變更的實施與落地。
業務場景的可視化和排定優先級
測試經理需要能夠從客戶提供的規格要求中獲得抽象概念,并將其可視化為實時的業務場景。簡而言之,他必須扮演業務分析者的角色,將此類概念通俗地分享給自己的團隊或高級管理層。
業務場景的可視化和優先級的排定,同樣也是QA經理的必備技能之一。系統仿真應該屬于優秀QA經理的一個素質。他必須能夠根據需求,順暢地預測到復雜的問題。針對某些特定的系統bug,他需要從系統的全局出發,排定這些bug對于整體運行的影響程度,進而通過調動與分享業務資源,讓自己的團隊以“頭腦風暴”的方式集思廣益地找到解決方案。
時間管理 - 敏捷時代的關鍵
作為優秀的QA經理,他應該讓自己能夠適應DevOps和敏捷(Agile)模式的時間管理。在任何重大變更需求被提出時,他應該通過與客戶的順暢溝通,以保證按時交付出迭代的產品版本,進而避免出現項目超期的“責任事故”。
在此,我的建議是:使用一款項目管理工具,如Jira或Asana。它能夠以儀表板的形式,幫助項目組中每一位成員了解當前的任務、以及必須何時完成。此外,使用定制的即時通訊(IM)應用(如Skype或Slack),也有助于大家更好地協作,并加快項目的交付速度。如果您有興趣,可以參考《軟件測試團隊19種最佳協作工具》一文,其鏈接為:https://www.lambdatest.com/blog/top-19-collaboration-tools-for-your-software-testing-team/。
扎實的編程基礎
編程能力當然應當成為QA經理的必備技能。隨著自動化測試工具的不斷增多,QA經理需要通過扎實的編程基礎知識,帶領自己的團隊去解讀客戶的各項需求。至于您應該具體掌握哪一門編程語言,則完全取決于貴組織所使用的自動化腳本類型。
例如:如果您的團隊正在使用Selenium WebDriver,那么您就應該具備JavaScript的相關知識;而如果您的項目使用到了UFT(Unified Functional Testing),則需要Java或Web services之類的知識。此外,無論您的公司使用了何種自動化工具,SQL的相關知識都是必備的。同時,您也應該對行為驅動開發(Behavior Driven Development,BDD)和面向對象編程的核心思想有所了解,其中包括:Python、Ruby和Perl等實際操作的相關知識。
嫻熟的談判技巧
當您接到來自利益相關者或高級管理層,各種苛刻的項目時間要求時,談判技巧正好能夠派上用場。
我就曾經遇到過:在交付日期臨近時,一些關鍵bug尚未得到解決。而在管理層的眼中,開發團隊的優先級明顯是最高的。他們甚至以郵件形式催促測試團隊,偽造順利通過了測試用例的假象。
在這種情況下,一位優秀的QA經理應該能耐心地通過談判的形式,向管理層指出這種給自己“挖坑”的短視行為,重申測試團隊的把關作用。同時,他應該闡明:如果放任了該bug,則會在用戶體驗、后期維護與修復、以及產品聲譽等方面,給企業帶來直接、間接、以及滯后的影響。
成為團隊中的一員
QA經理需要致力于打造這樣一支“夢想”團隊:除了熟練的測試技能,成員之間能夠開展協作,并相互幫助。而作為領導者,您應當:
- 通過團隊建設之類的活動,促進友好與交流。
- 和大家一起共進午餐,通過討論一些非技術類話題,來了解團隊成員的當前狀況和潛在問題。
- 帶領整個QA團隊與開發團隊開展各式各樣的合作與交流。
- 組織與項目有關的非正式討論,讓大家暢所欲言,并在會后及時予以反饋。
協助團隊成員不斷進步
這是一項經常被許多人所忽視的技能。雖然緊迫的項目交付時間,一直是在軟件開發生命周期(SDLC)中,懸在團隊成員頭上的一把“達摩克利斯之劍”。但是,大家都需要通過不同類型的項目來提高自己的專業技能。有時候,您需要以職業導師的身份,協助自己的團隊成員,特別是那些剛剛加入的新人,共同成長。您可以試著從如下方面進行嘗試:
- 您可以將自己在該領域學到的技能、經歷過的項目、以及處理的經驗,以不同的方式傳授給自己的團隊成員。
- 通過開展內、外部培訓,讓富有經驗的資深同事、或是外部專家來分享他們的“躲坑”或“填坑”技巧。
- 以文字的形式留下寶貴的記錄,并以“看板”的方式召集大家探討案例。
- 以開放的管理方式,允許團隊成員在空閑的時間里自我精進。同時建立“一幫一”的輔導機制,讓新人能夠盡快地上手當前的項目任務。
大膽自信
您只有相信了自己,整個團隊才會相信您。例如:當利益相關者在臨近交付期時突發變更請求,如果您因為顧及管理層或客戶對于自己的看法,而沒能大膽且禮貌地“懟”回去的話,那么您的團隊只會怨聲載道、苦不堪言。另外,QA經理也要大膽地說出被測產品的bug,甚至是在設計之初所存在的缺陷。要堅持那些自己認為是正確的,并敢于發聲。
摒棄舊的開發模式
傳統的瀑布式產品開發模型,分割了開發人員和測試人員之間的進程、時間表與角色交互。取而代之的是具有持續測試特性的DevOps和Agile。不過,一些“守舊”的成員可能還會抱有“測試與開發對抗”的心態。因此,為了促進溝通、推進項目,QA經理不但自己要在思想上與時俱進,而且要在整個團隊與項目中努力推行新模式的落地。
審時度勢、收發自如
有時候,您需要在相信成員能力的基礎上,放手發揮他們的主觀能動性,信任他們能夠在工具使用、流程管理、以及人員分配方面,具有一定的自我協調水平。過多的指導與介入,反而會給測試人員造成一定的依賴性。一旦您因為其他項目或休假而不在時,他們就會陷入群龍無首的局面。當然,在一些至關重要的任務和節點上,您的參與會給大家帶來中流砥柱的效果。
總結
綜上所述,QA經理的硬技能包括:各種認證證書,多年的軟件測試經驗,了解諸如:Shift-left測試、物聯網、自動化測試等新趨勢。而軟技能則有:領導能力,溝通技巧,團隊管理,促進成員的協作與成長,以及不斷創新等方面。讓我們一起在項目的實踐中,不但提升產品的交付效率與質量吧。
原文標題:Top 13 Skills Of A Proficient QA Manager In 2019,作者:Arnab Roy
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】