測試還是國外的吃香?揭秘海外測試開發工程師的日常工作生活!

博為峰網校發表於2019-07-03

走進海外測試開發工程師的生活!測試開發、自動化、測試流程等!

1、能不能介紹一下國外的工作模式和方法 國外測試的關注是在哪方面?

我不清楚國內的工作模式,但我覺得類似。

對於工作流程來說:

每天都會有scurm meeting(我們組是下午meeting,別的公司是在上午),簡單講自己的工作程式,有沒有地方不會做,或是遇到問題需要幫助,有些時候會嘮嗑。

每週五有mini demo,就是給老闆和老闆的老闆展示工作程式,然後得到這些大佬的反饋。

每月都有sprint demo,就是給老闆和老闆的老闆展示工作程式,然後之後釋出。

對於測試人員來說:

月初的工作,將上個月的自動化程式碼完成(或是其他tech debt沒做完的做完)。

月中的工作,寫測試計劃,案例,步驟和測試環境的部署和資料的準備,然後進行手工測試

月末的工作,主要就是自動化測試案例,並且將自動化程式碼加入CI 和 CD中。

對於國外關注的是什麼的問題,我覺得國外小公司和國內小公司一樣,大公司和大公司一樣,基本沒啥區別:

小公司基本上對於測試要求很不嚴格,自測,或是tech lead測,開發人員自己寫自動化測試。

大公司對測試要求極其嚴格,(由於產品和業務非常值錢),所以不僅要開發人員自測,寫unit test,還要有測試人員對產品進行各種測試regression test, performance test 以及 intergration test等等,以及自動化測試。

國外對於測試是非常注重的,只要測試不透過,事情再緊急也不能釋出。

測試還是國外的吃香?揭秘海外測試開發工程師的日常工作生活!

2、請問“測試知識庫”的建立指的是公司內部學習知識網嗎?

沒有錯,測試知識庫是一個系統的,可參考,可規範的測試知識庫和標準,包含但不限於以下內容:

測試分類/名詞解釋

bug分級/分類

手動化測試流程 自動化測試流程

開bug的方法,應該給誰解決

如何寫測試計劃/測試案例/測試流程

標準化的測試流程

測試框架的使用方法

測試工具的使用方法

一些有用的測試連結等

3、什麼樣的自動化測試框架才能最大限度的減少指令碼的維護?

這個問題我不太清楚想問的是自制一個測試框架,然後使用的時候指令碼不用頻繁的更新,還是使用一個測試框架,然後讓自己的自動化測試指令碼儘可能少的維護。

如果你問的是自制測試框架:

如果是高素質的測試開發團隊,完全可以自制測試框架;

如果不是高素質的,最好是用現有的開源測試框架;

當然了,最保險的方式就是對當前最成熟的框架進行深度的定製化;

如果你問的是測試指令碼,這個問題將會很複雜一發而動全身,因為頻繁修改測試指令碼意味著開發流程和規範可能有問題,管理不當,測試人員水平不高。

全體人員:必須要達成共識,交流通暢且有效

開發人員:必須要對開發語言進行規範化,不能亂起名,比如說class 和 ID 就最好是不要頻繁的更改,不要給variable和method亂起名,使用swagger這樣的描述性語言

測試人員:測試程式碼一定要可配置,可自定義,可讀,無hard code

管理人員:一定要促使工作人員合作和交流

4、如何能讓組內的工作效率得到明顯的提升,有哪些具體的措施和方法呢?

根據當代女性哲學家Marth Nussbaum的Creating Capabilities的理論:整體的生產力是由個人的生產力的整合,而提高整體生產力的方式是提高個人能力。

我相信這句話已經告訴你答案~

5、想請教下,個人的成長達到一個瓶頸了,不知道怎麼突破怎麼辦?我是自學的,目前除了開發經驗,測試基本,工具之類的還是理解了很多,想請您給我一些指引。

個人瓶頸的發生時基本上就是機遇和能力其中之一不足導致的。

當你覺得你學的足夠多的時候,卻受限於瓶頸的時候,往往就是自我感覺良好,但是技術不足的時候;就像我,我不會覺得我的知識有多麼豐富,技術有多好,反而知識越學越多,邊覺得不懂的就越多吧。

我看你問題中說了,你自學了一些東西,估計很說你學的知識體系化和結構化,知識還是那些知識,但是沒有被你內化。如果我是你,我會進行系統化的學習,我相信會有一些成果。

(有了技術,但是沒有機會展現也覺得像是遇到的瓶頸,這就需要伯樂來發掘你,讓你的能量能夠得以釋放。)期待你的進步!

6、自動化測試用的是哪些測試工具?

常規UI 測試主要是Selenium

框架的UI測試主要是取決於前端框架

介面測試會用自制的介面測試框架

以上是自動化測試的基礎

等等……

7、UI WEB測試真的是個高投入低產出嗎,值不值得做?

是的,因為前端頁面改變太快了;有多餘測試力量就值得做,沒有的話就算了。

8、設計和架構網站效能檢測、監控和報警平臺,如何做的?

檢測部分:將網站載入和渲染速度(包括點選按鈕)和網路情況(資料很像Chrome的Performances)

監控部分:使用時皮膚的框架,用來展示資料的;每次merge to master branch的時候,進行全方位的測試統計,更新資料並展示

報警部分:資料spike時,自動傳送slack和Email

9、可以根據swagger自動化生成自動化介面測試的框架(Rest Test Code Generator),如何操作?

Swagger 本身就是一個非常規範的JSON,包括了所有可Rest call的option,即測試方法都已經在上面了;並且Rest call返回的格式也寫好了,即測試結果也在上面。

基於以上完美的測試方法和測試結果,一個完美的自動化介面測試框架就形成了。

