1. 程式人生 > >[面試題-第一期]中高階測試工程師必備,月薪15K+

[面試題-第一期]中高階測試工程師必備,月薪15K+

據說下面的題目,是鑑別薪資超過15K的同學是否達到要求的關鍵點之一...

1、你的測試職業發展是什麼?
測試經驗越多,測試能力越高。所以我的職業發展是需要時間積累的,一步步向著高階測試工程師奔去。而且我也有初步的職業規劃,前3年積累測試經驗,按如何做好測試工程師的要點去要求自己,不斷更新自己改正自己,做好測試任務。

2、你認為測試人員需要具備哪些素質
做測試應該要有一定的協調能力,因為測試人員經常要與開發接觸處理一些問題,如果處理不好的話會引起一些衝突,這樣的話工作上就會不好做。還有測試人員要有一定的耐心,有的時候做測試很枯燥乏味。除了耐心,測試人員不能放過每一個可能的錯誤。

3、你為什麼能夠做測試這一行


雖然我的測試技術還不是很成熟,但是我覺得我還是可以勝任軟體測試這個工作的,因為做軟體測試不僅是要求技術好,還有有一定的溝通能力,耐心、細心等外在因素。綜合起來看我認為我是勝任這個工作的。

4、測試的目的是什麼?
測試的目的是找出軟體產品中的錯誤,使軟體儘可能的符合使用者的要求。當然軟體測試是不可能找出全部錯誤的。

5、測試分為哪幾個階段?
一般來說分為5個階段:單元測試、整合測試、確認測試、系統測試、驗收測試

6、單元測試的測試物件、目的、測試依據、測試方法?
測試物件是模組內部的程式錯誤,目的是消除區域性模組邏輯和功能上的錯誤和缺陷。測試依據是模組的詳細設計,測試方法是採用白盒測試。

7、怎樣看待加班問題
加班的話我沒有太多意見,但是我還是覺得如果能夠合理安排時間的話,不會有太多時候加班的。

8、結合你以前的學習和工作經驗,你認為如何做好測試。
根據我以前的工作和學習經驗,我認為做好工作首先要有一個良好的溝通,只有溝通無障礙了,才會有好的協作,才會有更好的效率,再一個就是技術一定要過關,做測試要有足夠的耐心,和一個良好的工作習慣,不懂的就要問,實時與同事溝通這樣的話才能做好測試工作。

9、你為什麼選擇軟體測試行業
因為之前瞭解軟體測試這個行業,覺得他的發展前景很好。

10、根據你以前的工作或學習經驗描述一下軟體開發、測試過程,由哪些角色負責,你做什麼
要有架構師、開發經理、測試經理、程式設計師、測試員。我在裡面主要是負責所分到的模組執行測試用例。

11、根據你的經驗說說你對軟體測試/質量保證的理解
軟體質量保證與測試是根據軟體開發階段的規格說明和程式的內部結構而精心設計的一批測試用例(即輸入資料和預期的輸出結果),並根據這些測試用例去執行程式,以發現錯誤的過程。它是對應用程式的各個方面進行測試以檢查其功能、語言有效性及其外觀排布。

12、軟體測試的流程是什麼?
需求調查:全面瞭解系統概況、應用領域、軟體開發週期、軟體開發環境、開發組織、時間安排、功能需求、效能需求、質量需求及測試要求等。根據系統概況進行專案所需的人員、時間和工作量估計以及專案報價,制定初步的專案計劃。
測試準備:組織測試團隊、培訓、建立測試和管理環境等。
測試設計:按照測試要求進行每個測試項的測試設計,包括測試用例的設計和測試指令碼的開發等。
測試實施:按照測試計劃實施測試。
測試評估:根據測試的結果,出具測試評估報告。

13、你對SQA的職責和工作活動(如軟體度量)的理解?
SQA就是獨立於軟體開發的專案組,通過對軟體開發過程的監控,來保證軟體的開發流程按照指定的CMM規程(如果有相應的CMM規程),對於不符合項及時提出建議和改進方案,必要時可以向高層經理彙報以求問題的解決。通過這樣的途徑來預防缺陷的引入,從而減少後期軟體的維護成本。SQA主要的工作活動包括制定SQA工作計劃,參與階段產物的評審,進行過程質量、功能配置及物理配置的審計等;對專案開發過程中產生的資料進行度量等等。

14、說說你對軟體配置管理的理解
專案在開發過程中要用相應的配置管理工具對配置項(包括各個階段的產物)進行變更控制,配置管理的使用取決於專案規模和複雜性及風險的水平。軟體的規模越大,配置管理就越顯得重要。還有在配置管理中,有一個很重要的概念,那就是基線,是在一定階段各個配置項的組合,一個基線就提供了一個正式的標準,隨後的工作便基於此標準,並只有經過授權後才能變更這個標準。配置管理工具主要有CC,VSS,CVS,SVN等,我只用過SVN,對其他的工具不是很熟悉。

