軟件測試面試筆試題
筆試是一種與面試對(duì)應(yīng)的測試,是用以考核應(yīng)聘者特定的知識(shí)、專業(yè)技術(shù)水平和文字運(yùn)用能力的一種書面考試形式。這種方法可以有效的測量應(yīng)聘人的基本知識(shí)、專業(yè)知識(shí)、管理知識(shí)、綜合分析能力和文字表達(dá)能力等素質(zhì)及能力的差異。筆試在員工招聘中有相當(dāng)大的作用,尤其是在大規(guī)模的員工招聘中,它可以一下子把員工的基本活動(dòng)了解清楚,然后可以劃分出一個(gè)基本符合需要的界限。適用面廣,費(fèi)用較少,可以大規(guī)模地運(yùn)用。
一、測試總體
1. 什么是軟件測試?
答:為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程
2. 軟件測試的目的?
答:首先,測試并不僅僅是為了要找出錯(cuò)誤。通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們設(shè)計(jì)出有針對(duì)性地檢測方法,改善測試的有效性。
其次,沒有發(fā)現(xiàn)錯(cuò)誤的測試也是有價(jià)值的,完整的測試是評(píng)定測試質(zhì)量的一種方法。詳細(xì)而嚴(yán)謹(jǐn)?shù)目煽啃栽鲩L模型可以證明這一點(diǎn)。
測試的目的是按照用戶所需軟件的質(zhì)量,檢查開發(fā)軟件過程出現(xiàn)的bug, 使得開發(fā)人員及時(shí)修改,可以避免在開發(fā)結(jié)束的時(shí)候發(fā)現(xiàn)軟件存在質(zhì)量問題,避免公司不必要的損失。贏得用戶對(duì)公司產(chǎn)品的認(rèn)可。
測試的目的是以最少人力、物力和時(shí)間找出軟件中潛在各種錯(cuò)誤和缺陷,通過修正種錯(cuò)誤和缺陷提高軟件質(zhì)量,回避軟件發(fā)布后由于潛在的軟件缺陷和錯(cuò)誤造成的隱患帶來的商業(yè)風(fēng)險(xiǎn)。
測試的附帶收獲是,它能夠證明軟件的功能和性能與需求說明相符合。實(shí)施測試收集到的測試結(jié)果數(shù)據(jù)為可靠性分析提供了依據(jù)。測試不能表明軟件中不存在錯(cuò)誤,它只能說明軟件中存在錯(cuò)誤。
3. 軟件測試的目標(biāo)
答:發(fā)現(xiàn)盡可能多的錯(cuò)誤。測試是一個(gè)為了尋找錯(cuò)誤而運(yùn)行程序的過程。一個(gè)好的測試案例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的用例。一個(gè)成功的測試是指揭示了迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試。
4. 軟件測試的原則
1) 應(yīng)當(dāng)把"盡早地和不斷地進(jìn)行軟件測試"作為軟件開發(fā)者的座右銘。
2) 測試用例應(yīng)由測試輸入數(shù)據(jù)和對(duì)應(yīng)的預(yù)期輸出結(jié)果這兩部分組成。
3) 程序員應(yīng)避免檢查自己的程序。
4) 在設(shè)計(jì)測試用例時(shí),應(yīng)包括合理的輸入條件和不合理的輸入條件。
5) 軟件測試的原則
6) 充分注意測試中的群集現(xiàn)象。經(jīng)驗(yàn)表明,測試后程序中殘存的錯(cuò)誤數(shù)目與該程序中已發(fā)現(xiàn)的錯(cuò)誤數(shù)目成正比。
7) 嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性軟件測試面試筆試題完全版軟件測試面試筆試題完全版。
8) 應(yīng)當(dāng)對(duì)每一個(gè)測試結(jié)果做全面檢查。
9) 妥善保存測試計(jì)劃,測試用例,出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。
5. 測試的職責(zé)
測試經(jīng)理:
1、制定測試計(jì)劃。
2、確保測試過程正常進(jìn)行。
測試工程師
1、編寫測試用例
2、搭建測試環(huán)境
3、執(zhí)行測試
6. 軟件都有多少種分類?
答:根據(jù)功能的不同,電腦軟件可以粗略地分成四個(gè)層次:
最貼近電腦硬件的是一些小巧的軟件。它們實(shí)現(xiàn)一些最基本的功能,通常"固化"在只讀存儲(chǔ)器芯片中,因此稱為固件。
系統(tǒng)軟件包括操作系統(tǒng)和編譯器軟件等。系統(tǒng)軟件和硬件一起提供一個(gè)"平臺(tái)"。它們管理和優(yōu)化電腦硬件資源的使用。
支持軟件。包括圖形用戶界面、軟件開發(fā)工具、軟件評(píng)測工具、數(shù)據(jù)庫管理系統(tǒng)、中間件等。
應(yīng)用軟件種類最多,包括辦公軟件、電子商務(wù)軟件、通信軟件、行業(yè)軟件,游戲軟件等等。
7. 測試的主要方面
答:A、功能測試:a、鏈接測試b、表單測試c、Cookies 測試d、設(shè)計(jì)語言測試e、數(shù)據(jù)庫測試
B、性能測試:a、連接速度測試b、負(fù)載測試c、壓力測試
C、接口測試:a、服務(wù)器接口b、外部接口c、錯(cuò)誤處理
D、可用性測試: a、導(dǎo)航測試b、圖形測試c、內(nèi)容測試d、整體界面測試
E、兼容性測試:a、平臺(tái)測試b、瀏覽器測試c、視頻測試d、Modem/連接速率測試f、打印機(jī)測試g、組合測試
F、安全測試:a、目錄設(shè)置b、登錄c、Session d、日志文件e、加密f、安全漏洞
G、代碼合法性測試:a、程序代碼合法性檢查b、顯示代碼合法性檢查
H、文檔測試:
8. 軟件測試的對(duì)象
答:軟件測試并不等于程序測試。軟件測試應(yīng)貫穿于軟件定義與開發(fā)的整個(gè)期間。需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)以及程序編碼等各階段所得到的文檔,包括需求規(guī)格說明、概要設(shè)計(jì)規(guī)格說明、詳細(xì)設(shè)計(jì)規(guī)格說明以及源程序,都應(yīng)成為軟件測試的對(duì)象
9. 什么是"測試案例"?
答:測試案例是一份文檔,它描述了一個(gè)輸入、反應(yīng)、或者是與其相應(yīng)的預(yù)期的響應(yīng),以便來判斷應(yīng)用軟件的工作是否正常。測試案例應(yīng)當(dāng)包括測試標(biāo)識(shí)、測試案例的名稱、目標(biāo)、測試條件/設(shè)置、輸入數(shù)據(jù)要求、步驟、以及預(yù)期的結(jié)果。
注:開發(fā)一個(gè)應(yīng)用軟件的測試案例的過程,需要全面、深入地考慮該軟件的操作,所以有助于發(fā)現(xiàn)在其需求或設(shè)計(jì)里面的問題。因此,如果有可能,在開發(fā)周期中應(yīng)當(dāng)盡早準(zhǔn)備測試案例。
10. 怎么編寫案例?
答:案例的編寫與測試階段的定義有很大的關(guān)系。系統(tǒng)測試和unit 測試的案例可能不同?傮w而言測試案例根據(jù)系統(tǒng)的需求而定。
11. 軟件測試的兩種方法
答:黑盒測試和白盒測試
黑盒:這種方法是把測試對(duì)象看做一個(gè)黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。黑盒測試又叫做功能測試或數(shù)據(jù)驅(qū)動(dòng)測試。
白盒:此方法把測試對(duì)象看做一個(gè)透明的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測試用例,對(duì)程序所有邏輯路徑進(jìn)行測試。通過在不同點(diǎn)檢查程序的狀態(tài),確定實(shí)際的狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試。
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. 軟件的生命周期
答:軟件生命周期是指一個(gè)計(jì)算機(jī)軟件從功能確定、設(shè)計(jì),到開發(fā)成功投入使用,并在使用中不斷地修改、增補(bǔ)和完善,直到停止該軟件的使用的全過程(從醞釀到廢棄的過程)
14. 什么是軟件的生命周期?
生命周期從收到應(yīng)用軟件開始算起,到該軟件不再使用為止。它有如下各方面的內(nèi)容:
初始構(gòu)思、需求分析、功能設(shè)計(jì)、內(nèi)部設(shè)計(jì)、文檔計(jì)劃、測試計(jì)劃、文檔準(zhǔn)備、集成、測試、維護(hù)、升級(jí)、再測試、逐步淘汰(phase-out)、等等。
15. 軟件測試按過程分為三個(gè)步驟
答:單元測試:單元測試又稱模塊測試,是針對(duì)軟件設(shè)計(jì)的最小單位─ 程序模塊,進(jìn)行正確性檢驗(yàn)的測試工作。其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯(cuò)軟件測試面試筆試題完全版默認(rèn)。
單元測試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測試用例。多個(gè)模塊可以平行地獨(dú)立進(jìn)行單元測試。
集成測試:在運(yùn)行(可能是不完整)的應(yīng)用中保證軟件單元被結(jié)合后能正常操作的測試執(zhí)行的階段
系統(tǒng)測試:當(dāng)應(yīng)用作為整體運(yùn)行時(shí)的測試執(zhí)行階段
16. 面向?qū)ο蟮脑O(shè)計(jì)如何影響測試?
答:好的面向?qū)ο蟮墓こ淘O(shè)計(jì)使得從代碼追溯內(nèi)部設(shè)計(jì)、再到功能測試,最后追溯到需求,成為一件容易的事。因?yàn)樗鼘?duì)黑盒測試的影響很少(不需要了解應(yīng)用軟件的內(nèi)部設(shè)計(jì)) ,而白盒測試只需針對(duì)該應(yīng)用軟件的對(duì)象。如果該應(yīng)用軟件設(shè)計(jì)得好,就可簡化測試設(shè)計(jì)
17. 軟件帶來錯(cuò)誤的原因很多。主要的原因有哪些?
1) 交流不夠、交流上有誤解或者根本不進(jìn)行交流
2) 軟件復(fù)雜性
3) 程序設(shè)計(jì)錯(cuò)誤
4) 需求變化
5) 時(shí)間壓力
6) 代碼文檔貧乏
7) 軟件開發(fā)工具
18. 軟件測試的步驟是什么?
1) 測試過程按4 個(gè)步驟進(jìn)行,即單元測試(Unit Testing)、集成測試(Integrated Testing)、確認(rèn)測試(Validation Testing)和系統(tǒng)測試(System Testing)及發(fā)版測試。
2) 開始是單元測試,集中對(duì)用源代碼實(shí)現(xiàn)的每一個(gè)程序單元進(jìn)行測試,檢查各個(gè)程序模塊是否正確地實(shí)現(xiàn)了規(guī)定的功能。
3) 集成測試把已測試過的模塊組裝起來,主要對(duì)與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的構(gòu)造進(jìn)行測試。
4) 確認(rèn)測試則是要檢查已實(shí)現(xiàn)的軟件是否滿足了需求規(guī)格說明中確定了的各種需求,以及軟件配置是否完全、正確。