資源描述:
《軟件測試面試題+測試基礎(chǔ)知識》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、軟件測試面試題1、測試的定義軟件測試是軟件工程過程的一個重要階段,是在軟件升級發(fā)布之前對軟件開發(fā)各階段產(chǎn)品的最終檢查,是為了保證軟件開發(fā)產(chǎn)品的正確性、完全性和一致性而檢測軟件錯誤、修正軟件錯誤的過程。軟件測試是:1)程序測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程2)測試是為了證明程序有錯,而不是證明程序無錯誤;3)一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;4)一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。軟件開發(fā)的目的:是開發(fā)出實現(xiàn)用戶需求的高質(zhì)量、高性能的軟件產(chǎn)品,而軟件測試是以檢查軟件功能和其
2、他非功能特性為核心,是軟件質(zhì)量保證的關(guān)鍵,也是成功實現(xiàn)軟件開發(fā)目標(biāo)的重要保障。2、測試的種類測試的種類從測試方法角度分為分為:2.1從測試方法角度分為:黑盒測試:2.1.1黑盒測試:是功能測試、數(shù)據(jù)驅(qū)動測試或基于規(guī)格說明的測試。在不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者依據(jù)該程序功能上的輸入輸出關(guān)系,或是程序的外部特性來設(shè)計和選擇測試用例,推斷程序編碼的正確性。黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)
3、和內(nèi)部特性的情況下,在程序接口進(jìn)行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息。黑盒測試著眼于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對軟件界面和軟件功能進(jìn)行測試。1.等價類劃分1.等價類劃分(1)劃分等價類。①如果某個輸入條件規(guī)定了取值范圍或值的個數(shù)。則可確定一個合理的等價類(輸入值或數(shù)在此范圍內(nèi))和兩個不合理等價類(輸入值或個數(shù)小于這個范圍的最小值或大于這個范圍的最大值)。②如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序?qū)Σ煌妮斎胫底霾?/p>
4、同的處理,則每個允許輸入值是一個合理等價類,此處還有一個不合理等價類(任何一個不允許的輸入值)。③如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,可確定一個合理等價類(符合規(guī)則)和若干個不合理等價類(從各種不同角度違反規(guī)則)。④如果已劃分的等價類中各元素在程序中的處理方式不同,則應(yīng)將此等價類進(jìn)一步劃分為更小的等價類。(2)確定測試用例。①為每一個等價類編號。②設(shè)計一個測試用例,使其盡可能多地覆蓋尚未被覆蓋過的合理等價類。重復(fù)這步,直到所有合理等價類被測試用例覆蓋。③設(shè)計一個測試用例,使其只覆蓋一個不合理等價類
5、。2.邊界值分析2.邊界值分析使用邊界值分析方法設(shè)計測試用例時一般與等價類劃分結(jié)合起來。但它不是從一個等價類中任選一個例子作為代表,而是將測試邊界情況作為重點目標(biāo),選取正好等于、剛剛大于或剛剛小于邊界值的測試數(shù)據(jù)。(1)如果輸入條件規(guī)定了值的范圍,可以選擇正好等于邊界值的數(shù)據(jù)作為合理的測試用例,同時還要選擇剛好越過邊界值的數(shù)據(jù)作為不合理的測試用例。如輸入值的范圍是[1,100],可取0,1,100,101等值作為測試數(shù)據(jù)。(2)如果輸入條件指出了輸入數(shù)據(jù)的個數(shù),則按最大個數(shù)、最小個數(shù)、比最小個數(shù)
6、少1、比最大個數(shù)多1等情況分別設(shè)計測試用例。如,一個輸入文件可包括1--255個記錄,則分別設(shè)計有1個記錄、255個記錄,以及0個記錄的輸入文件的測試用例。(3)對每個輸出條件分別按照以上原則(1)或(2)確定輸出值的邊界情況。如,一個學(xué)生成績管理系統(tǒng)規(guī)定,只能查詢95--98級大學(xué)生的各科成績,可以設(shè)計測試用例,使得查詢范圍內(nèi)的某一屆或四屆學(xué)生的學(xué)生成績,還需設(shè)計查詢94級、級學(xué)生成績的測試用例(不99合理輸出等價類)。由于輸出值的邊界不與輸入值的邊界相對應(yīng),所以要檢查輸出值的邊界不一定可能,
7、要產(chǎn)生超出輸出值之外的結(jié)果也不一定能做到,但必要時還需試一試。(4)如果程序的規(guī)格說明給出的輸入或輸出域是個有序集合(如順序文件、線形表、鏈表等),則應(yīng)選取集合的第一個元素和最后一個元素作為測試用例。3.錯誤推測法3.錯誤推測法錯誤推測在測試程序時,人們可能根據(jù)經(jīng)驗或直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的測試用例,這就是錯誤推測法。4.因果圖因果圖法4.因果圖法等價類劃分和邊界值方法分析方法都只是孤立地考慮各個輸入數(shù)據(jù)的測試功能,而沒有考慮多個輸入數(shù)據(jù)的組合引起的錯誤
8、。5.判斷表驅(qū)動法5.判斷表驅(qū)動法6.正交試驗設(shè)計法7.功能圖法7.功能圖法白盒測試:2.1.2白盒測試:是結(jié)構(gòu)測試、邏輯驅(qū)動測試或基于程序的測試。測試者熟悉程序的內(nèi)部結(jié)構(gòu),依據(jù)程序模塊的內(nèi)部結(jié)構(gòu)來設(shè)計測試用例,檢測程序代碼的正確性白盒測試是結(jié)構(gòu)測試,所以被測對象基本上是源程序,以程序的內(nèi)部邏輯為基礎(chǔ)設(shè)計測試用例。白盒測試方法:總體上分為靜態(tài)方法和動態(tài)方法兩大類。靜態(tài)測試方法:不要求在計算機上實際執(zhí)行所測程序,主要以一些人工的模擬技術(shù)對軟件進(jìn)行分析和測試,關(guān)鍵功能是檢查軟件的表示和描述是否一致,