軟件測試筆試題
筆試是一種與面試對應的測試,是用以考核應聘者特定的知識、專業(yè)技術水平和文字運用能力的一種書面考試形式。這種方法可以有效的測量應聘人的基本知識、專業(yè)知識、管理知識、綜合分析能力和文字表達能力等素質及能力的差異。筆試在員工招聘中有相當大的作用,尤其是在大規(guī)模的員工招聘中,它可以一下子把員工的基本活動了解清楚,然后可以劃分出一個基本符合需要的界限。
軟件測試筆試題1
一、測試總體
1. 什么是軟件測試?
答:為了發(fā)現程序中的錯誤而執(zhí)行程序的過程
2. 軟件測試的目的?
答:首先,測試并不僅僅是為了要找出錯誤。通過分析錯誤產生的原因和錯誤的分布特征,可以幫助項目管理者發(fā)現當前所采用的軟件過程的缺陷,以便改進。同時,這種分析也能幫助我們設計出有針對性地檢測方法,改善測試的有效性。
其次,沒有發(fā)現錯誤的測試也是有價值的,完整的測試是評定測試質量的一種方法。詳細而嚴謹的可靠性增長模型可以證明這一點。
測試的目的是按照用戶所需軟件的質量,檢查開發(fā)軟件過程出現的bug, 使得開發(fā)人員及時修改,可以避免在開發(fā)結束的時候發(fā)現軟件存在質量問題,避免公司不必要的損失。贏得用戶對公司產品的認可。
測試的目的是以最少人力、物力和時間找出軟件中潛在各種錯誤和缺陷,通過修正種錯誤和缺陷提高軟件質量,回避軟件發(fā)布后由于潛在的軟件缺陷和錯誤造成的隱患帶來的商業(yè)風險。
測試的附帶收獲是,它能夠證明軟件的功能和性能與需求說明相符合。實施測試收集到的測試結果數據為可靠性分析提供了依據。測試不能表明軟件中不存在錯誤,它只能說明軟件中存在錯誤。
3. 軟件測試的目標
答:發(fā)現盡可能多的錯誤。測試是一個為了尋找錯誤而運行程序的過程。一個好的測試案例是指很可能找到迄今為止尚未發(fā)現的錯誤的用例。一個成功的測試是指揭示了迄今為止尚未發(fā)現的錯誤的測試。
4. 軟件測試的原則
1) 應當把"盡早地和不斷地進行軟件測試"作為軟件開發(fā)者的座右銘。
2) 測試用例應由測試輸入數據和對應的預期輸出結果這兩部分組成。
3) 程序員應避免檢查自己的程序。
4) 在設計測試用例時,應包括合理的輸入條件和不合理的輸入條件。
5) 軟件測試的原則
6) 充分注意測試中的群集現象。經驗表明,測試后程序中殘存的錯誤數目與該程序中已發(fā)現的錯誤數目成正比。
7) 嚴格執(zhí)行測試計劃,排除測試的隨意性軟件測試面試筆試題完全版軟件測試面試筆試題完全版。
8) 應當對每一個測試結果做全面檢查。
9) 妥善保存測試計劃,測試用例,出錯統(tǒng)計和最終分析報告,為維護提供方便。
5. 測試的職責
測試經理:
1、制定測試計劃。
2、確保測試過程正常進行。
測試工程師
1、編寫測試用例
2、搭建測試環(huán)境
3、執(zhí)行測試
6. 軟件都有多少種分類?
答:根據功能的不同,電腦軟件可以粗略地分成四個層次:
最貼近電腦硬件的是一些小巧的軟件。它們實現一些最基本的功能,通常"固化"在只讀存儲器芯片中,因此稱為固件。
系統(tǒng)軟件包括操作系統(tǒng)和編譯器軟件等。系統(tǒng)軟件和硬件一起提供一個"平臺"。它們管理和優(yōu)化電腦硬件資源的使用。
支持軟件。包括圖形用戶界面、軟件開發(fā)工具、軟件評測工具、數據庫管理系統(tǒng)、中間件等。
應用軟件種類最多,包括辦公軟件、電子商務軟件、通信軟件、行業(yè)軟件,游戲軟件等等。
7. 測試的主要方面
答:A、功能測試:a、鏈接測試b、表單測試c、Cookies 測試d、設計語言測試e、數據庫測試
B、性能測試:a、連接速度測試b、負載測試c、壓力測試
C、接口測試:a、服務器接口b、外部接口c、錯誤處理
D、可用性測試: a、導航測試b、圖形測試c、內容測試d、整體界面測試
E、兼容性測試:a、平臺測試b、瀏覽器測試c、視頻測試d、Modem/連接速率測試f、打印機測試g、組合測試
F、安全測試:a、目錄設置b、登錄c、Session d、日志文件e、加密f、安全漏洞
G、代碼合法性測試:a、程序代碼合法性檢查b、顯示代碼合法性檢查
H、文檔測試:
8. 軟件測試的對象
答:軟件測試并不等于程序測試。軟件測試應貫穿于軟件定義與開發(fā)的整個期間。需求分析、概要設計、詳細設計以及程序編碼等各階段所得到的文檔,包括需求規(guī)格說明、概要設計規(guī)格說明、詳細設計規(guī)格說明以及源程序,都應成為軟件測試的對象
9. 什么是"測試案例"?
答:測試案例是一份文檔,它描述了一個輸入、反應、或者是與其相應的預期的響應,以便來判斷應用軟件的工作是否正常。測試案例應當包括測試標識、測試案例的名稱、目標、測試條件/設置、輸入數據要求、步驟、以及預期的結果。
注:開發(fā)一個應用軟件的測試案例的過程,需要全面、深入地考慮該軟件的操作,所以有助于發(fā)現在其需求或設計里面的問題。因此,如果有可能,在開發(fā)周期中應當盡早準備測試案例。
10. 怎么編寫案例?
答:案例的編寫與測試階段的定義有很大的關系。系統(tǒng)測試和unit 測試的案例可能不同?傮w而言測試案例根據系統(tǒng)的需求而定。
11. 軟件測試的兩種方法
答:黑盒測試和白盒測試
黑盒:這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。黑盒測試又叫做功能測試或數據驅動測試。
白盒:此方法把測試對象看做一個透明的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序的狀態(tài),確定實際的狀態(tài)是否與預期的狀態(tài)一致。因此白盒測試又稱為結構測試或邏輯驅動測試。
12. 測試結束的標準是什么?
答:1.用例全部執(zhí)行。2.覆蓋率達到標準。3.缺陷率達到標準。4.其他指標達到質量標準
13. 軟件的生命周期
答:軟件生命周期是指一個計算機軟件從功能確定、設計,到開發(fā)成功投入使用,并在使用中不斷地修改、增補和完善,直到停止該軟件的使用的全過程(從醞釀到廢棄的過程)
14. 什么是軟件的生命周期?
生命周期從收到應用軟件開始算起,到該軟件不再使用為止。它有如下各方面的內容:
初始構思、需求分析、功能設計、內部設計、文檔計劃、測試計劃、文檔準備、集成、測試、維護、升級、再測試、逐步淘汰(phase-out)、等等。
15. 軟件測試按過程分為三個步驟
答:單元測試:單元測試又稱模塊測試,是針對軟件設計的最小單位─ 程序模塊,進行正確性檢驗的測試工作。其目的在于發(fā)現各模塊內部可能存在的各種差錯軟件測試面試筆試題完全版默認。
單元測試需要從程序的內部結構出發(fā)設計測試用例。多個模塊可以平行地獨立進行單元測試。
集成測試:在運行(可能是不完整)的應用中保證軟件單元被結合后能正常操作的測試執(zhí)行的階段
系統(tǒng)測試:當應用作為整體運行時的測試執(zhí)行階段
16. 面向對象的設計如何影響測試?
答:好的面向對象的工程設計使得從代碼追溯內部設計、再到功能測試,最后追溯到需求,成為一件容易的事。因為它對黑盒測試的影響很少(不需要了解應用軟件的內部設計) ,而白盒測試只需針對該應用軟件的對象。如果該應用軟件設計得好,就可簡化測試設計
17. 軟件帶來錯誤的原因很多。主要的原因有哪些?
1) 交流不夠、交流上有誤解或者根本不進行交流
2) 軟件復雜性
3) 程序設計錯誤
4) 需求變化
5) 時間壓力
6) 代碼文檔貧乏
7) 軟件開發(fā)工具
18. 軟件測試的步驟是什么?
1) 測試過程按4 個步驟進行,即單元測試(Unit Testing)、集成測試(Integrated Testing)、確認測試(Validation Testing)和系統(tǒng)測試(System Testing)及發(fā)版測試。
2) 開始是單元測試,集中對用源代碼實現的每一個程序單元進行測試,檢查各個程序模塊是否正確地實現了規(guī)定的功能。
3) 集成測試把已測試過的模塊組裝起來,主要對與設計相關的軟件體系結構的構造進行測試。
4) 確認測試則是要檢查已實現的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全、正確。
軟件測試筆試題2
1、計算表達式x6+4x4+2x3+x+1最少需要做次乘法
A、3 B、4 C、5 D、6
2、給定3個int類型的正整數x,y,z,對如下4組表達式判斷正確的選項
int a1=x+y-z; int b1=x*y/z;
int a2=x-z+y; int b2=x/z*y;
int c1=x《》z; int d1=x&y|z;
int c2=x》》z《
A、a1一定等于a2
B、b1一定定于b2
C、c1一定等于c2
D、d1一定等于d2
3、程序的完整編譯過程分為是:預處理,編譯,匯編等,如下關于編譯階段的編譯優(yōu)化的說法中不正確的是
A、死代碼刪除指的是編譯過程直接拋棄掉被注釋的代碼;
B、函數內聯可以避免函數調用中壓棧和退棧的開銷
C、For循環(huán)的循環(huán)控制變量通常很適合調度到寄存器訪問
D、強度削弱是指執(zhí)行時間較短的指令等價的替代執(zhí)行時間較長的指令
4、如下關于進程的描述不正確的是
A、進程在退出時會自動關閉自己打開的所有文件
B、進程在退出時會自動關閉自己打開的網絡鏈接
C、進程在退出時會自動銷毀自己創(chuàng)建的所有線程
D、進程在退出時會自動銷毀自己打開的共享內存
軟件測試筆試題3
一、判斷題
1.軟件測試的目的是盡可能多的找出軟件的缺陷。(Y)
2.Beta測試是驗收測試的一種。(Y)
3.驗收測試是由最終用戶來實施的。(N)
4.項目立項前測試人員不需要提交任何工件。(Y)
5.單元測試能發(fā)現約80%的軟件缺陷。(Y)
6.代碼評審是檢查源代碼是否達到模塊設計的要求。(N)
7.自底向上集成需要測試員編寫驅動程序。(Y)
8.負載測試是驗證要檢驗的系統(tǒng)的能力最高能達到什么程度。(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測試是系統(tǒng)測試的一種
D.alpha測試是驗收測試的一種
4.測試設計員的職責有:(BC)
A.制定測試計劃
B.設計測試用例
C.設計測試過程、腳本
D.評估測試活動
5.軟件實施活動的進入準則是:(ABC)
A.需求工件已經被基線化
B.詳細設計工件已經被基線化
C.構架工件已經被基線化
D.項目階段成果已經被基線化
三、填空
1.軟件驗收測試包括:正式驗收測試,alpha測試,beta測試。
2.系統(tǒng)測試的策略有:功能測試,性能測試,可靠性測試,負載測試,易用性測試,強度測試,安全測試,配置測試,安裝測試,卸載測試,文擋測試,故障恢復測試,界面測試,容量測試,兼容性測試,分布測試,可用性測試,(有的可以合在一起,分開寫只要寫出15就滿分哦)
3.設計系統(tǒng)測試計劃需要參考的項目文擋有:軟件測試計劃,軟件需求工件和迭代計劃。
4.對面向過程的系統(tǒng)采用的集成策略有:自頂向下,自底向上兩種。
5.(這題出的有問題哦,詳細的5步驟為~~)通過畫因果圖來寫測試用例的步驟為:
(1)分析軟件規(guī)格說明描述中,哪些是原因(即輸入條件或輸入條件的等價類),哪些是結果(即輸出條件),并給每個原因和結果賦予一個標識符。
(2)分析軟件規(guī)格說明描述中的語義,找出原因與結果之間,原因與原因之間對應的是什么關系?根據這些關系,畫出因果圖。
(3)由于語法或環(huán)境限制,有些原因與原因之間,原因與結果之間的組合情況不可能出現。為表明這些特殊情況,在因果圖上用一些記號標明約束或限制條件。
(4)把因果圖轉換成判定表。
(5)把判定表的每一列拿出來作為依據,設計測試用例。
四、簡答(資料是搜集整理的,感謝前輩的解題)無
1.區(qū)別階段評審的與同行評審
同行評審目的:發(fā)現小規(guī)模工作產品的錯誤,只要是找錯誤;
階段評審目的:評審模塊階段作品的正確性可行性及完整性
同行評審人數:3-7人人員必須經過同行評審會議的培訓,由SQA指導
階段評審人數:5人左右評審人必須是專家具有系統(tǒng)評審資格
同行評審內容:內容小一般文檔
階段評審內容:內容多,主要看重點
同行評審時間:一小部分工作產品完成
階段評審時間:通常是設置在關鍵路徑的時間點上!
2.什么是軟件測試
為了發(fā)現程序中的錯誤而執(zhí)行程序的過程
3簡述集成測試的過程
系統(tǒng)集成測試主要包括以下過程:
1.構建的確認過程。
2.補丁的確認過程。
3.系統(tǒng)集成測試測試組提交過程。
4.測試用例設計過程。
5.測試代碼編寫過程。
6. Bug的報告過程。
7.每周/每兩周的構建過程。
8.點對點的測試過程。
9.組內培訓過程。
4怎么做好文檔測試
仔細閱讀,跟隨每個步驟,檢查每個圖形,嘗試每個示例。P142
檢查文檔的編寫是否滿足文檔編寫的目的
內容是否齊全,正確
內容是否完善
標記是否正確
5白盒測試有幾種方法
總體上分為靜態(tài)方法和動態(tài)方法兩大類。
靜態(tài):關鍵功能是檢查軟件的表示和描述是否一致,沒有沖突或者沒有歧義
動態(tài):語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋、路徑覆蓋。
6系統(tǒng)測試計劃是否需要同行審批,為什么
需要,系統(tǒng)測試計劃屬于項目階段性關鍵文檔,因此需要評審。
7Alpha測試與beta的區(qū)別
Alpha測試在系統(tǒng)開發(fā)接近完成時對應用系統(tǒng)的測試;測試后仍然會有少量的設計變更。這種測試一般由最終用戶或其它人員完成,不能由程序或測試員完成。
Beta測試當開發(fā)和測試根本完成時所做的測試,最終的錯誤和問題需要在最終發(fā)行前找到。這種測試一般由最終用戶或其它人員完成,不能由程序員或測試員完成。
8比較負載測試,容量測試和強度測試的區(qū)別
負載測試:在一定的工作負荷下,系統(tǒng)的負荷及響應時間。
強度測試:在一定的負荷條件下,在較長時間跨度內的系統(tǒng)連續(xù)運行給系統(tǒng)性能所造成的影響。
容量測試:容量測試目的是通過測試預先分析出反映軟件 系統(tǒng)應用特征的某項指標的極限值(如最大并發(fā)用戶數、數據庫記錄數等),系統(tǒng)在其極限值狀態(tài)下沒有出現任何軟件故障或還能保持主要功能正常運行。容量測試 還將確定測試對象在給定時間內能夠持續(xù)處理的最大負載或工作量。容量測試的目的是使系統(tǒng)承受超額的數據容量來發(fā)現它是否能夠正確處理。容量測試是面向數據 的,并且它的目的是顯示系統(tǒng)可以處理目標內確定的數據容量。
9測試結束的標準是什么?
用例全部測試。
覆蓋率達到標準。
缺陷率達到標準。
其他指標達到質量標準
10描述軟件測試活動的生命周期?
測試周期分為計劃、設計、實現、執(zhí)行、總結。其中:
計劃:對整個測試周期中所有活動進行規(guī)劃,估計工作量、風險,安排人力物力資源,安排進度等;
設計:完成測試方案,從技術層面上對測試進行規(guī)劃;
實現:進行測試用例和測試規(guī)程設計;
執(zhí)行:根據前期完成的計劃、方案、用例、規(guī)程等文檔,執(zhí)行測試用例。
總結:記錄測試結果,進行測試分析,完成測試報告。
11軟件的缺陷等級應如何劃分?
A類—嚴重錯誤,包括以下各種錯誤: 1. 由于程序所引起的死機,非法退出 2. 死循環(huán) 3. 數據庫發(fā)生死鎖 4. 因錯誤操作導致的程序中斷 5. 功能錯誤 6. 與數據庫連接錯誤 7. 數據通訊錯誤
B類—較嚴重錯誤,包括以下各種錯誤: 1. 程序錯誤 2. 程序接口錯誤 3. 數據庫的表、業(yè)務規(guī)則、缺省值未加完整性等約束條件
C類—一般性錯誤,包括以下各種錯誤: 1. 操作界面錯誤(包括數據窗口內列名定義、含義是否一致) 2. 打印內容、格式錯誤 3. 簡單的輸入限制未放在前臺進行控制 4. 刪除操作未給出提示 5. 數據庫表中有過多的空字段
D類—較小錯誤,包括以下各種錯誤: 1. 界面不規(guī)范 2. 輔助說明描述不清楚 3. 輸入輸出不規(guī)范 4. 長操作未給用戶提示 5. 提示窗口文字未采用行業(yè)術語 6. 可輸入區(qū)域和只讀區(qū)域沒有明顯的區(qū)分標志