對于剛剛轉行軟件測試的小夥伴,不管是自學上岸,還是培訓機構上岸的小夥伴們。
在面試過程中難免會磕磕碰碰,但是大家不要氣餒。
下面小慧為大家總結了20道常見的面試題,我們一起來看看吧。
1、你的測試職業發展是什麼?
我認為不管在哪一行,經驗越多,能力就會越強。所以我的職業發展是需要時間積累的,一步步向着高級測試工程師奔去。
而且我也有初步的職業規劃,前3年是在工作中不斷去積累測試經驗,,不斷更新自己改正自己,做好測試任務。
2、你認為測試人員需要具備哪些素質?
做測試應該要有一定的協調能力,因為測試人員經常要與開發接觸處理一些問題,如果處理不好的話會引起一些沖突,這樣會影響雙方的工作效率。
還有測試人員要有一定的耐心,并且要做到細心。有的時候做測試很枯燥乏味。除了耐心,測試人員還不能放過每一個可能的錯誤。
因此,耐心和細心是必須兼備的。
3、你為什麼能夠做測試這一行?
雖然我的測試技術跟有多年經驗的人比起來不成熟,但是我覺得我還是可以勝任軟件測試這個工作的。
因為做軟件測試不僅是要求技術好,還要有一定的溝通能力,耐心、細心等外在因素。綜合起來看我認為我是勝任這個工作的。
4、測試的目的是什麼?
測試的目的是找出軟件産品中的bug,使軟件盡可能的符合用戶的要求。當然軟件測試是不可能找出全部錯誤的,但是可以不斷改進。
5、測試分為哪幾個階段?
一般來說分為5個階段:單元測試、集成測試、确認測試、系統測試、驗收測試。
6、單元測試的測試對象、目的、測試依據、測試方法?
單元測試對象是模塊内部的程序錯誤,目的是消除局部模塊邏輯和功能上的錯誤和缺陷。測試依據是模塊的詳細設計,測試方法是采用白盒測試。
7、你怎樣看待加班問題?
加班的話我沒有太大意見,因為要按時上新産品。
但是如果能夠合理安排工作時間,配合部門工作,提高工作效率,争取提前完成任務。
8、結合你以前的學習和工作經驗,你認為如何做好測試。
我認為不管做什麼工作,首先要有一個良好的溝通,隻有團隊分為融洽,才會有更高的工作效率。
再一個就是技術一定要過關,除此之外還要有足夠的耐心,并且工作态度一定要端正,并且要細心,及時發現存在的漏洞。
9、你為什麼選擇軟件測試行業?
第一覺得互聯網企業有很大的發展空間,第二之前了解軟件測試這個行業,也覺得有很大的發展前景。
10、根據你以前的工作或學習經驗描述一下軟件開發、測試過程,由哪些角色負責,你做什麼?
要有架構師、開發經理、測試經理、程序員、測試員。我在裡面主要是負責所分到的模塊執行測試用例。
11、根據你的經驗說說你對軟件測試質量保證的理解
軟件質量保證與測試是根據軟件開發階段的規格說明和程序的内部結構而精心設計的一批測試用例(即輸入數據和預期的輸出結果)。
并根據這些測試用例去運行程序,以發現錯誤的過程。它是對應用程序的各個方面進行測試以檢查其功能、語言有效性及其外觀排布。
12、軟件測試的流程是什麼?
需求調查:全面了解系統概況、應用領域、軟件開發周期、軟件開發環境、開發組織、時間安排、功能需求、性能需求、質量需求及測試要求等。
根據系統概況進行項目所需的人員、時間和工作量估計以及項目報價,從而制定初步的項目計劃。
測試準備:組織測試團隊、培訓、建立測試和管理環境等。
測試設計:按照測試要求進行每個測試項的測試設計,包括測試用例的設計和測試腳本的開發等。
測試實施:按照測試計劃實施測試。
測試評估:根據測試的結果,出具測試評估報告。
13、你對SQA的職責和工作活動(如軟件度量)的理解?
SQA就是獨立于軟件開發的項目組,通過對軟件開發過程的監控,來保證軟件的開發流程。
按照指定的CMM規程(如果有相應的CMM規程),對于不符合項及時提出建議和改進方案,必要時可以向高層經理彙報以求問題的解決。
通過這樣的途徑來預防缺陷的引入,從而減少後期軟件的維護成本。
SQA主要的工作活動包括制定SQA工作計劃,參與階段産物的評審,進行過程質量、功能配置及物理配置的審計等;對項目開發過程中産生的數據進行度量等等。
14、說說你對軟件配置管理的理解。
項目在開發過程中要用相應的配置管理工具對配置項(包括各個階段的産物)進行變更控制,配置管理的使用取決于項目規模和複雜性及風險的水平。
軟件的規模越大,配置管理就越顯得重要。還有在配置管理中,有一個很重要的概念,那就是基線,是在一定階段各個配置項的組合,一個基線就提供了一個正式的标準,随後的工作便基于此标準,并隻有經過授權後才能變更這個标準。
管理工具主要有CC,VSS,CVS,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-除了每天構建的重複測試可以考慮測試自動化外,其他暫時都不要考慮去自動話。
最後,軟件測試面試題絕不僅僅隻有20道題這麼簡單,就像我們考駕照一樣,你準備了1000道題,可能隻考100道。
因此,大家千萬不要抱着僥幸的心理,任何時候技術都要排在第一,偷奸耍滑即使面試通過,工作中也會發現端倪。
如果大家想了解更多關于軟件測試的問題以及行業最新資訊,可以關注我哦(筆芯)
添加我領取最新學習資料
,