15、怎樣寫測試計劃和測試用例
簡單點,測試計劃裡應有詳細的測試策略和測試方法,合理詳盡的資源安排等,至於測試用例,那是依賴於需求(包括功能與非功能需求)是否細化到功能點,是否可測試等。

16、說說主流的軟體工程思想(如CMM、CMMI、RUP,XP,PSP,TSP等)的大致情況及對他們的理解
CMM:SW Capability Maturity Model軟體能力成熟度模型,其作用是軟體過程的改進、評估及軟體能力的評鑑。
CMMI:Capability Maturity Model Integration能力成熟度模型整合 CMMI融入了大部分最新的軟體管理實踐,同時彌補了SW-CMM模型中的缺陷。
RUP:rational unified process是軟體工程話過程。
XP:extreme program,即極限程式設計的意思,適用於小型團隊的軟體開發,像上面第三個問題就可以結合原型法採用這樣的開發流程。要明白測試對於xp開發的重要性,強調測試(重點是單元測試)先行的理念。程式設計可以明顯提高程式碼的質量,持續整合對於快速定位問題有好處。
PSP,TSP分別是個體軟體過程和群體軟體過程。大家都知道,CMM只是告訴你做什麼但並沒有告訴你如何做,所以PSP/TSP就是告訴你企業在實施CMM的過程中如何做,PSP強調建立個人技能(如何制定計劃、控制質量及如何與其他人相互協作等等)。而TSP著重於生產並交付高質量的軟體產品(如何有效的規劃和管理所面臨的專案開發任務等等)。總之,實施CMM,永遠不能真正做到能力成熟度的提升,只有將實施CMM與實施PSP和TSP有機結合起來,才能發揮最大的效力。因此,軟體過程框架應該是CMM/PSP/TSP的有機整合。

17、你是怎樣保證軟體質量的,也就是說你覺得怎樣才能最大限度的保證軟體的質量?
測試並不能夠最大限度的保證軟體的質量,軟體的高質量是開發和設計出來的,而不是測試出來的,它不僅要通過對軟體開發流程的監控,使得軟體開發的各個階段都要按照指定的規程進行,通過對各個階段產物的評審,QA對流程的監控,對功能及配置的審計來達到開發的最優化。當然測試也是保證軟體質量的一個重要方式,是軟體質量保證工程的一個重要組成部分。

18、基於目前中國的國情,大多數公司的專案進度緊張、人員較少、需求文件根本沒有或者很不規範,你認為在這種情況下怎樣保證軟體的質量?(大多數公司最想知道的就是在這種困難面前你該怎麼保證軟體的質量,因為這些公司一般就是這種情況--既不想投入過多又想保證質量)
出現以上的情況,如果僅僅想通過測試來提高軟體質量,那幾乎是不可能的,原因是沒有足夠的時間讓你去測試,少而不規範的文件導致測試需求無法細化到足夠且有針對行的測試。所以,作為公司質量保證的因該和專案經理確定符合專案本身是和的軟體生命週期模型(比如RUP的建材,原型法),明確專案的開發流程並督促專案組按照此流程開展工作,所有專案組成員(專案經理更加重要)都要制定出合理的工作計劃,加強程式碼的單元測試,在客戶既定的產品交付日期範圍內,進行產品的持續整合等等,如果時間允許可以再配合客戶進行必要的系統功能測試。

19、一個測試工程師應該具備哪些素質和技能?
1>掌握基本的測試基礎理論
2>本著找出軟體存在的問題的態度進行測試,不要以挑刺的形象出現
3>可熟練閱讀需求規格說明書等文件
4>以使用者的觀點看問題
5>有強烈的質量意識
6>細心和責任心
7>良好的有效的溝通方式(與開發人員及客戶)
8>具有以往的測試經驗能夠及時準確的判斷出高危險區在何處

20、做好軟體測試的一些關鍵點
1>測試人員必須經過測試基礎知識和理論的相關培訓
2>測試人員必須熟悉系統功能和業務
3>測試要有計劃,而且測試方案要和整個專案計劃協調好
4>必須實現編寫測試用例,測試執行階段必須根據測試用例進行
5>易用性,功能,分支,邊界,效能等功能行和非功能性需求都要進行測試
6>對於複雜的流程一定要進行流程分支,組合條件分析,再進行等價類劃分準備相關測試資料
7>測試設計的一個重要內容是要準備好具體的測試資料,清楚這個測試資料是測試那個場景或分支的。
8>個人任務平均每三個測試用例至少應該發現一個BUG,否則只能說明測試用例質量不好
9>除了每天構建的重複測試可以考慮測試自動化外,其他暫時都不要考慮去自動話