軟件測試工程師經典面試題
1、軟件測試的流程是什么?
分析:每當HR問一個問題的時候我們都可以用1~2s的時間去想HR想要從這個問題中獲取什么信息,這點搞清楚之后再去回答就很好回答了。如果有工作經驗,直接按照公司流程回答即可,如果是剛轉行或者剛實習,那按標準回答即可,文中回答僅供參考;
回答: 項目經理或者PD把項目需求文檔提前下發給相關的研發人員,研發人員抽出一定的時間記錄文檔內需求不明確或者遺漏的點為后面的評審做準備;在需求評審會議上,各研發人員提出自己的疑問并解決,需求評審最終通過之后會出一份最終的需求規格說明書;(需求評審階段)
需求規格說明書評審通過后,開發經理開始編寫開發計劃,測試經理開始編寫測試計劃,計劃評審通過后開發人員開始進行程序的開發,測試人員開始測試用例的編寫,等程序的第一個版本出來后,開發人員進行第二個版本的迭代,這時測試人員對程序進行測試并記錄追蹤管理缺陷,直到程序迭代完畢。(產品研發階段)
程序迭代完畢并修復大部分缺陷后,測試人員開始進行工作的總結,并最終輸出一份測試報告書,記錄此次的測試工作共,程序存在的相關問題。(產品發布階段)
2、測試用例主要有哪些元素?
分析:每個公司因為使用的模板不一樣,所以測試用例的內容也是不盡相同的,所以回答時只需要回答出基本的元素即可;
回答: 測試用例主要元素有:ID、標題、模塊、預置條件、操作步驟、預期結果、實際結果、是否通過、BugID等;
3、軟件測試有什么策略和階段?
分析:軟件測試的策略就是測試將按照什么樣的思路和方式進行如采用什么技術,什么步驟等。
回答 :軟件測試的策略主要有:動態測試和靜態測試、白盒測試和黑盒測試。測試階段按照研發順序分別是:單元測試、集成測試、系統測試,有些公司還會有驗收測試;(單元測試開發在調試代碼時就完成,集成測試也是,但是有時測試人員也需要進行集成測試;測試人員平時主要的工作就是系統測試,驗收測試是有客戶參與進行的測試);
4、黑盒測試和白盒測試是什么?二者有什么區別?
分析:黑盒測試和白盒測試的概念百度百科上面都有,這里不再做太多介紹。黑盒測試和白盒測試的區別:https://www.cnblogs.com/i16i1007/p/6624072.html記得
回答: 黑盒測試主要是在程序界面進行測試,通過設定某種場景檢驗程序在這種場景下是否給出了正確的反應,驗證程序正確實現了需求規格說明書中的需求,而白盒測試主要是針對程序內部結構,對程序代碼進行代碼走查等,但是白盒測試的成本會比較大,當程序有多個路徑時,可能會產生較多的遺漏;
5、軟件測試有什么類型?
回答: 常見的軟件測試類型有:功能測試、性能測試、兼容性測試、可靠性測試、安全性測試、壓力測試、負載測試等;
6、測試用例是什么?有什么作用?
回答:測試用例就是設計一個特定場景,讓軟件在這種場景下運行,檢驗程序是否給出正確的反應,以此驗證軟件是否正確實現了客戶需求。
作用:1、避免盲目測試并提高測試效率;在軟件版本更新之后只需修正少部分用例即可開展測試工作,降低工作強度,縮短測試周期;
2、可以分清哪些是測試重點,測試用例是測試工作的見證,能知道測試了哪些功能,沒測哪些模塊;
3、測試用例是量化測試工作的方法之一;
7、你平時是怎么設計測試用例的?
分析:這個問題的點主要考察是否掌握測試用例設計方法,在回答之后,HR可能會繼續追問某種設計方法的概念或者實例,這時舉例說明即可;如:等價類劃分法就是把程序的輸入域劃分成等價類,從每個部分中選取少數代表性數據當做測試數據。
回答:設計測試用例一般都會使用到等價類、邊界值、場景/流程法、因果圖還有錯誤推測法;
8、軟件缺陷的定義是什么?
分析:什么樣的問題才是一個缺陷,需要從客戶需求出發;
回答:1、軟件未實現需求規格說明書中的要求;
2、出現需求規格說明書中指明不應該出現的錯誤;
3、軟件未實現需求文檔中雖未明確提及但應該實現的功能;(如:賬密加密)
4、軟件出現難以理解、不易使用或者運行速度慢等問題都可以認為是軟件缺陷;
9、缺陷中應該包含什么元素?嚴重等級一般有哪些?
分析:這個問題和上面測試用例一樣,每個公司的要求可能都會不一樣;
回答:主要元素有:標題、BugID、復現步驟、實際結果、預期結果、截圖、日志等;軟件缺陷等級一般有四種,致命(程序奔潰)、嚴重(金額計算錯誤、數據出錯)、一般(不影響使用但是會造成一定的麻煩)、優化(字體字號不統一)
10、給你一個杯子,你會怎么測試?
分析:給你一個杯子,給你一個電梯,這種問題在前期的面試中是經常遇到也是非常經典的一道面試題,這里給出一個鏈接,回答時從外觀、功能、性能等各個角度說起,再結合自己的一些話就可以了。
回答:經典測試用例,一個水杯的測試【https://blog.csdn.net/ganhongxia/article/details/6025416】
11、測試報告里面包含什么內容?
分析:測試報告,是測試工作結束后測試部門輸出的一份測試結果,但每個公司的測試報告內容都會有些差別。有些公司的測試報告是有測試部門的負責人一人編寫,或者是由每個測試工程師輸出自己對應模塊的測試報告再由測試組長整合成一份完整的測試報告;
回答:測試報告內容一般有:編寫目的、系統簡介、測試環境、測試方法和工具、測試執行結果與記錄、缺陷匯總、遺留缺陷跟蹤、測試用例執行情況、測試結論與建議等;
12、如果在測試過程中發現了BUG,可是開發不承認這是Bug,你會怎么辦?
分析:HR問這個問題主要還是想知道你平時是如何處理與同事之間的關系。開發和測試是兩個即對立又統一的兩個崗位,所以開發和測試之間關系的處理也是HR面試過程中需要考慮的一個點。當然,HR問這個問題也表名該公司有氛圍不是很好的風險。
回答:首先還是應該回歸到客戶需求上面,確認這個問題到底屬不屬于一個缺陷,如果確實是則要和開發同事解釋清楚;如果開發還是堅持自己想法的話,則詢問同事或者測試組長的意見,討論這個問題到底屬不屬于缺陷問題,如果大家都覺得是則需要和開發解釋清楚。
13、你們公司的需求評審是怎么進行的?
分析:需求評審,就是對客戶需求,軟件各個模塊之間模糊的點進行審查,排除不理解或者沒有考慮到的點。
回答:需求評審,在一些分工比較明確的公司,都是由PD(產品設計師)負責,需求確認好后再下發到開發和測試部門;分工不怎么明確的公司可能就是開發測試產品等大家坐在一起共同探討;評審形式一般分為線上和線下兩種方式,負責人一般會提前把需求文檔下發到大家手上供大家整理各自的疑惑點,為后續的評審會議做準備。
14、MySQL的常用命令有哪些?
分析:數據庫知識,是測試工程師必備的一個基本技能,在面試過程中也是經常會遇到的一個考點。對于剛入行的測試,對數據庫知識的要求不會太高,只要求能掌握基本的增刪改查語句即可。關于數據庫的知識,在后續的時間里,也會慢慢的整理出來,供大家學習、參考。
回答:這里只給出幾個標準的語法結構:
增:insert into 表名(列名) values (數據);
如:在stu表中插入id為001,姓名為張三的學生,(insert into Stu(stu_id,stu_name) values (001,‘張三’);)
刪:delete from 表名 where 指定數據;
如:在stu表中刪除id為001,姓名為張三的學生:(detele from Stu where stu_id=‘001’ and stu_name = ‘張三’;)
改:update 表名 set 改變項 where 指定數據;
如:在stu表中修改id為001的學生姓名為“張三”:(update Stu set stu_name = ‘張三’ where stu_id=‘001’ ;)
查:select (查詢項) from 表名 where 指定條件;
如:在stu表中查詢id為001,姓名為“張三”的學生信息:(select * from Stu where stu_name = ‘張三’ and stu_id=‘001’ ;)
15、Linux下的一些常用命令是什么?
分析:Linux系統,也是軟件測試工程師必須要掌握的一項基本的技能,由于Linux具有運行穩定等很多優點,軟件的服務器大多部署在Linux系統上,搭建測試環境也是測試工程師需要掌握的。關于Linux的知識,在后續的時間里,也會慢慢的整理出來,供大家學習、參考。由于Linux下很多命令都是常用的,所以這里不給出答案。
16、你未來的職業規劃是什么?
分析:職業規劃問題,是所有面試中最常問的問題,問的人可能是HR、部門主管、經理、甚至是董事長。同一個問題,問的人不同,想要獲取的信息也肯定是不一樣的。HR更多的想看你在公司的穩定性;技術主管可能更想知道你是否真的喜歡測試這個崗位,后期是否會主動學習型新的技能等;而經理更多的是看你的職業規劃符不符合公司的發展方向;軟件測試工程師的發展方向主要有:測試開發、產品經理、測試轉開發、測試大牛、講師等崗位;
回答:HR:如果是HR問的話,多從穩定性的角度回答,如:家人、朋友都在公司附近,或者喜歡貴公司的文化氛圍等;
技術:回答之前可以先簡單介紹一下自己為什么選擇軟件測試這個職業,以及自己對這個職業的看法,最后再回答自己的職業發展方向即可;
經理or董事長:這個回答回答起來的話還是比較難把握的,因為在面試時,面試者往往對公司的發展方向不是非常了解,所以在回答時可以再帶一句,“具體的發展方向,還需要公司的發展方向去調整”。這樣回答就會保險一些。
17、還有什么想要問我的嗎?
分析:這個問題在每個面試的尾聲都會被問到,直接說沒有,會讓HR覺得你不關心這個崗位,問的多了又會顯得面試之前沒有做好充分的準備。所以問題一般控制在兩到三個比較好。
回答:1、公司的研發團隊目前是什么規模?開發、測試分別有多少人?
2、公司的業務方向是什么?
3、如果我入職之后,我的工作職責是什么?
18、為什么想要離職?
分析:這個問題主要是想要了解你的近況,以及上一家公司是什么原因導致你離職,。在大部分情況下,HR都會理解你,但是在回答問題時千萬不能太過于實誠,有些面試者一上來就在抱怨上一家公司如何壓榨公司員工等,沒有一家公司愿意接受這樣的面試者,HR并不能完全感受你所遭遇到的,所以還是請控制好自己的負面情緒。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。