1. 程式人生 > >軟體測試這些年的變化及未來發展趨勢

軟體測試這些年的變化及未來發展趨勢

注:此文由Yoyo翻譯自QASymphony網站上的一篇文章。

總體觀點:軟體測試領域當前正處在一個急劇變化的節點!

我們訪問了12位在業界備受尊敬的、經驗豐富的測試領域專家,通過和他們的談話,我們總結出了軟體測試近些年的變化及未來的發展趨勢。

我們先來看軟體測試近些年的變化

影響軟體測試變化的因素來自內部和外部兩方面。

來自外部的因素有:

1. 軟體應用在日常生活中所佔的比重在快速提高。

調查顯示我們每人每天所使用的app應用數量在9個以上,再加上電腦web及其他應用方面的會更多。

2. 軟體使用者對軟體質量和體驗有了更高的要求。

來自TechBeacon公司的調研資料表明,49%的使用者期待app的響應時間在2S以內,80%的使用者在使用APP中碰到3次以上的問題就會放棄此APP的使用。

3. 使用者對軟體更新的頻率、及新軟體釋出的速度有了更高的期待。

Amazon每年釋出5000萬行程式碼,平均每秒一行的速度;同時敏捷及DevOps模式的應用幫助團隊將釋出頻率提升了30倍。

受這些外部壓力的驅使,測試團隊需要協助開發、運維等一起用更快的頻率釋出更高質量的軟體產品。這些因素也驅動了測試內部模式的變化。

來自內部的變化有:

1.  對測試人員技術要求的增高

當前市場上有1500款不同的軟體,支援整個軟體開發週期,從編譯到測試再到更後端。

測試軟體也越來越多,以支援越來越多的測試型別及不同的質量要求,這些工具軟體無疑對我們的測試工作提供了很大的幫助,掌握一些必備的工具軟體也變得必不可少。

2.  Agile(敏捷)和DevOps的普及對測試團隊帶來了根本的影響

它們改變了測試工程師什麼時候開始測試、如何測試以及與誰一起測試等工作模式。

來自VersionOne的調查發現,約有95%的公司採用了敏捷模式,約有74%的公司採用了DevOps模式,敏捷與DevOps的應用盡管已經比較普及,但仍會繼續增高,測試團隊必需學會如何適應這種模式。

3.  手工測試向自動化測試的轉移

自動化測試在很多測試過程中將是必備的,這就要求測試工程師去學習新的技能,同時也要學會如何平衡手工測試及自動化測試。

由於外部和內部的變化所驅,軟體測試領域當前正處在一個急劇變化的節點!

我們再來看下軟體測試的5個未來趨勢

1. 自動化是測試的未來

Automation is the future of testing!

隨著軟體釋出頻率的增高,你不可能有時間每次都能測到所有的功能,你需要自動化測試去覆蓋已有功能,然後自己手工去focus在新功能的驗證上。

同時專家指出,對自動化測試也不要存在偏見,自動化測試不是要取代手工測試,也不是所有的功能都適合自動化。

2. AI、機器學習、IOT這些未來技術也會對測試產生影響

專家指出,這些新技術的應用讓軟體變得更復雜,更具互動性,對測試提出了更高的挑戰,測試核心的理念不會變,但是測試工具、技術、流程等會由此發生改變。

3.  測試工程師必需學會適應這些變化並學習新技能

所有專家都指出:the need for testers to be open to change and get serious about learning new skills.

所有測試工程師都應該對趨勢關注,包括關注測試論壇或者其它團隊的測試趨勢。

害怕變化和使用新工具雖然是個很大的挑戰,但是測試工程師必需跟上這些趨勢來充實自己的知識和技能。

其中程式設計就是一項必備的技能:testers have to pick up coding skills或者深入理解他們測試的軟體是如何產生的。

4. 職位的區分變得越來越模糊

DevOps的應用讓職位之間的區分變得越來越模糊。

產品、開發、測試銜接的越來越緊密,區分也變得越來越模糊。

在這種情況下,測試工程師要學會用不同的語言與不同的角色進行溝通,面對產品經理講產品經理可以聽懂的話,面對開發講開發可以聽懂的話。

為了保證團隊能快速釋出出高質量的產品,識別出溝通中的瓶頸及理解的差異在DevOps就變得很重要,而在DevOps的世界裡,測試工程師可以被賦予完成這個使命。

5. 不要忘記最根本的測試技能

在軟體測試領域仍有很多經受住時間考驗的核心技能,比如擁抱變化,渴望學習(open to change, eager to learn),這對測試工程師是至關重要的,不管是在2017,2022還是2058年。

再比如好奇心,嘗試去懷疑、檢查、揭示你所測試的軟體。

再比如溝通能力。

看到這篇文章的時候我就非常想把它分享給測試同行!

國內的軟體技術發展要比國外相對滯後一些,但是這仍然會是國內測試發展的一個必然趨勢。

在當前的行業快速發展背景下,對測試工程師來說,不斷的學習是一個must,程式設計能力是一個must,自動化測試也是一個must!

但是對於零基礎的同學來說,自我學習是一個比較浪費時間和低效的學習方式,最好就是跟著一個有經驗的工程師進行系統的學習。

在這裡給大家推薦一個針對Web系統的自動化測試視訊教程:

不光學會了自動化,還掌握了基礎的java語言。

課程上線以來獲得了大家的一致好評!歡迎大家關注與學習!

****************************************************************************************************

*****************************************************************************************************