2017測試行業狀況報告

weixin_33766168發表於2017-07-11
\

關鍵點

\
  • 瞭解剛剛釋出的2017測試行業狀況年度報告 \
  • 觀察軟體測試行業的走向 \
  • 解讀持續被採納的敏捷與DevOps如何影響測試人員的角色定位 \
  • 瞭解最新的測試行業趨勢、測試技術和測試工具 \
  • 瞭解測試人員面臨的挑戰以及他們如何來應對這些挑戰
\

2017測試行業狀況報告提供了多方位視角來觀察測試行業現狀,包括測試技術、測試實踐、測試自動化以及測試人員面臨的挑戰,分享了2017年度測試行業調查的調查結果。這次調查由來自PriactiTestJoel Montveilsky和來自Tea-Time with TestersLalit Bhamare組織。\

根據2017測試行業狀況報告:\

測試行業狀況調查是最大的全世界範圍的測試行業調查。根據1600多名來自60多個國家的參與者的反饋,這次調查希望提供最精準的測試行業資訊和全球的測試社群資訊。由於每年都會舉行,這項調查也掌握著測試行業當下和未來的趨勢。\

這已經是第四次測試行業狀況調查。大部分問題都和之前的調查問題類似,這樣可以從中觀察測試行業的發展趨勢。當然也有一些新的關於測試人員的職業發展的問題,一些已有的問題新增或修改了選項,以便於掌握最近幾年來越來越普遍的行業趨勢。\

InfoQ對這次測試行業狀況調查的組織者進行了一次採訪。\

InfoQ:2017測試行業狀況報告與之前的報告相比,主要的改變是什麼?\

\

Montvelisky:對我個人而言,最有趣的發現是,測試行業的改變是一次演化性的改變而不是一次革命性的改變。我們可以看到,DevOps慢慢被更多組織採納,測試人員更多地參與到持續整合與持續交付,並且測試人員在影響開發生態的整體趨勢上扮演更重要的角色。\

Bhamare:除了Joel已經提到的,我覺得測試行業擁抱新挑戰的開放性和積極性與之前相比更明顯了。測試人員靈活和開放地擁抱新的想法,來找出在不同環境中都有良好表現的方法。測試人員期望變得比過去更有技術性,同時他們也期望擁有非常好的思維能力,成為富有探索與思維能力的測試人員。\

2017測試行業狀況報告,揭示了測試領域在不久的將來會發生的更大的改變趨勢,因為我們正處在人工智慧、機器學習、可穿戴裝置、虛擬現實和其它Joel已經提到的技術方面的前沿。

\

InfoQ:測試職業如何緊跟新技術的發展,例如測試人工智慧系統與虛擬現實?\

\

Bhamare:我認為,要想高效地測試人工智慧或虛擬現實,測試人員需要透徹理解這些技術本身。他們對技術地理解越全面,測試工作完成的會越好。\

測試人員能夠剖析人工智慧或虛擬現實產品,將十分有助於他們設計更多的測試思路。我個人會逐步嘗試一些我瞭解的技術,例如SFDIPOT、I SLICED UP FUN、FCC CUTS VIDS等等,來更好地理解產品。為了緊跟這些驚人的發展,我建議實踐批判性思維並更深度地理解人機關係。\

對於那些嚴陣以待這次挑戰的人,我推薦從Weinberg的An Introduction to General Systems Thinking這本書開始學習,除此之外,我想不到更好的方式作為開端了。\

Montvelisky:我也認同,測試人員除了測試技術,也需要去了解他們測試的事物本身。\

如今,有許多途徑來獲取這些知識,例如,網際網路上龐大的資料、線上培訓、網際網路上不斷更新的人們發表評論的社群等。\

我覺得對於人們,特別是測試人員來說,非常重要的一點是,在進行諸如虛擬現實和人工智慧相關的工作時,最好像一個使用者一樣來看待這些產品,實際使用並第一時間體驗使用者會如何使用你正在測試的產品。當你遵循使用者現實場景下的使用行為,探索專案並查詢重要bug時,這些第一手的體驗是至關重要的。

\

InfoQ:報告中指出,測試功能越來越多地由專案經理承擔,而由QA部門VP或經理承擔的越來越少。您認為,導致這種現象的原因是什麼?這種現象又意味著什麼?\

\

Bhamare:我認為,這是最近方法論、投入/收益模型、技術革新和軟體構建方法等改變驅動的綜合結果。測試人員的期望已經發生了改變,專案團隊也明顯期望他們發揮出超出單純的質量保證的作用。\

其中一個好處就是,測試人員可以得到明顯的職權提升,如果他們能夠與其它部門緊密協作,例如程式設計部門、人事部門、使用者關懷部門、使用者與市場團隊等。這有利於團隊交流並能夠作出更快速的反饋,同時還可以讓測試人員與程式部門協作,作出超過傳統工作職能的貢獻(例如,程式碼分析或缺陷分析、結對測試、執行部署、產品監控等)。\

