第一篇:軟件測試面試題一部分
軟件測試工程師筆試試題
14.您在從事性能測試工作時,是否使用過一些測試工具?如果有,請試述該工具的工作原理,并以一個具體的工作中的例子描述該工具是如何在實際工作中應用的。
15.您認為性能測試工作的目的是什么?做好性能測試工作的關鍵是什么?
16.在您以往的工作中,一條軟件缺陷(或者叫Bug)記錄都包含了哪些內容?如何提交高質量的軟件缺陷(Bug)記錄?
17.您以往所從事的軟件測試工作中,是否使用了一些工具來進行軟件缺陷(Bug)的管理?如果有,請結合該工具描述軟件缺陷(Bug)跟蹤管理的流程。
18.您以往是否曾經從事過單元測試和集成測試?如果有,請談一下這些工作的實際開展情況。
19.您如何看待軟件過程改進?在您曾經工作過的企業中,是否有一些需要改進的東西呢?您期望的理想的測試人員的工作環境是怎樣的?
20.您以往工作過的企業中,是否開展了軟件配臵管理工作?您能否描述一下這項工作的開展情況和您對這項工作的認識?
21.您是否熟悉一些主流的軟件工程方法論和思想,如RUP、CMM、CMMI、XP、PSP、TSP。如果熟悉,您是否可以談一下對這些方法論和思想的認識?
22.您認為在測試人員同開發人員的溝通過程中,如何提高溝通的效率和改善溝通的效果?維持測試人員同開發團隊中其他成員良好的人際關系的關鍵是什么?
23.在您以往的測試工作中,最讓您感到不滿意或者不堪回首的事情是什么?您是如何來對待這些事情的?
24.在即將完成這次筆試前,您是否愿意談一些自己在以往的學習和工作中獲得的工作經驗和心得體會?(可以包括軟件測試、過程改進、軟件開發或者與此無關的其他方面)
五、設計題(共15分)
對下面給出的程序控制圖,分別以各種不同的測試方法寫出最少的測試用例。
測試人員_考試試卷(考試時間100分鐘,滿分100分)
姓名:__________部門:__________員工號:__________
一、填空題:(每一空格2分,共60分)
1、軟件實施活動的輸出工件有、、、。
2、代碼評審主要做 工作。
3、軟件實施活動中集成員的職責是。
4、驗證與確認軟件實施活動主要有、代碼評審、、、、SQA 驗證。
5、表明測試已經結束。
6、軟件測試的目的是。
7、軟件測試主要分為、、、四類測試。
8、軟件測試活動有制定測試計劃、、、、、、測
試評估、測試結束八個步驟。
9、軟件測試活動的輸出工件有_、、、、。
10、軟件測試角色有、、、。
二、不定項選擇題:(每題3 分,共15分)
1、軟件實施活動的進入準則是()
A、需求工件已經被基線化
B、詳細設計工件已經被基線化
C、構架工件已經被基線化 D、項目階段成果已經被基線化
2、下面角色不屬于集成計劃評審的是()
A、配臵經理
B、項目經理
C、測試員
D、編碼員
3、軟件測試設計活動主要有()
A、工作量分析
B、確定并說明測試用例
C、確立并結構化測試過程
D、復審并評估測試覆蓋
4、不屬于集成測試步驟的是()
A、制定集成計劃
B、執行集成測試
C、記錄集成測試結果
D、回歸測試
5、屬于軟件測試活動的輸入工件的是()
A、軟件工作版本
B、可測試性報告
C、軟件需求工件
D、軟件項目計劃
三、問答題:(共25 分)
1、項目的集中管理在軟件公司的哪一個層面?(2 分)
2、請描述軟件測試活動的生命周期。(8 分)
3、什么是測試評估,測試評估的范圍是什么?(5 分)
4、闡述工作版本的定義。(2 分)、請畫出軟件測試活動的流程圖。(8 分)
測試人員考試試卷(考試時間90分鐘,滿分100分)
姓名:__________部門:__________員工號:__________
一、判斷題(每題2分,正確的“√”,錯誤的“╳”)、好的測試員不懈追求完美。()
2、測試程序僅僅按預期方式運行就行了。()
3、不存在質量很高但可靠性很差的產品。()
4、軟件測試員可以對產品說明書進行白盒測試。()
5、靜態白盒測試可以找出遺漏之處和問題。()
6、總是首先設計白盒測試用例。()
7、可以發布具有配臵缺陷的軟件產品。()
8、所有軟件必須進行某種程度的兼容性測試。()
9、所有軟件都有一個用戶界面,因此必須測試易用性。()
10、測試組負責軟件質量。()
二、簡答題
1、軟件的缺陷等級應如何劃分?(3 分)
2、如果能夠執行完美的黑盒測試,還需要進行白盒測試嗎?為什么?(3、你認為一個優秀的測試工程師應該具備哪些素質?(3 分)分)
4、產品測試到什么時候就算是足夠了?(2 分)
5、測試計劃的目的是什么?(2 分)
6、為什么要進行軟件測試?軟件測試的目的是什么?(5 分)
7、軟件測試應該劃分幾個階段?簡述各個階段應重點測試的點?各個階段的含義?(5 分)
8、如何做一名合格的測試人員?(3 分)
9、針對缺陷采取怎樣的管理措施?(5 分)
三、專業詞語解釋(每題2 分)
α測試: β測試: 驅動模塊: 樁模塊: 白盒測試:
靜態測試:
四、選擇題(每題2分)
1.下面哪些屬于動態分析()A. 代碼覆蓋率
B. 模塊功能檢查
C. 系統壓力測試
D. 程序數據流分析
2.下面哪些屬于靜態分析()A、代碼規則檢查
B、序結構分析
C、序復雜度分析
D、內存泄漏
五、設計題(10分)
在三角形計算中,要求三角型的三個邊長:A、B 和C。當三邊不可能構成三角形時提示錯誤,可構成三角
形時計算三角形周長。若是等腰三角形打印“等腰三角形”,若是等邊三角形,則提示“等邊三角形”。畫出程
序流程圖、控制流程圖、找出基本測試路徑 ,對此設計一個測試用例。
六、論述題
1、試敘述對一個軟件項目測試的全過程。(10 分)
2、簡述你對測試工作的認識過程、在以后的工作的一些建議。(6 分)、述靜態測試和動態測試的區別?(5 分)
測試人員_考試試卷(考試時間100分鐘,每題10 分,滿分100分)
姓名:__________部門:__________員工號:__________ 1. 什么是軟件測試,以及軟件測試的意義?
2. 什么是軟件測試靜態分析,軟件測試動態分析,3. 下面那些屬于靜態分析()
A、編碼規則檢查
B、程序結構分析
C、程序復雜度分析
D、內存泄漏
4. 下面那些屬于動態分析()A、代碼覆蓋率
B、模塊功能檢查
C、系統壓力測試
D、程序數據流分析
5. 從測試技術角度,正確的選擇是(),給出各自的含義?
A、靜態測試
B、黑盒測試
C、動態測試
D、白盒測試
6. 從測試階段角度,測試正確的順序是(),同時給出所選擇的正確策略含義和被測對象是什么?
A、單元測試
B、集成測試
C、系統測試
D、確認測試
7. 針對缺陷采取怎樣的管理措施?
8. 在測試生命周期,測試過程分為幾個階段,以及各個階段的含義?
9. 簡要寫出自己在理解的基礎質上所認為引入測試管理的意義
10. 在三角形計算中,要求三角型的三個邊長:A、B 和C。當三邊不可能構成三角形時提示錯誤,可構成三角形時計算三角形周長。若是等腰三角形打印“等腰三角形”,若是等邊三角形,則提示“等
邊三角形”。畫出程序流程圖、控制流程圖、計算圈復雜度V(g),找出基本測試路徑。1.軟件測試的目的是盡可能多的找出軟件的缺陷。(Y)
2.Beta 測試是驗收測試的一種。(Y)
3.驗收測試是由最終用戶來實施的。(N)
4.項目立項前測試人員不需要提交任何工件。(Y)
5.單元測試能發現約80%的軟件缺陷。(Y)
6.代碼評審是檢查源代碼是否達到模塊設計的要求。(N)
7.自底向上集成需要測試員編寫驅動程序。(Y)
8.負載測試是驗證要檢驗的系統的能力最高能達到什么程度。(N)
9.測試人員要堅持原則,缺陷未修復完堅決不予通過。(N)
10.代碼評審員一般由測試員擔任。(N)
11.我們可以人為的使得軟件不存在配臵問題。(N)
12.集成測試計劃在需求分析階段末提交。(N)
二、選折
1.軟件驗收測試的合格通過準則是:(ABCD)
A. 軟件需求分析說明書中定義的所有功能已全部實現,性能指標全部達到要求。
B. 所有測試項沒有殘余一級、二級和三級錯誤。
C. 立項審批表、需求分析文檔、設計文檔和編碼實現一致。
D. 驗收測試工件齊全。
2.軟件測試計劃評審會需要哪些人員參加?(ABCD)
A.項目經理
B.SQA 負責人 C.配臵負責人
D.測試組
3.下列關于alpha 測試的描述中正確的是:(AD)
A.alpha 測試需要用戶代表參加
B.alpha 測試不需要用戶代表參加
C.alpha 測試是系統測試的一種
D.alpha 測試是驗收測試的一種
4.測試設計員的職責有:(BC)
A.制定測試計劃
B.設計測試用例
C.設計測試過程、腳本
D.評估測試活動
5.軟件實施活動的進入準則是:(ABC)
A.需求工件已經被基線化
B.詳細設計工件已經被基線化
C.構架工件已經被基線化
D.項目階段成果已經被基線化
三、添空
1.軟件驗收測試包括:正式驗收測試,alpha測試,beta測試。
2.系統測試的策略有:功能測試,性能測試,可靠性測試,負載測試,易用性測試,強度測試,安全測試,配臵測試,安裝測試,卸載測試,文擋測試,故障恢復測試,界面測試,容量測試,兼容性測試,分布測試,可用性測試,(有的可以合在一起,分開寫只要寫出15就滿分哦)
3.設計系統測試計劃需要參考的項目文擋有:軟件測試計劃,軟件需求工件和迭代計劃。
4.對面向過程的系統采用的集成策略有:自頂向下,自底向上兩種。
5.(這題出的有問題哦,詳細的5步驟為~~)通過畫因果圖來寫測試用例的步驟為:
(1)分析軟件規格說明描述中,哪些是原因(即輸入條件或輸入條件的等價類),哪些是結果(即輸出條件),并給每個原因和結果賦予一個標識符。
(2)分析軟件規格說明描述中的語義,找出原因與結果之間,原因與原因之間對應的是什么關系? 根據這些關系,畫出因果圖。
(3)由于語法或環境限制,有些原因與原因之間,原因與結果之間的組合情況不可能出現。為表明這些特殊情況,在因果圖上用一些記號標明約束或限制條件。(4)把因果圖轉換成判定表。
(5)把判定表的每一列拿出來作為依據,設計測試用例。
四、簡答(資料是搜集整理的,感謝前輩的解題)無
1.區別階段評審的與同行評審
同行評審目的:發現小規模工作產品的錯誤,只要是找錯誤;階段評審目的:評審模塊 階段作品的正確性 可行性 及完整性
同行評審人數:3-7人 人員必須經過同行評審會議的培訓,由SQA指導
階段評審人數:5人左右 評審人必須是專家 具有系統評審資格
同行評審內容:內容小 一般文檔 < 40頁, 代碼 < 500行 階段評審內容: 內容多,主要看重點
同行評審時間:一小部分工作產品完成
階段評審時間: 通常是設臵在關鍵路徑的時間點上!2.什么是軟件測試
為了發現程序中的錯誤而執行程序的過程
3簡述集成測試的過程
系統集成測試主要包括以下過程:
1.構建的確認過程。
2.補丁的確認過程。
3.系統集成測試測試組提交過程。
4.測試用例設計過程。
5.測試代碼編寫過程。
6.Bug的報告過程。
7.每周/每兩周的構建過程。
8.點對點的測試過程。
9.組內培訓過程。怎么做好文檔測試
仔細閱讀,跟隨每個步驟,檢查每個圖形,嘗試每個示例。P142 檢查文檔的編寫是否滿足文檔編寫的目的內容是否齊全,正確
內容是否完善
標記是否正確 白盒測試有幾種方法
總體上分為靜態方法和動態方法兩大類。
靜態:關鍵功能是檢查軟件的表示和描述是否一致,沒有沖突或者沒有歧義
動態:語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋、路徑覆蓋。
6系統測試計劃是否需要同行審批,為什么
需要,系統測試計劃屬于項目階段性關鍵文檔,因此需要評審。
7Alpha測試與beta的區別
Alpha測試 在系統開發接近完成時對應用系統的測試;測試后仍然會有少量的設計變更。這種測試一般由最終用戶或其它人員完成,不能由程序或測試員完成。
Beta測試 當開發和測試根本完成時所做的測試,最終的錯誤和問題需要在最終發行前找到。這種測試一般由最終用戶或其它人員完成,不能由程序員或測試員完成。
8比較負載測試,容量測試和強度測試的區別
負載測試:在一定的工作負荷下,系統的負荷及響應時間。
強度測試:在一定的負荷條件下,在較長時間跨度內的系統連續運行給系統性能所造成的影響。
容量測試:容量測試目的是通過測試預先分 析出反映軟件系統應用特征的某項指標的極限值(如最大并發用戶數、數據庫記錄數等),系統在其極限值狀態下沒有出現任何軟件故障或還能保持主要功能正常運行。容量測試還將確定測試對象在給定時間內能夠持續處理的最大負載或工作量。容量測試的目的是使系統承受超額的數據容量來發現它是否能夠正確處理。容量測試是面向數據的,并且它的目的是顯示系統可以處理目標內確定的數據容量。
9測試結束的標準是什么?
用例全部測試。
覆蓋率達到標準。
缺陷率達到標準。
其他指標達到質量標準 10描述軟件測試活動的生命周期?
測試周期分為計劃、設計、實現、執行、總結。其中:
計劃:對整個測試周期中所有活動進行規劃,估計工作量、風險,安排人力物力資源,安排進度等;
設計:完成測試方案,從技術層面上對測試進行規劃;
實現:進行測試用例和測試規程設計;
執行:根據前期完成的計劃、方案、用例、規程等文檔,執行測試用例。
總結:記錄測試結果,進行測試分析,完成測試報告。
11軟件的缺陷等級應如何劃分?
A類—嚴重錯誤,包括以下各種錯誤: 1. 由于程序所引起的死機,非法退出 2. 死循環 3. 數據庫發生死鎖 4. 因錯誤操作導致的程序中斷 5. 功能錯誤 6. 與數據庫連接錯誤 7. 數據通訊錯誤
B類—較嚴重錯誤,包括以下各種錯誤: 1. 程序錯誤 2. 程序接口錯誤 3. 數據庫的表、業務規則、缺省值未加完整性等約束條件
C類—一般性錯誤,包括以下各種錯誤: 1. 操作界面錯誤(包括數據窗口內列名定義、含義是否一致)2. 打印內容、格式錯誤 3. 簡單的輸入限制未放在前臺進行控制 4. 刪除操作未給出提示 5. 數據庫表中有過多的空字段
D類—較小錯誤,包括以下各種錯誤: 1. 界面不規范 2. 輔助說明描述不清楚 3. 輸入輸出不規范 4. 長操作未給用戶提示 5. 提示窗口文字未采用行業術語 6. 可輸入區域和只讀區域沒有明顯的區分標志
E類—測試建議
大體是這樣,還會有一些變動,同時最后一道題出的是畫流程圖和控制圖的題,等腰三角形那個
01.為什么要在一個團隊中開展軟件測試工作?
因為沒有經過測試的軟件很難在發布之前知道該軟件的質量,就好比 ISO 質量認證一 樣,測試同樣也需要質量的保證,這個時候就需要在團隊中開展軟件測試的工作。在測試的 過程發現軟件中存在的問題,及時讓開發人員得知并修改問題,在即將發布時,從測試報告 04.的測試類型的區別與聯系(如功能測試、性能測試……)測試類型有:功能測試,性能測試,界面測試。
功能測試在測試工作中占的比例最大,功能測試也叫黑盒測試。是把測試對象看作一個 黑盒子。利用黑盒測試法進行動態測試時,需要測試軟件產品的功能,不需測試軟件產品的 內部結構和處理過程。采用黑盒技術設計測試用例的方法有:等價類劃分、邊界值分析、錯 誤推測、因果圖和綜合策略。
性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各 項性能指標進行測試。負載測試和壓力測試都屬于性能測試,兩者可以結合進行。通過負載 測試,確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時,系統各項性能指 標的變化情況。壓力測試是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能 提供的最大服務級別的測試。
界面測試,界面是軟件與用戶交互的最直接的層,界面的好壞決定用戶對軟件的第一印 象。而且設計良好的界面能夠引導用戶自己完成相應的操作,起到向導的作用。同時界面如 同人的面孔,具有吸引用戶的直接優勢。設計合理的界面能給用戶帶來輕松愉悅的感受和成 功的感覺,相反由于界面設計的失敗,讓用戶有挫敗感,再實用強大的功能都可能在用戶的 畏懼與放棄中付諸東流。
區別在于,功能測試關注產品的所有功能上,要考慮到每個細節功能,每個可能存在的 功能問題。性能測試主要關注于產品整體的多用戶并發下的穩定性和健壯性。界面測試更關 注于用戶體驗上,用戶使用該產品的時候是否易用,是否易懂,是否規范(快捷鍵之類的),是否美觀(能否吸引用戶的注意力),是否安全(盡量在前臺避免用戶無意輸入無效的數據,當然考慮到體驗性,不能太粗魯的彈出警告)?做某個性能測試的時候,首先它可能是個功 能點,首先要保證它的功能是沒問題的,然后再考慮該功能點的性能測試
04.您認為做好測試用例設計工作的關鍵是什么?
白盒測試用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果 黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測 試,以最少的用例在合理的時間內發現最多的問題
05.請試著比較一下黑盒測試、白盒測試、單元測試、集成測試、系統測試、驗收測試的區 別與聯系。
黑盒測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要 求。
白盒測試:已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規 格要求,所有內部成分是否以經過檢查。
軟件的黑盒測試意味著測試要在軟件的接口處進行。這種方法是把測試對象看做一個黑 盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數據驅動測試。黑盒 測試主要是為了發現以下幾類錯誤:
1、是否有不正確或遺漏的功能?
2、在接口上,輸入是否能正確的接受?能否輸出正確的結果?
3、是否有數據結構錯誤或外部信息(例如數據文件)訪問錯誤?
4、性能上是否能夠滿足要求?
5、是否有初始化或終止性錯誤?
軟件的白盒測試是對軟件的過程性細節做細致的檢查。這種方法是把測試對象看做一個 打開的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態,確定實際狀態是否與預期的狀 態一致。因此白盒測試又稱為結構測試或邏輯驅動測試。白盒測試主要是想對程序模塊進行 如下檢查:
1、對程序模塊的所有獨立的執行路徑至少測試一遍。
2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。
3、在循環的邊界和運行的界限內執行循環體。
4、測試內部數據結構的有效性,等等。
單元測試(模塊測試)是開發者編寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下 某個特定函數的行為。
單元測試是由程序員自己來完成,最終受益的也是程序員自己。可以這么說,程序員有 責任編寫功能代碼,同時也就有責任為自己的代碼編寫單元測試。執行單元測試,就是為了 證明這段代碼的行為和我們期望的一致。
集成測試(也叫組裝測試,聯合測試)是單元測試的邏輯擴展。它的最簡單的形式是: 兩個已經測試過的單元組合成一個組件,并且測試它們之間的接口。從這一層意義上講,組 件是指多個單元的集成聚合。在現實方案中,許多單元組合成組件,而這些組件又聚合成程 序的更大部分。方法是測試片段的組合,并最終擴展進程,將您的模塊與其他組的模塊一起 測試。最后,將構成進程的所有模塊一起測試。系統測試是將經過測試的子系統裝配成一個完整系統來測試。它是檢驗系統是否確實能 提供系統方案說明書中指定功能的有效方法。(常見的聯調測試)
系統測試的目的是對最終軟件系統進行全面的測試,確保最終軟件系統滿足產品需求并
且遵循系統設計。
驗收測試是部署軟件之前的最后一個測試操作。驗收測試的目的是確保軟件準備就緒,并且可以讓最終用戶將其用于執行軟件的既定功能和任務。驗收測試是向未來的用戶表明系統能夠像預定要求那樣工作。經集成測試后,已經按照設計 把所有的模塊組裝成一個完整的軟件系統,接口錯誤也已經基本排除了,接著就應該進一步 驗證軟件的有效性,這就是驗收測試的任務,即軟件的功能和性能如同用戶所合理期待的那 樣。
06.測試計劃工作的目的是什么?測試計劃工作的內容都包括什么?其中哪些是最重要 的?
軟件測試計劃是指導測試過程的綱領性文件,包含了產品概述、測試策略、測試方法、測試區域、測試配臵、測試周期、測試資源、測試交流、風險分析等內容。借助軟件測試計 劃,參與測試的項目成員,尤其是測試管理人員,可以明確測試任務和測試方法,保持測試 實施過程的順暢溝通,跟蹤和控制測試進度,應對測試過程中的各種變更。測試計劃和測試詳細規格、測試用例之間是戰略和戰術的關系,測試計劃主要從宏觀上規劃 測試活動的范圍、方法和資源配臵,而測試詳細規格、測試用例是完成測試任務的具體戰術。所以其中最重要的是測試測試策略和測試方法(最好是能先評審)
07.您認為做好測試計劃工作的關鍵是什么? 1.明確測試的目標,增強測試計劃的實用性
編寫軟件測試計劃得重要目的就是使測試過程能夠發現更多的軟件缺陷,因此軟件測試 計劃的價值取決于它對幫助管理測試項目,并且找出軟件潛在的缺陷。因此,軟件測試計劃 中的測試范圍必須高度覆蓋功能需求,測試方法必須切實可行,測試工具并且具有較高的實 用性,便于使用,生成的測試結果直觀、準確 2.堅持“5W”規則,明確內容與過程 “5W”規則指的是“What(做什么)”、“Why(為什么做)”、“When(何時做)”、“Where
(在哪里)”、“How(如何做)”。利用“5W”規則創建軟件測試計劃,可以幫助測試團隊理
解測試的目的(Why),明確測試的范圍和內容(What),確定測試的開始和結束日期(When),指出測試的方法和工具(How),給出測試文檔和軟件的存放位臵(Where)。3.采用評審和更新機制,保證測試計劃滿足實際需求
測試計劃寫作完成后,如果沒有經過評審,直接發送給測試團隊,測試計劃內容的可能不準 確或遺漏測試內容,或者軟件需求變更引起測試范圍的增減,而測試計劃的內容沒有及時更 新,誤導測試執行人員。
4.分別創建測試計劃與測試詳細規格、測試用例
應把詳細的測試技術指標包含到獨立創建的測試詳細規格文檔,把用于指導測試小組執 行測試過程的測試用例放到獨立創建的測試用例文檔或測試用例管理數據庫中。測試計劃和 測試詳細規格、測試用例之間是戰略和戰術的關系,測試計劃主要從宏觀上規劃測試活動的 范圍、方法和資源配臵,而測試詳細規格、測試用例是完成測試任務的具體戰術。
08.您所熟悉的測試用例設計方法都有哪些?請分別以具體的例子來說明這些方法在測試 用例設計工作中的應用。1.等價類劃分
劃分等價類: 等價類是指某個輸入域的子集合.在該子集合中,各個輸入數據對于揭露程 序中的錯誤都是等效的.并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試.因此,可以把全部輸入數據合理劃分為若干等價類,在每一個等價類中取一個數據作為測試的
輸入條件,就可以用少量代表性的測試數據.取得較好的測試結果.等價類劃分可有兩種不同 的情況:有效等價類和無效等價類.2.邊界值分析法
邊界值分析方法是對等價類劃分方法的補充。測試工作經驗告訴我,大量的錯誤是發生
在輸入或輸出范圍的邊界上,而不是發生在輸入輸出范圍的內部.因此針對各種邊界情況設計
測試用例,可以查出更多的錯誤.使用邊界值分析方法設計測試用例,首先應確定邊界情況.通常輸入和輸出等價類的邊界, 就是應著重測試的邊界情況.應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數據, 而不是選取等價類中的典型值或任意值作為測試數據.3.錯誤推測法
基于經驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例 的方法.錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情
況,根據他們選擇測試用例.例如, 在單元測試時曾列出的許多在模塊中常見的錯誤.以前產
品測試中曾經發現的錯誤等, 這些就是經驗的總結.還有, 輸入數據和輸出數據為 0 的情況.輸入表格為空格或輸入表格只有一行.這些都是容易發生錯誤的情況.可選擇這些情況下的
例子作為測試用例.4.因果圖方法
前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條 件之間的聯系, 相互組合等.考慮輸入條件之間的相互組合,可能會產生一些新的情況.但要
檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價類,他們之間的 組合情況也相當多.因此必須考慮采用一種適合于描述對于多種條件的組合,相應產生多個 動作的形式來考慮設計測試用例.這就需要利用因果圖(邏輯模型).因果圖方法最終生成 的就是判定表.它適合于檢查程序輸入條件的各種組合情況.09.請以您以往的實際工作為例,10.詳細的描述一次測試用例設計的完整的過程。就說最近的這次網站功能的測試吧
首先:得到相關文檔(需求文檔和設計文檔),理解需求和設計設計思想后,想好測試 策略(測試計劃簡單點就OK 了),考慮到測試環境,測試用例,測試時間等問題。第二步:設計測試用例,測試策略是:把網站部分的功能點測試完,然后在進行系統測 試(另外個模塊呢有另一個測試人員負責,可以進行聯調測試),網站模塊的測試基本是功 能測試和界面測試(用戶并發的可能性很小,所以不考慮):這次的網站的輸入數據呢是使 用數據庫中的某張表記錄,如果表中某一數據記錄中新加進來的(還沒有被處理的,有個標 志位),網站啟動后會立刻去刷那張表,得到多條數據,然后在進行處理。處理過程中,會 經歷3 個步驟,網站才算完成了它的任務。有 3 個步驟呢,就可以分別對 這 3 個步驟進 行測試用例的設計,盡量覆蓋到各種輸入情況(包括數據庫中的數據,用戶的輸入等),得出 了差不多50 個用例。界面測試,也就是用戶看的到的地方,包括發送的郵件和用戶填寫資 料的頁面展示。
第三步:搭建測試環境(為什么這個時候考慮測試環境呢?因為我對網站環境已經很熟 了,只有有機器能空于下來做該功能測試就可以做了),因為網站本身的環境搭建和其他的 系統有點不同,它需要的測試環境比較麻煩,需要web 服務器(Apache,tomcat),不過這次
需求呢,網站部分只用到了tomcat,所以只要有tomcat 即可 第四步:執行測試
11.您以往是否曾經從事過性能測試工作?如果有,12.請盡可能的詳細描述您以往的性能 測試工作的完整過程。
是的,曾經做過網站方面的性能測試,雖然做的時間并不久(2 個月吧),當時呢,是 有位網站性能測試經驗非常豐富的前輩帶著我一起做。性能測試類型包括負載測試,強度測試,容量測試等
負載測試:負載測試是一種性能測試指數據在超負荷環境中運行,程序是否能夠承擔。強度測試: 強度測試是一種性能測試,他在系統資源特別低的情況下軟件系統運行情 況
容量測試:確定系統可處理同時在線的最大用戶數
在網站流量逐漸加大的情況下,開始考慮做性能測試了,首先要寫好性能測試計劃,根 據運營數據得出流量最大的頁面(如果是第一次的話,一般是首頁,下載頁,個人帳戶頁流 量最大,而且以某種百分比),Web 服務器指標指標:
* Avg Rps:平均每秒鐘響應次數=總請求時間 / 秒數; * Successful Rounds:成功的請求; * Failed Rounds :失敗的請求;
* Successful Hits :成功的點擊次數; * Failed Hits :失敗的點擊次數; * Hits Per Second :每秒點擊次數;
* Successful Hits Per Second :每秒成功的點擊次數; * Failed Hits Per Second :每秒失敗的點擊次數; * Attempted Connections :嘗試鏈接數;
第二篇:軟件測試面試題整理20111019
軟件測試面試題整理
01.為什么要在一個團隊中開展軟件測試工作?
因為沒有經過測試的軟件很難在發布之前知道該軟件的質量,就好比ISO質量認證一樣,測試同樣也需要質量的保證,這個時候就需要在團隊中開展軟件測試的工作。在測試的過程發現軟件中存在的問題,及時讓開發人員得知并修改問題,在即將發布時,從測試報告中得出軟件的質量情況。
02.您在以往的測試工作中都曾經具體從事過哪些工作?其中最擅長哪部分工作?
我曾經做過web測試,后臺測試,客戶端軟件,其中包括功能測試,性能測試,用戶體驗測試。最擅長的是功能測試
03.您所熟悉的軟件測試類型都有哪些?請試著分別比較這些不同04.的測試類型的區別與聯系(如功能測試、性能測試……)
測試類型有:功能測試,性能測試,界面測試。
功能測試在測試工作中占的比例最大,功能測試也叫黑盒測試。是把測試對象看作一個黑盒子。利用黑盒測試法進行動態測試時,需要測試軟件產品的功能,不需測試軟件產品的內部結構和處理過程。采用黑盒技術設計測試用例的方法有:等價類劃分、邊界值分析、錯誤推測、因果圖和綜合策略。
性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項性能指標進行測試。負載測試和壓力測試都屬于性能測試,兩者可以結合進行。通過負載測試,確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時,系統各項性能指標的變化情況。壓力測試是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能提供的最大服務級別的測試。
界面測試,界面是軟件與用戶交互的最直接的層,界面的好壞決定用戶對軟件的第一印象。而且設計良好的界面能夠引導用戶自己完成相應的操作,起到向導的作用。同時界面如同人的面孔,具有吸引用戶的直接優勢。設計合理的界面能給用戶帶來輕松愉悅的感受和成功的感覺,相反由于界面設計的失敗,讓用戶有挫敗感,再實用強大的功能都可能在用戶的畏懼與放棄中付諸東流。區別在于,功能測試關注產品的所有功能上,要考慮到每個細節功能,每個可能存在的功能問題。性能測試主要關注于產品整體的多用戶并發下的穩定性和健壯性。界面測試更關注于用戶體驗上,用戶使用該產品的時候是否易用,是否易懂,是否規范(快捷鍵之類的),是否美觀(能否吸引用戶的注意力),是否安全(盡量在前臺避免用戶無意輸入無效的數據,當然考慮到體驗性,不能太粗魯的彈出警告)?做某個性能測試的時候,首先它可能是個功能點,首先要保證它的功能是沒問題的,然后再考慮該功能點的性能測試
04.您認為做好測試用例設計工作的關鍵是什么?
白盒測試用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果 黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時間內發現最多的問題
05.請試著比較一下黑盒測試、白盒測試、單元測試、集成測試、系統測試、驗收測試的區別與聯系。
黑盒測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。
白盒測試:已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。
軟件的黑盒測試意味著測試要在軟件的接口處進行。這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數據驅動測試。黑盒測試主要是為了發現以下幾類錯誤:
1、是否有不正確或遺漏的功能?
2、在接口上,輸入是否能正確的接受?能否輸出正確的結果?
3、是否有數據結構錯誤或外部信息(例如數據文件)訪問錯誤?
4、性能上是否能夠滿足要求?
5、是否有初始化或終止性錯誤?
軟件的白盒測試是對軟件的過程性細節做細致的檢查。這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態,確定實際狀態是否與預期的狀態一致。因此白盒測試又稱為結構測試或邏輯驅動測試。白盒測試主要是想對程序模塊進行如下檢查:
1、對程序模塊的所有獨立的執行路徑至少測試一遍。
2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。
3、在循環的邊界和運行的界限內執行循環體。
4、測試內部數據結構的有效性,等等。
單元測試(模塊測試)是開發者編寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數的行為。
單元測試是由程序員自己來完成,最終受益的也是程序員自己。可以這么說,程序員有責任編寫功能代碼,同時也就有責任為自己的代碼編寫單元測試。執行單元測試,就是為了證明這段代碼的行為和我們期望的一致。
集成測試(也叫組裝測試,聯合測試)是單元測試的邏輯擴展。它的最簡單的形式是:兩個已經測試過的單元組合成一個組件,并且測試它們之間的接口。從這一層意義上講,組件是指多個單元的集成聚合。在現實方案中,許多單元組合成組件,而這些組件又聚合成程序的更大部分。方法是測試片段的組合,并最終擴展進程,將您的模塊與其他組的模塊一起測試。最后,將構成進程的所有模塊一起測試。
系統測試是將經過測試的子系統裝配成一個完整系統來測試。它是檢驗系統是否確實能提供系統方案說明書中指定功能的有效方法。(常見的聯調測試)系統測試的目的是對最終軟件系統進行全面的測試,確保最終軟件系統滿足產品需求并且遵循系統設計。
驗收測試是部署軟件之前的最后一個測試操作。驗收測試的目的是確保軟件準備就緒,并且可以讓最終用戶將其用于執行軟件的既定功能和任務。
驗收測試是向未來的用戶表明系統能夠像預定要求那樣工作。經集成測試后,已經按照設計把所有的模塊組裝成一個完整的軟件系統,接口錯誤也已經基本排除了,接著就應該進一步驗證軟件的有效性,這就是驗收測試的任務,即軟件的功能和性能如同用戶所合理期待的那樣。
06.測試計劃工作的目的是什么?測試計劃工作的內容都包括什么?其中哪些是最重要的?
軟件測試計劃是指導測試過程的綱領性文件,包含了產品概述、測試策略、測試方法、測試區域、測試配置、測試周期、測試資源、測試交流、風險分析等內容。借助軟件測試計劃,參與測試的項目成員,尤其是測試管理人員,可以明確測試任務和測試方法,保持測試實施過程的順暢溝通,跟蹤和控制測試進度,應對測試過程中的各種變更。
測試計劃和測試詳細規格、測試用例之間是戰略和戰術的關系,測試計劃主要從宏觀上規劃測試活動的范圍、方法和資源配置,而測試詳細規格、測試用例是完成測試任務的具體戰術。所以其中最重要的是測試測試策略和測試方法(最好是能先評審)
07.您認為做好測試計劃工作的關鍵是什么?
1.明確測試的目標,增強測試計劃的實用性
編寫軟件測試計劃得重要目的就是使測試過程能夠發現更多的軟件缺陷,因此軟件測試計劃的價值取決于它對幫助管理測試項目,并且找出軟件潛在的缺陷。因此,軟件測試計劃中的測試范圍必須高度覆蓋功能需求,測試方法必須切實可行,測試工具并且具有較高的實用性,便于使用,生成的測試結果直觀、準確
2.堅持“5W”規則,明確內容與過程
“5W”規則指的是“What(做什么)”、“Why(為什么做)”、“When(何時做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”規則創建軟件測試計劃,可以幫助測試團隊理解測試的目的(Why),明確測試的范圍和內容(What),確定測試的開始和結束日期(When),指出測試的方法和工具(How),給出測試文檔和軟件的存放位置(Where)。
3.采用評審和更新機制,保證測試計劃滿足實際需求
測試計劃寫作完成后,如果沒有經過評審,直接發送給測試團隊,測試計劃內容的可能不準確或遺漏測試內容,或者軟件需求變更引起測試范圍的增減,而測試計劃的內容沒有及時更新,誤導測試執行人員。
4.分別創建測試計劃與測試詳細規格、測試用例
應把詳細的測試技術指標包含到獨立創建的測試詳細規格文檔,把用于指導測試小組執行測試過程的測試用例放到獨立創建的測試用例文檔或測試用例管理數據庫中。測試計劃和測試詳細規格、測試用例之間是戰略和戰術的關系,測試計劃主要從宏觀上規劃測試活動的范圍、方法和資源配置,而測試詳細規格、測試用例是完成測試任務的具體戰術。
08.您所熟悉的測試用例設計方法都有哪些?請分別以具體的例子來說明這些方法在測試用例設計工作中的應用。
1.等價類劃分
劃分等價類: 等價類是指某個輸入域的子集合.在該子集合中,各個輸入數據對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試.因此,可以把全部輸入數據合理劃分為若干等價類,在每一個等價類中取一個數據作為測試的輸入條件,就可以用少量代表性的測試數據.取得較好的測試結果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類.2.邊界值分析法
邊界值分析方法是對等價類劃分方法的補充。測試工作經驗告訴我,大量的錯誤是發生在輸入或輸出范圍的邊界上,而不是發生在輸入輸出范圍的內部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤.使用邊界值分析方法設計測試用例,首先應確定邊界情況.通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況.應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數據,而不是選取等價類中的典型值或任意值作為測試數據.3.錯誤推測法
基于經驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法.錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例.例如, 在單元測試時曾列出的許多在模塊中常見的錯誤.以前產品測試中曾經發現的錯誤等, 這些就是經驗的總結.還有, 輸入數據和輸出數據為0的情況.輸入表格為空格或輸入表格只有一行.這些都是容易發生錯誤的情況.可選擇這些情況下的例子作為測試用例.4.因果圖方法
前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯系, 相互組合等.考慮輸入條件之間的相互組合,可能會產生一些新的情況.但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當多.因此必須考慮采用一種適合于描述對于多種條件的組合,相應產生多個動作的形式來考慮設計測試用例.這就需要利用因果圖(邏輯模型).因果圖方法最終生成的就是判定表.它適合于檢查程序輸入條件的各種組合情況.09.請以您以往的實際工作為例,10.詳細的描述一次測試用例設計的完整的過程。
就說最近的這次網站功能的測試吧
首先:得到相關文檔(需求文檔和設計文檔),理解需求和設計設計思想后,想好測試策略(測試計劃簡單點就OK了),考慮到測試環境,測試用例,測試時間等問題。
第二步:設計測試用例,測試策略是:把網站部分的功能點測試完,然后在進行系統測試(另外個模塊呢有另一個測試人員負責,可以進行聯調測試),網站模塊的測試基本是功能測試和界面測試(用戶并發的可能性很小,所以不考慮):這次的網站的輸入數據呢是使用數據庫中的某張表記錄,如果表中某一數據記錄中新加進來的(還沒有被處理的,有個標志位),網站啟動后會立刻去刷那張表,得到多條數據,然后在進行處理。處理過程中,會經歷3個步驟,網站才算完成了它的任務。有3個步驟呢,就可以分別對這3個步驟進行測試用例的設計,盡量覆蓋到各種輸入情況(包括數據庫中的數據,用戶的輸入等),得出了差不多50個用例。界面測試,也就是用戶看的到的地方,包括發送的郵件和用戶填寫資料的頁面展示。
第三步:搭建測試環境(為什么這個時候考慮測試環境呢?因為我對網站環境已經很熟了,只有有機器能空于下來做該功能測試就可以做了),因為網站本身的環境搭建和其他的系統有點不同,它需要的測試環境比較麻煩,需要web服務器(Apache,tomcat),不過這次需求呢,網站部分只用到了tomcat,所以只要有tomcat即可
第四步:執行測試
11.您以往是否曾經從事過性能測試工作?如果有,12.請盡可能的詳細描述您以往的性能測試工作的完整過程。
是的,曾經做過網站方面的性能測試,雖然做的時間并不久(2個月吧),當時呢,是有位網站性能測試經驗非常豐富的前輩帶著我一起做。
性能測試類型包括負載測試,強度測試,容量測試等
負載測試:負載測試是一種性能測試指數據在超負荷環境中運行,程序是否能夠承擔。
強度測試: 強度測試是一種性能測試,他在系統資源特別低的情況下軟件系統運行情況
容量測試:確定系統可處理同時在線的最大用戶數
在網站流量逐漸加大的情況下,開始考慮做性能測試了,首先要寫好性能測試計劃,根據運營數據得出流量最大的頁面(如果是第一次的話,一般是首頁,下載頁,個人帳戶頁流量最大,而且以某種百分比),Web服務器指標指標:
* Avg Rps:平均每秒鐘響應次數=總請求時間 / 秒數;
* Successful Rounds:成功的請求;
* Failed Rounds :失敗的請求;
* Successful Hits :成功的點擊次數;
* Failed Hits :失敗的點擊次數;
* Hits Per Second :每秒點擊次數;
* Successful Hits Per Second :每秒成功的點擊次數;
* Failed Hits Per Second :每秒失敗的點擊次數;
* Attempted Connections :嘗試鏈接數;
13.您在從事性能測試工作時,14.是否使用過一些測試工具?如果有,15.請試述該工具的工作原理,16.并以一個具體的工作中的例子描述該工具是如何在實際工作中應用的。
17.您認為性能測試工作的目的是什么?做好性能測試工作的關鍵是什么?
18.在您以往的工作中,19.一條軟件缺陷(或者叫Bug)記錄都包含了哪些內容?如何提交高質量的軟件缺陷(Bug)記錄?
20.您以往所從事的軟件測試工作中,21.是否使用了一些工具來進行軟件缺陷(Bug)的管理?如果有,22.請結合該工具描述軟件缺陷(Bug)跟蹤管理的流程。
23.您認為在測試人員同24.開發人員的溝通過程中,25.如何提高溝通的效率和改善溝通的效果?維持測試人員同26.開發團隊中其他成員良好的人際關系的關鍵是什么?
27.在您以往的測試工作中,28.最讓您感到不29.滿意或者不30.堪回首的事情是什么?您是如何來對待這些事情的?
31.在即將完成這次筆試前,32.您是否愿意談一些自己在以往的學習和工作中獲得的工作經驗和心得體會?(可以包括軟件測試、過程改進、軟件開發或者與此無關的其他方面)
33.你對測試最大的興趣在哪里?為什么?
最大的興趣就是測試有難度,有挑戰性!做測試越久越能感覺到做好測試有多難。曾經在無憂測試網上看到一篇文章,是關于如何做好一名測試工程師。
一共羅列了11,12點,有部分是和人的性格有關,有部分需要后天的努力。但除了性格有關的1,2點我沒有把握,其他點我都很有信心做好它。
剛開始進入測試行業時,對測試的認識是從無憂測試網上了解到的一些資料,當時是沖著做測試需要很多技能才能做的好,雖然入門容易,但做好很難,比開發更難,雖然當時我很想做開發(學校專業課我基本上不缺席,因為我喜歡我的專業),但看到測試比開發更難更有挑戰性,想做好測試的意志就更堅定了。
不到一年半的測試工作中,當時的感動和熱情沒有減退一點(即使環境問題以及自身經驗,技術的不足,做測試的你一定也能理解)。
我覺得做測試整個過程中有2點讓我覺得很有難度(對我來說,有難度的東西我就非常感興趣),第一是測試用例的設計,因為測試的精華就在測試用例的設計上了,要在版本出來之前,把用例寫好,用什么測試方法寫?(也就是測試計劃或測試策略),如果你剛測試一個新任務時,你得花一定的時間去消化業務需求和技術基礎,業務需求很好理解(多和產品經理和開發人員溝通就能達到目的),而技術基礎可就沒那么簡單了,這需要你自覺的學習能力,比如說網站吧,最基本的技術知識你要知道網站內部是怎么運作的的,后臺是怎么響應用戶請求的?測試環境如何搭建?這些都需要最早的學好。至少在開始測試之前能做好基本的準備,可能會遇到什么難題?需求細節是不是沒有確定好?這些問題都能在設計用例的時候發現。
第二是發現BUG的時候了,這應該是測試人員最基本的任務了,一般按測試用例開始測試就能發現大部分的bug,還有一部分bug需要測試的過程中更了解所測版本的情況獲得更多信息,補充測試用例,測試出bug。還有如何發現bug?這就需要在測試用例有效的情況下,通過細心和耐心去發現bug了,每個用例都有可能發現bug,每個地方都有可能出錯,所以測試過程中思維要清晰(測試過程數據流及結果都得看仔細了,bug都在里面發現的)。如何描述bug也很有講究,bug在什么情況下會產生,如果條件變化一點點,就不會有這個bug,以哪些最少的操作步驟就能重現這個bug,這個bug產生的規律是什么?如果你夠厲害的話,可以幫開發人員初步定位問題。
第三篇:軟件測試常見面試題
軟件測試面試過程中常見的問題歸類
1.先做一下自我介紹吧
技術方面:
2.你以前做過什么樣的項目,描述一下
3.說一下你們的測試流程
4.你在項目組中做過什么樣的工作
5.你平時會寫測試用例嗎 一般這種情況下面試官會給你個實體 什么電話啊,計算器啊,登陸頁面啊 都可能被問到
6.你平時寫測試用例會涉及到的一些測試用例設計方法 這個要充分準備 最好能舉出例
子
7.說一下bug管理流程 bug的生命周期 缺陷報告包括哪幾部分 每一個部分的主要作用
你認為哪些部分對于描述這個bug和有助于開發人員解bug最重要 為什么
8.在測試人員和開發人員的溝通中,有這樣一種情況,你站在測試人員的角度上覺得它是
個bug,而開發人員給reject了,你該如何處理。
9.你平時依照什么依據來判定一個問題就是bug
10.你日常工作中會用到自動化測試工具嗎 如果用過 簡單描述一下 盡量不要太深入的說
因為很多公司不會用到主流工具 比如Loadrunner 和 QTP。QC最好熟悉一下。
11.你日常工作中會不會涉及到數據庫 這個時候面試官會出一個常用的問題來考你。
12.你對我們公司還有什么問題嗎 這個時候是我的話會問公司測試部門的規模,有幸進公
司之后會接觸到哪方面的項目
其他方面:
1.你的學歷是大專,別人都是三年,為何你只有兩年時間,是正規學校嗎
2.你對測試這份工作有什么看法
3.你覺得測試人員應該具備哪些素質
4.你對未來五年有什么規劃嗎 是什么
備注:這都是我長期面試得出來的面經,如果有其他的歡迎評價里邊添加進來。
第四篇:軟件測試面試題集合
你在你所在的公司是怎么開展測試工作的?是如何組織的?
你認為理想的測試流程是什么樣子?
你是怎樣工作的?
軟件測試活動的生命周期是什么?
請畫出軟件測試活動的流程圖?
針對缺陷采取怎樣管理措施?
什么是測試評估?測試評估的范圍是什么?
如果能夠執行完美的黑盒測試,還需要進行白盒測試嗎?為什么?
測試結束的標準是什么?
軟件驗收測試除了alpha,beta測試以外,還有哪一種?
做測試多久了?
以前做過哪些項目?
你們以前測試的流程是怎樣的?
<答:測試計劃-測試用例設計-測試執行-測試分析報告>
用過哪些測試工具?
為什么選擇測試這行?
<答:它是一個新興的行業,有發展潛力,而且很鍛煉人,需要掌握更多的技能,比做開發要更難>
為什么值得他們公司雇用?
幫助公司提高軟件質量和測試部門的技術水平
如果我雇用你,你能給部門帶來什么貢獻?
分享我的測試經驗和測試技能,提高測試部門技術水平
如何從工作中看出你是個自動自覺的人
1.工作成果2.工作質量
你的工作通常能在時限內完成嗎.(我想問一下就是她問這個問題的動機是什么)
在有足夠的資源和合理的工作量的情況下,完全可以按時完成,并能比一般人做的更好
通常你對于別人批評你會有什么樣的反應
有錯即改,無措勉之
如果明知這樣做不對,你還會依主管的指過去做嗎
在公司內部下級是否有申訴渠道?
如果你接到一個客戶抱怨的電話,你確知無法解決他的問題,你會怎么處理
為什么抱怨?是怎么樣的問題?
如果是客服問題,提交客服部門解決
如果是質量問題,分析原因,下一版本改進
什么叫單元測試?
請就軟件測試人員應該具備什么樣的基本素質說說你的看法。
請就如何在開發中進行軟件質量控制說說你的看法
簡述軟件測試的意義,以及軟件測試的分類
1、功能測試,性能測試,界面測試,安全測試(可以簡單點,比如只涉及到COOKIES里的內容),壓力測試(商業性質的網站)等等,B/S軟件也要根據其具體功能采用不同的測試策略。
2,軟件工程師要具有那些素質?
態度、責任心、自信、敏銳的觀察力、良好的發散思維
3、一般公司里實際的軟件測試流程是什么樣的?你們公司又是怎樣的?
先設計后開發模式,加強單元測試,加強代碼走查,有一套完整的白盒測試方法。關鍵是加強開發人員的質量意識,增進程序員向工程師水平發展。
4、意義嘛,就自己想吧。軟件測試的分類,這個很多人都按各種方法去分。無明確答案給你。
對測試的理解——基本的測試知識,對測試是否認可?
測試設計的方法并舉例說明——測試技術的使用
測試工具——熟悉程度,能否與當前工作匹配?
如何做計劃?如何跟蹤計劃?——日常工作能力
如果開發人員提供的版本不滿足測試的條件,如何做?——與開發人員協作的能力熟悉unix系統、oracle數據庫嗎?——是否具備系統知識
做過開發嗎?寫過哪些代碼?——開發技能
閱讀英語文章,給出理解說明?——部分英語能力
文檔的意義——是否善于思考?(最簡單的概念,不同層次的理解)
假如進入我們公司,對我們哪些方面會有幫助?——講講自己的特長
隨便找一件物品,讓其測試——測試的實際操作能力
軟件測試的方法有?
軟件測試的過程?
有一個新的軟件,假如你是測試工程師,該如何做?
軟件測試分哪兩種方法?分別適合什么情況?
2。一套完整的測試應該由哪些階段組成?分別闡述一下各個階段。
3。軟件測試的類型有那些?分別比較這些不同的測試類型的區別與聯系。
4。測試用例通常包括那些內容?著重闡述編制測試用例的具體做法
5。在分別測試winform的C/S結構與測試WEB結構的軟件是,應該采取什么樣的方法分別測試?他們存在什么樣的區別與聯系?
6。在測試winform的C/S結構軟件時,發現這個軟件的運行速度很慢,您會認為是什么原因?您會采取哪些方法去檢查這個原因?
7。描述使用bugzilla缺陷管理工具對軟件缺陷(BUG)跟蹤的管理的流程
你在五年內的個人目標和職業目標分別是什么?
正確回答從現在起的五年之內,我希望能夠在一個很好的職位上待幾年,而且最好有一次晉升,然后就期待著下一步。不管是向上提升,還是在企業內橫向調動,對我個人來說,我希望找到一家企業——一家愿意做相互投入的企業——待上一段時間。
評論這個問題沒有回答得過分具體(那樣可能會產生漏洞),而且它表明你有雄心,并且思考過在企業中的成長方式。通過表達橫向調動和向上提升的愿望,表明你是一個有靈活性的人。
你怎樣做出自己的職業選擇?
正確回答 在上大學四年級前的那個夏天,我決定集中精力在某一領域謀求發展。盡管我是學商業的,但是我不知道自己最終會從事哪一行業的工作。我花了一定的時間考慮自 己的目標,想清楚了自己擅長做的事情以及想從工作中得到的東西,最后我得出了一個堅定的結論,那就是這個行業是最適合我的。
評論 這種回答表明,求職者認真地做過一些計劃,縮小了自己的關注點,而且也認準了前進的方向。這種回答還表明,求職者理解個人職業規劃的重要性,并且有能力做出認真的個人決策。
1.你都用什么測試方法
針對不同的產品或者系統或者模塊,有不同的測試方法。總體而言有白盒測試和黑盒測試。
2.怎么編寫案例
案例的編寫與測試階段的定義有很大的關系。系統測試和unit測試的案例可能不同。總體而言測試案例根據系統的需求而定。
3.怎么才能夠全面的測試到每一個點
測試的全面性主要需要在設計測試計劃的時候考慮,從測試策略,產品需求等等多個角度考慮從而定義全部的測試點。
1、談談軟件測試技術,以及如何提高
2、談談軟件測試職業發展,以及個人的打算
3、談談軟件測試在企業的地位,也可以結合軟件生命周期來談
有可能清晰的思路比確切的答案更重要
1,一般公司里實際的軟件測試流程是什么樣的?你們公司又是怎樣的?
2,軟件工程師要具有那些素質?
3,你會哪些測試工具?怎么操作?
4,你能不能說下你的3到5年的職業計劃(規劃)
5,你覺得你來應聘有那些優勢?
第一關:首先要自我介紹,自己的性格怎么樣,目前的工作經歷積累了一些什么經驗取得了些什么值得一說的成果。然后要說說對軟件測試怎么看?還有對于軟件測試有什么自己的想法。為什么會想到要做這行(因為我的簡歷上的工作經歷沒有關于測試方面的)。哦,還有期望薪資。
第二關:認為軟件測試人員所要具備的基本素質,如果遇到問題會怎樣處理,如果得不到研發人員的配合(就是研發說這個不是問題)你又會怎么處理?然后就是一些基本概念,比如軟件測試的流程有哪些?如果我上任了,首先會怎么開始自己的工作計劃。(前兩關通過了后面這個就好過多了)
第三關:像我介紹了一下公司的情況,告訴我主要針對什么內容的測試,會不會使用數據庫。告訴我大概要做哪些內容,詳細的可以上崗以后慢慢熟悉。
面試官最后會問你有什么問題要問嗎。作為應聘者的你一般不要說沒問題問,這會給面試官留下你不太重視這份工作的壞印象。所以如果你想得到這份工作的話應該抓住這最后的表現自己的機會:
你可以問:
1.貴公司近期和遠期的發展目標是什么?
2.貴公司的主要競爭對手有哪些?
3.貴公司有多少開發人員有多少測試人員?
4.貴公司又進一步擴充測試人員的計劃嗎?
5.如果我有幸能進入貴公司的話,我有怎么樣的發展?
6.測試人員的溝通能力很重要,貴公司有規范的溝通渠道嗎?
7.請介紹一下貴公司的福利情況。
8.請問我什么時候能知道結果?
01.為什么要在一個團隊中開展軟件測試工作?
保證軟件質量的最后一道關口。
02.您是否了解以往所工作的企業的軟件測試過程?如果了解,請試述在這個過程中都有哪些工作要做?分別由哪些不同的角色來完成這些工作?
測試計劃->測試設計(測試用例,測試數據)->測試執行(單元測試,集成測試,系統測試,回歸測試)
05.您所熟悉的軟件測試類型都有哪些?請試著分別比較這些不同的測試類型的區別與聯系(如功能測試、性能測試……)
易用性測試-界面的友好性,操作方便性等。
功能測試-系統中功能性需求的滿足
安全性測試-系統是否存在安全隱患和漏洞
性能測試-系統在大并發下的響應速度和健壯性
06.請試著比較一下黑盒測試、白盒測試、單元測試、集成測試、系統測試、驗收測試的區別與聯系。
黑盒/白盒:主要區別在是否了解系統或程序的內部結構和代碼
單元測試:關注某一個單元,函數,模塊的正確性,一般需要編寫相關測試代碼。集成測試:模塊或模塊直接的集成接口測試,單個模塊測試
系統測試:一個完整功能的完全測試。
07.測試計劃工作的目的是什么?測試計劃工作的內容都包括什么?其中哪些是最重要的?
提前安排出測試工具選擇,測試類型選擇,人員需求,保證和項目開發協調一致,保證測試工作順利進行。
08.您認為做好測試計劃工作的關鍵是什么?
了解項目或系統的業務需求
和項目經理協調好,了解項目的進度計劃安排情況
09.您所熟悉的測試用例設計方法都有哪些?請分別以具體的例子來說明這些方法在測試用例設計工作中的應用。
邊界值/等價類/業務流程圖分析和狀態轉換分析/業務邏輯分析
10.您認為做好測試用例設計工作的關鍵是什么?
對業務和軟件需求非常清楚,可以根據需求不同選擇不同的測試用例設計
12.您以往的工作中是否曾開展過測試用例的評審工作?如果有,請描述測試用例評審的過程和評審的內容。
評審計劃->預審->評審;
評審內容主要是測試用例對軟件需求的覆蓋程度,對于相關邊界是否考慮,是否針對復雜流程準備多套測試數據,是否有專門針對非功能性需求的測試。
13.您以往是否曾經從事過性能測試工作?如果有,請盡可能的詳細描述您以往的性能測試工作的完整過程。
制訂計劃->選擇測試功能->選擇測試工具->錄制腳本->運行測試->分析結果
14.您在從事性能測試工作時,是否使用過一些測試工具?如果有,請試述該工具的工作原理,并以一個具體的工作中的例子描述該工具是如何在實際工作中應用的。
微軟WAS,LoadRunner
15.您認為性能測試工作的目的是什么?做好性能測試工作的關鍵是什么?
關鍵是測試腳本的錄制,測試時候測試環境的干凈。
16.在您以往的工作中,一條軟件缺陷(或者叫Bug)記錄都包含了哪些內容?如何提交高質量的軟件缺陷(Bug)記錄?
缺陷名詞/描述/缺陷等級/嚴重程度/發現模塊/發現步驟和過程/是否可以重現
17.您以往所從事的軟件測試工作中,是否使用了一些工具來進行軟件缺陷(Bug)的管理?如果有,請結合該工具描述軟件缺陷(Bug)跟蹤管理的流程。
CQ,也可以使用BugFree等免費工具。
19.您如何看待軟件過程改進?在您曾經工作過的企業中,是否有一些需要改進的東西呢?您期望的理想的測試人員的工作環境是怎樣的?
將先進的經驗或思想固化到過程中,通過過程改進和能力提高來改進軟件質量。
第五篇:軟件測試經典面試題(三)
軟件測試經典面試題(三)
第1題:堅持在軟件開發的各個階段實施下列哪種質量保證措施,才能在開發工程中盡早發現和預防錯誤,將出現的錯誤克服在早期(正確A)
A.技術評審B.程序測試C.文檔審查D.管理評審
第2題:經驗表明,在程序設計中,某模塊與其他模塊相比,若該模塊已發現并改正的錯誤數目較多,則該模塊中殘留的錯誤與其他模塊相比,通常應該(正確B)
A.較少B.較多C.相似D.不確定
第3題:下面有關測試原則的說法正確的是(正確A)
A.測試用例應由測試的輸入數據和預期的輸出結果兩部分組成 B.測試用例自詡選取合理的輸入數據 C.程序最好由編寫該程序的程序員自己來測試 D.使用測試用例進行測試是為了檢查程序員是否做錯了他該做的事
第4題:為了提高測試的效率,爭取的做法是(正確A)
A.選擇發現錯誤可能性大的數據作為測試用例 B.在完成程序的編碼之后在指定軟件的測試計劃 C.隨機選取測試用例 D.取一切可能的輸入數據作為測試用例
第5題:以下哪一種選項不屬于軟件缺陷(正確D)
A.軟件沒有實現產品規格說明所要求的功能 B.軟件中出現了產品貴規格說明不應該出現的功能 C.軟件實現了產品規格說明沒有提到的功能 D.軟件實現了產品規格說明所要求等功能但因受性能限制而未考慮可移植性問題
第6題:軟件生存周期過程中,修改錯誤代價最大的階段是(正確D)
A.需求階段 B.設計階段 C.編程階段 D.發布運行階段
第7題:以程序內部的邏輯結構為基礎的測試用例設計技術屬于(正確D)
A.灰盒測試 B.數據測試 C.黑盒測試 D.白盒測試
第8題:下列能表達程序未按照預期運行,但不會導致整體失效的是(正確B)
A.故障 B.異常 C.缺點 D.失效
第9題:下列關于缺陷產生原因的敘述中,不屬于技術問題的是(正確A)
A.文檔錯誤,內容不正確或拼寫錯誤 B.系統結構不合理 C.語法錯誤 D.接口傳遞不匹配,導致模塊集成出現問題
第10題:下面有關軟件缺陷的說法中錯誤的是(正確C)
A.缺陷就是軟件產品在開發中存在的問題 B.缺陷就是軟件維護過程中存在的錯誤、毛病等各種問題 C.缺陷就是導致系統程序崩潰的錯誤 D.缺陷就是系統所需實現的某種功能的時效和違背
第11題:功能或特性沒有實現,主要功能部分喪失,次要功能完全喪失,或致命的錯誤聲明,這屬于軟件缺陷級別中的(正確B)
A.致命缺陷 B.嚴重缺陷 C.一般缺陷 D.微小缺陷
第12題:黑盒測試是一種重要的測試策略,又稱為數據驅動的測試,其測試數據來源于(正確A)
A.軟件規格說明 B.軟件設計說明 C.概要設計說明D.詳細設計說明
第13題:即使對程序的所有路徑都進行了測試,程序也可能存在沒能檢查出來的缺陷,其原因可能是(正確D)
A.程序可能會因為缺少某些路徑而存在問題 B.即使是窮舉路徑測試也決不能保證程序符合其設計規格說明 C.窮舉路徑測試也可能不會暴露數據敏感錯誤 D.以上全部
第14題:軟件質量是軟件產品能否得到市場認可的最基本的問題,而軟件測試是保證軟件質量的重要手段,下面關于軟件測試任務正確的是(正確D)
l)預防軟件發生錯誤2)發現改正程序錯誤
A.僅1)B.僅1)和2)C.僅1)和3)D.都是
第15題:下面說法正確的是(正確A)
A.我們無法測試一個程序確認它沒有錯誤 B.黑盒測試是邏輯驅動的測試 C.窮舉測試一定可以暴露數據敏感錯誤 D.白盒測試是一種輸入輸出驅動的測試
第16題:軟件測試的目的是(正確B)
A.評價軟件的質量 B.發現軟件的錯誤 C.找出軟件中所有的錯誤 D.證明軟件的正確的第17題:以下選項中不屬于軟件缺陷狀態的是(正確C)
A.激活狀態 B.非激活狀態 C.一致狀態 D.已修正狀態
第18題:為了提高測試的效率,應該(正確D)
A.隨機地選取測試數據 B.取一切可能的輸入數據作為測試數據 C.在完成編碼以后制定軟件的測試計劃 D.選擇發現錯誤的可能性大的數據作為測試數據
第19題:軟件的集成測試工作最好由()承擔,以提高集成測試的效果。(正確B)
A.該軟件的設計人員 B.不屬于該軟件開發組的軟件設計人員 C.該軟件開發組的負責人 D.該軟件的編程人員
第20題:軟件測試計劃的內容應包括(正確D)
A.測試目的、背景 B.被測軟件的功能、輸入和輸出 C.測試內容和評價標準 D.以上全部
第21題:計算機軟件或程序中存在的某種破壞正常運行能力的問題、錯誤,或者隱藏的功能缺陷是屬于(正確A)
A.缺陷 B.故障 C.失效 D.缺點
第22題:問題還沒有解決,測試人員新報告的缺陷,或驗證后缺陷仍然存在,這些缺陷所處的狀態是(正確A)
A.激活狀態 B.非激活狀態 C.已修正狀態 D.關閉狀態
第23題:下列不屬于軟件本身的原因產生的缺陷的是(正確C)
A.算法錯誤 B.語法錯誤 C.文檔錯誤 D.系統結構不合理
第24題:從軟件測試觀點出發,軟件缺陷由系統缺陷、加工缺陷、數據缺陷、代碼缺陷和()構成。(正確B)
A.設計缺陷 B.功能缺陷 C.性能缺陷 D.接口缺陷
第25題:下列缺陷中,不屬于加工缺陷的是(正確B)
A.算術與操作缺陷 B.接口缺陷 C.初始化缺陷 D.靜態邏輯缺陷