看你要怎樣的測試工程師摟,小弟不才,混過兩家公司的測試工程師, (同樣UC系列學校畢業 EECS Master) 弄一弄感覺和自己原本想作的程式設計師差很多Q_____Q Civil Engineering的程式比較多是matlab, mathmaticxxx,大多是拿別人寫好的東西去 堆出另外種東西(就我看到的)。 但是要去測試很少會叫你測試matlab一類的程式或成品。 測試工程
看你要怎樣的測試工程師摟,小弟不才,混過兩家公司的測試工程師,
(同樣UC系列學校畢業 EECS Master)
弄一弄感覺和自己原本想作的程式設計師差很多Q_____Q
Civil Engineering的程式比較多是matlab, mathmaticxxx,大多是拿別人寫好的東西去
堆出另外種東西(就我看到的)。
但是要去測試很少會叫你測試matlab一類的程式或成品。
測試工程師有分硬體、韌體、軟體、雜七雜八,不太能一概論之。
我有做過硬碟和固態硬碟的測試,這種常常是放在特別的機械上面,例如搖動的阿、冷凍的阿、加溫的阿、或是拆解放到不同電腦或筆電或裝置中用軟體或是Script測試。
(所以你可能要懂點電腦基本的指令,包括Windows/Dos/Mac/Linux...,進階
知識可能一律得再學,像是加溫固態硬碟會老化,硬碟磁力運作等等學校不會教)
然后,跑得Script有問題時,你有時候要看著spec,然后比較輸入輸出,或是拿一些監視
電腦和硬碟間的通訊和訊號,然后分析該有什么但是少了什么,有時候又要判斷是不是寫Script的人寫錯程式。
(所以你要看的懂別人寫的程式和懂得去看一些可以學的起來的訊號處理和電腦通訊)
有時候發現不是軟體或是人為問題后,去比較檢查不同硬體,有時候要把細節的零件拿來檢查,找找看他的輸入輸出對不對,有沒有符合預想中的。
(所以要會些基本的電子元件檢查)
也有做一點硬體效能測試,也不是說跑軟體就好,發現效能有問題時,也要自己寫分析軟體,寫出來后丟進去看看到底抓不抓的出來這個問題,然后還要和韌體和硬體工程師討論(也要自己寫Script,不過重點是你要懂別人軟體跑什么)
軟體也有分很多種測試,有人是網站架構的、有人是一般使用者介面的、有人在Linux、ABC干是還有人在Dos或是自創的作業系統。也可以分手動測試和自動測試。
手動測試不用說啦,要有非常清楚的邏輯,不然你大概做到死。
(反正你想到你以前程式會寫錯的地方就要拿來測,還要分門別類測比較有效率)
自動測試的話嘛...
網站架構有Selenium IDE、Selenium Webdriver(Java/C#/Python...)、LoadUI、SoapUI
、TestNG、JUnit、Sikuli、AutoIt、...
(入門簡單,但是我看到程式底子不好的會搞出很多錯誤或檢查不,但可以訓練)
使用者介面有Sikuli、AutoIt、...
(程式基本功讓你學新程式快)
Linux/DOS下面有TCL/Expect、Python/PExpect、...
(老式的東西也要試著快速學會)
也可以像我在前公司一樣,用.bb和同事們弄出一套網頁可以送出request,然后網路自動開關電腦并且從網路下載適當的作業系統和軟體測試,送出結果,再重新開機在裝下一套作業系統和軟體,ABC后把所有結果分析后自動產生索引系統和報表給不同人,還提供不同比較和查詢。
更不要提到iphone和Android的軟體也各自有各自的自動化測試軟體但是可能你要嘛電腦相關背后知識豐富,不然遇到問題時很難想出解決方法。
舉例說,我家的系統是Linux,顯現在每個分散出去的系統,那妳沒辦法把每個螢幕的畫面串流給監控用的主機,但是又希望不用跑到每個螢幕去看,但是
安全問題又把ssh的X11關掉,只好用screenshot丟檔案出來后轉接收回主機驗證。
(我要說的是寫程式和使用經驗會嚴重影響測試效能)
雜七雜八的也有很多,像是系統整合的,常常要拼拼湊湊,各種奇怪的解決方法都要想,當然各種奇怪的測試方法也有。
除此以外,可能很多測試工程師需要管理能力,因為你要出測試方法符合所有軟體或硬體或韌體需求,要能夠依據你學的去測試和,如果有問題還要幫人debug,時間管理能力非常需要,再來有可能要管技術員幫忙跑東西。
不過是說,我覺得你問你的背景OK與否時,已經表示出你的沒目標性,因為背景OK與否,和你找的工作還有你真的可以做到什么程度有關。我這樣看下來,如果你要作測試工程師,可能找手動測試多的,然后有帶一點寫Script的比較好,因為你應該也不適合自動化設計。當然手動測試也很麻煩多多啦,可是至少肯學一定學的起來。
轉載自:批踢踢
相關甘苦談連結:
考驗細心的軟體測試工程師
抗壓性強的測試工程師
測試設備工程師的一天
測試工程師