另外一層影響就是,測試人員可能會感覺疏離甚至被迫服從專案團隊的質量期望,這些期望有時又與會測試人員在團隊中感受到的期望不同。如果專案團隊不精通“有意義的測試需要做些什麼”,那麼就會給團隊中孤立的測試人員帶來無休止的爭執。Anne-Marie Charrett已經在她的部落格leave the testing to the experts中,非常完美地闡釋了這一影響。\

這一般也會影響測試人員的職業發展路線。如果專案中沒有測試團隊的推動,或者沒有測試專案來管理,或者沒有集中的測試職能來授予,那麼測試人員會成長為什麼樣子呢?這也許會是團隊組織在不久的將來需要解決的難題。\

Montvelisky:我認為,測試團隊習慣的是按層次從研究與開發部門分離的集中的測試職能,現在正逐漸被整合到原有的職能團隊中,而這正對測試人員的日常工作產生非常巨大的改變。\

面對這些變化,我曾問過自己許多問題,其中少許是這些變化對測試人員有什麼影響,更多的則是“質量管理部門的VP或經理的未來會如何?”。現在,我的答案是,這更多的取決於團隊組織施行的政策和實踐基於的方法論,而不是取決於測試人員自身。

\

InfoQ:報告中的變化如何影響測試人員的獨立性?\

\

Montvelisky:我不認為這影響了我們的獨立性,但是會需要我們在過程中以另外一種方式來組織我們提供的資訊。\

如果你彙報的物件是測試部門VP,一個能夠理解你在說什麼以及你所陳述的問題的人,那麼這個人就可以作為一個代理或者翻譯,以組織的負責人能夠明白的方式,來將你提供的資訊展示給他們。每個人都會基於自身的知識和經驗來理解資訊,因此一個非測試人員,例如一個專案的管理者CTO,需要一些額外的針對報告結果的解釋來讓他們明白。\

當我們取消了這個“中間人”,那麼測試人員需要投入一些時間,來向他們交流的負責人以有效的方式提供資訊。\

這種情況下,我們其實並沒有放鬆我們的獨立性,但是我們確實需要更努力來讓我們的資訊傳達到位。\

Bhamare:這有點複雜,我認為需要看情況而定。如果測試人員彙報的團隊或管理人員有實際的測試經驗或者能夠很好理解如何進行有意義的測試,那麼這會明顯幫助測試人員甚至可以使測試人員在專案中作出更好的貢獻。\

相反,如果測試人員的最終彙報物件是一個認為“測試無非就是執行一些完全可以自動化完成的檢查”的人,那麼將會導致每個人都感覺很糟糕。關於這個話題,我曾在一篇專門的部落格No Testing, No Agile and No Software Delivery中表達了我的個人感受和看法。\

當然,多年來一直存在的這種普通測試在一定程度上讓人們形成了這樣的看法。但是,觀察測試人員的調查結果和評論,我認為事情正變得比過去好很多。除了報告的結構,測試人員正擔負起他們的工作職責並熱衷於做那些更有意義的測試,我非常高興看到這樣的情況。

\

InfoQ:敏捷和DevOps的持續採納對於測試人員有什麼影響?\

\

Montvelisky:我認為,在敏捷和DevOps團隊工作的測試人員的日常生活更充滿激情,也更令人興奮。我們被要求有更高的執行力,提供更快的反饋,引導職能團隊,有時開發人員突然需要成為測試人員,有時又反過來測試人員需要成為開發人員。\

這裡我認為最大的挑戰是,掌握職業化測試所需的水平,來交付一款好的產品。在處於開發過程中的時候,提出打斷和嚴重的質疑會非常困難,但我認為這是我們能夠向團隊提供的最大的額外價值(以我們產品的使用者的視角)。\

Bhamare:正如之前提到的,我認為“協作和更快速的反饋”是在敏捷或DevOps團隊的測試人員的最大優勢。敏捷或DevOps的採納需要測試人員具有一些確實有幫助的更好的技術技能。\

同時,這也保證了測試人員成為更嚴謹的思考者,並具有更清晰地交流風險或資訊的能力,而不會成為產品釋出中的瓶頸。也就是說,對於大部分專案團隊而言,敏捷和DevOps的採用保證了測試人員成為“許多技能的支柱”和大師。

\

InfoQ:測試團隊面對的主要挑戰是什麼?他們如何來應對這些挑戰?\

\

Bhamare:在更短時間內的處理高頻率的測試一直都是測試團隊面臨的最大挑戰。其它主要的挑戰可以概括為一句話,“應付不斷變化的期望”。程式設計人員和測試人員之間較高的人數比、增加的超出傳統測試任務的職責、增加的學習曲線、缺乏明確的方向和職業發展路徑都讓測試人員感到很有挑戰。\

