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