10、關於最佳化測試流程,能舉幾個簡單的案例嘛 測試流程的瓶頸在哪 如何最佳化 最佳化後的效果又是什麼樣的?

關於最佳化細節:

最佳化的都是本組的測試流程的小細節,比如說程式設計師要參與測試計劃的制定等等,太多太雜很難講清楚。

關於瓶頸:

測試流程的瓶頸就是團隊內的個人能力和團隊間的合作能力,如果兩者都很強,那麼什麼測試流程都不需要。

而最佳化測試流程的瓶頸就是你在團隊中影響力和能力,沒能力沒影響力,你最佳化不了流程的。

關於如何最佳化:

著重於最耗時的地方進行最佳化,這個最耗時的地方,是可以透過技術最佳化手段省時,或是透過使用技術最佳化效果大於改變人的習慣的效果(透過流程修改或是培訓),那麼就使用技術手段(比如說寫自動化程式、框架、工具、平臺)。

這個最耗時的地方,只能透過改變人的習慣(透過流程修改或是培訓)才能節省時間,那麼就修改流程(比如說最佳化流程,創造流程)。

11、網際網路小公司應該如何規範軟體測試流程,才能應付頻繁的迭代?

首先不推薦TDD或是其他複雜的開發或測試流程,因為小公司往往不足以支撐。

你們團隊的人員組成是什麼測試的現狀:

是開發者同時負責測試,還是有一兩個測試人員;

是你們能不能實現一定條件的測試自動化,還是隻能完成手動測試;

建議使用TPDD;

大概的核心思想為:由開發人員與測試人員緊密合作以及管理人員的參與下,在開發週期的初期迅速的製作測試計劃,然後測試人員和開發人員同時進行測試和開發的工作。

他適用的物件為:

不喜歡怎麼 TDD 開發模式的開發者,和相關的團隊和企業;

沒有嚴格要求按照 TDD,然而對外聲稱使用 TDD 開發模式的開發者,和相關團隊和企業;

執行了 TDD 這種開發模式,然而質量沒有明顯的提高的團隊和企業;

使用 TDD 導致開發效率降低的團隊和企業;

開發者不喜歡 TDD 這種開發模式,嫌麻煩,但是還想要保證程式碼質量的團隊或企業;

開發者沒有足夠的能力進行 TDD 的團隊和企業;

產品的截止日期很緊張的企業 (你們適合使用TPDD);

初創團隊和企業;

正在上升期的團隊和企業;

還沒有應用 TDD 這種開發模式,但是準備使用 TDD 的團隊或企業;

12、本人做軟體開發2年了,現在突然想轉測試行業,測試行業,特別測試開發近年來很火爆,本人喜歡玩遊戲,想往遊戲測試發展,想請問下游戲行業中是如何進行功能測試的,跟普通軟體業也是基本類似嗎?

問題2是如何開展效能測試,聽說能用LR,那使用什麼協議,指令碼是錄製的還是編寫的,一般的效能指標是什麼?

支援轉業,也支援你的夢想。

遊戲測試問題回答:遊戲由於他的獨特性,測試的重點也跟其他測試略有不同,但是有些是一樣的:

Unit Test還是會有的,舉一個Unity的例子,C#和JS都需要單元測試;

手動測試,遊戲初期有你想象不到多的低階或是高階錯誤,比你現在玩的遊戲的bug多得多,非常無趣;

單一手動測試,讓你不斷的點選測試,看看會出什麼問題,看看有什麼遊戲邏輯是不是對的;

自動化測試,一般情況遊戲都有自己的測試框架,自動化操作;

平衡測試,這個就是最最特殊的測試,要記錄很多資料,牽扯到很多統計學的東西;

AB測試,實際的產品釋出前的測試;

劇本對照,就是有些大型的RPG有對話,需要檢查;

內測、公測需要對這些使用者上傳的反饋,進行篩選並且總結給開發人員,讓他們進行修改(自動反饋和手動反饋),暫時想不到別的了。

效能測試問題回答:

LR主要是錄製的測試,模擬的Rest call(HTTP),主要是併發性的測試,伺服器是否可以handle,網站的效能測試就是渲染速度和效率,介面的速度。

PS:遊戲測試並不是你所想的玩玩遊戲就可以了,可能會讓你玩遊戲玩到“吐”,轉行需謹慎

13、我在公司裡面使用jmeter工具進行自動化介面測試,偶爾結合swagger進行配合(還在研究,不是很懂),有這次專案比較緊急,又是異地開發,感覺與開發溝通成本挺大的,想知道如何解決這樣的困境。技術上,jmeter的自動化測試指令碼在專案的不同模組的複用性不是很高,也在很努力的想做成通用性的指令碼,同時會擔心使用jmeter會不會讓自己的測試的技術下降(也許可能是自己對核心的思想不太瞭解),本人現只會java和C,求老師給點建議。

溝通問題:

最好的方式就是嘗試與他做朋友,多聊一些別的,這樣的話他說不定會願意多於你交流和溝通;

最巧的方式是多用話術,用最少的話表達最多的意思,引導他多說一些細節;

最穩當的方式是多看他寫的程式碼,瞭解他的想法和邏輯,多看一下他寫的文件或是需求文件,然後多多看書學習知識。

使用工具的問題:

使用工具的熟練度不就是測試的技術嘛。

未來提升的問題:

根據你說的你近期在處理大資料的東西,那麼就可以多瞭解一下大資料的知識,瞭解和學習更加深層次的知識,比如說Jmeter的核心原理,大資料的核心原理,這樣的話,測試更加得心應手。另外,可以學習一些python的東西。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2649456/,如需轉載,請註明出處,否則將追究法律責任。

相關文章