智慧的自動化測試確實會對測試人員的工作有所幫助。測試人員知道合適的工具,可以用來加快普通的任務。要讓專案團隊明白,“質量”是整個團隊的責任而不是僅僅靠團隊中測試人員就能夠明顯改善的。在敏捷或Scrum團隊中實現執行中任務數量限制(WIP limits),可以激發團隊中的非測試成員加入並幫助測試。在我看來,和程式設計人員結對是教導他們如何進行測試的最好方法,同時測試人員也可以從程式設計人員那裡學習到更多技術知識。這也許有助於測試人員學習需求的擴充套件,並且可以讓他們在專案團隊中有更多產出。\

Montvelisky:我們作為測試人員最大的挑戰,始終是處理專案緊促的時間線,並且隨著敏捷和DevOps的採用變得更加緊促,同時,用來發布產品到各領域或者部署產品到雲端的日曆期限也更短。\

應對挑戰的唯一方法就是不斷改進和適應。自動化測試不再是奢侈品,而是我們必須掌握的技能,這樣做是為了處理重複任務以及能夠將工作中心放在更需要探索性的新功能測試上。\

團隊處理這種情況的另外一種方法是,確保開發人員更多地意識到他們需要交付的產品質量,並且教會他們更好地進行自我測試。是的,這可以做到,只要你真的需要去這麼做。

\

InfoQ:測試人員都吸收了哪些新的技術?這些技術又如何影響著測試職業?\

\

Montvelisky:我認為,如今對測試人員幫助最大的技術就是雲端計算以及線上建立測試環境來執行測試用例的能力。\

有一些團隊直接使用這項技術,在各自的AWS或Azure的環境中工作,但是也有一些團隊沒有直接使用雲端計算技術,而是通過一些使用了雲端計算技術的工具來從中受益。無論你是在討論自動化測試、負載測試還是一般測試管理,雲端計算和託管系統都讓測試人員的生活更加美好。\

Bhamare:除了Joel提到的雲端計算技術,我認為,其它技術例如擴增實境(Augmented Reality)、虛擬現實、可穿戴裝置和各種形式的移動端技術都是測試人員如今工作中使用的新潮技術。這些技術的性質,鞭策測試人員去想象產品的不同場景和不同元素(參照James Bach的Heuristic Test Strategy Model),來保證產品質量的評定有更廣的覆蓋率。雖然這聽起來非常有挑戰性,但是我認為這讓測試人員的工作更令人興奮,同時也給他們提供了成為新時代軟體開發的核心的機會。

\

InfoQ:測試人員需要了解的新的或者即將成為主流的技能有那些?他們如何掌握這些技能?\

\

Bhamare:除了更多的技術和科學意識,我不認為測試人員需要了解任何更多的技能。他們只不過是需要在不同的環境下來施展他們已有的技能。為了更高效地施展他們的技能,測試人員必須瞭解他們的角色在如何變化,以及如何在不同的環境中施展他們的聰明才智。這才是測試人員自身必須掌握的核心技能。\

為了掌握這一核心技能,我建議多做測試實踐(更偏向探索性的測試)、從實驗和觀察中學習、保持開放性思維並持續學習。Fiona Charles在InfoQ最近對她的採訪testing challeges and essential skills for testers中非常漂亮的闡述了這一點。如果有人對這點感興趣,我建議他們去看看這篇採訪。\

Montvelisky:調查顯示,對測試人員來說最重要的技能,仍然是“過去的那些技能”,例如交流能力、功能測試、web技術等等。但是我們也可以看到越來越多的人掌握新技術例如雲端測試、物聯網測試(IOT testing)以及大資料測試。\

我堅信新技術會在將來不斷變得更加重要。

\

關於採訪嘉賓

\

ea13b925b177403462537bf96a782baa.jpgLalitkumar Bhamare目前在XING AG任職高階軟體測試工程師。他是著名的測試雜誌“Tea-time with Testers”的主編和合夥人、www.tvfortesters.com的創辦人以及Techno-talks with Lalit的主持人。在測試工作之餘,Lalit會作為AST的BBST基礎課程的策劃負責人來教授軟體測試知識,並且經常在James Bach的RSTA線上課程上進行協助。他偶爾還會出席大會演講和參與公共研討會。

\

0d02f9e4c0bfd359e0c3aae6c56271d9.jpgJoel Montvelisky是PractiTest的首席方案架構師和QA經理。過去20年中,他曾在以色列和美國的一些公司任職QA經理、諮詢師和培訓師。你也可以在http://qablog.practitest.com/以及一些他在PractiTest舉辦的圍繞測試相關話題的線上研討會(https://www.practitest.com/qa-learningcenter/#webinars)上了解他的想法。

\

檢視英文原文: 2017 State of Testing Report

\\\\

感謝張衛濱對本文的審校。

\\

給InfoQ中文站投稿或者參與內容翻譯工作,請郵件至editors@cn.infoq.com。也歡迎大家通過新浪微博(@InfoQ@丁曉昀),微信(微訊號:InfoQChina)關注我們。

相關文章