软件测试常考题汇总
1.??????什么是需求文檔測試?
主要測試需求中是否存在邏輯矛盾以及需求在技術上是否可以實現(xiàn);
2.??????什么是設計文檔測試?
測試設計是否符合全部需求以及設計是否合理
3.??????什么是ALPHA測試?
Alpha測試(α測試)是由一個用戶在開發(fā)環(huán)境下進行的測試,也可以是公司內(nèi)部的用戶在模擬實際操作環(huán)境下進行的受控測試,Alpha測試不能由程序員或測試員完成。Alpha測試發(fā)現(xiàn)的錯誤,可以在測試現(xiàn)場立刻反饋給開發(fā)人員,由開發(fā)人員及時分析和處理。目的是評價軟件產(chǎn)品的功能、可使用性、可靠性、性能和支持。尤其注重產(chǎn)品的界面和特色。Alpha測試可以從軟件產(chǎn)品編碼結束之后開始,或在模塊(子系統(tǒng))測試完成后開始,也可以在確認測試過程中產(chǎn)品達到一定的穩(wěn)定和可靠程度之后再開始。有關的手冊(草稿)等應該在Alpha測試前準備好。
4.??????什么是beta測試?
Beta測試(β測試)是軟件的多個用戶在一個或多個用戶的實際使用環(huán)境下進行的測試。開發(fā)者通常不在測試現(xiàn)場,Beta測試不能由程序員或測試員完成。因而,Beta測試是在開發(fā)者無法控制的環(huán)境下進行的軟件現(xiàn)場應用。在Beta測試中,由用戶記下遇到的所有問題,包括真實的以及主管認定的,定期向開發(fā)者報告,開發(fā)者在綜合用戶的報告后,做出修改,最后將軟件產(chǎn)品交付給全體用戶使用。Beta測試著重于產(chǎn)品的支持性,包括文檔、客戶培訓和支持產(chǎn)品的生產(chǎn)能力。只有當Alpha測試達到一定的可靠程度后,才能開始Beta測試。由于Beta測試的主要目標是測試可支持性,所以Beta測試應該盡可能由主持產(chǎn)品發(fā)行的人員來管理。
5.??????什么是驅動模塊?
答:驅動模塊在大多數(shù)場合稱為"主程序",它接收測試數(shù)據(jù)并將這些數(shù)據(jù)傳遞到被測試模塊.單元測試一個函數(shù)單元時,被測單元本身是不能獨立運行的,需要為其傳送數(shù)據(jù),為此寫驅動
驅動模塊主要完成以下事情:
1、接受測試輸入;
2、對輸入進行判斷;
3、將輸入傳給被測單元,驅動被測單元執(zhí)行;
4、接受被測單元執(zhí)行結果,并對結果進行判斷;
5、將判斷結果作為用例執(zhí)行結果輸出測試報告
6.??????什么是樁模塊?
答:比如對函數(shù)A做單元測試時,被測的函數(shù)單元下還包括了一個函數(shù)B,為了更好的錯誤,定位錯誤,就要為函數(shù)B寫樁,來模擬函數(shù)B的功能,保證其正確。
7.??????什么是白盒測試?
答:白盒測試(White-box Testing,又稱邏輯驅動測試,結構測試),它是知道產(chǎn)品內(nèi)部工作過程,可通過測試來檢測產(chǎn)品內(nèi)部動作是否按照規(guī)格說明書的規(guī)定正常進行,按照程序內(nèi)部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用于軟件驗證。
對開發(fā)語言的支持:白盒測試工具是對源代碼進行的測試,測試的主要內(nèi)容包括詞法分析與語法分析、靜態(tài)錯誤分析、動態(tài)檢測等。目前測試工具主要支持的開發(fā)語言包括:標準C、C++、Visual C++、Java、Visual J++等。
8.??????回歸測試?
答:回歸測試的目的是在程序有修改的情況下,保證原有功能正常的一種測試策略和方法。
說白了就是,我們測試人員在對程序進行測試時發(fā)現(xiàn)bug,然后返還程序員修改,程序員修改后發(fā)布新的軟件包或新的軟件補丁包給我們測試人員,我們就要重新對這個程序測試,已保證程序在修正了以前bug的情況下,正常運行,且不會帶來新的錯誤的這樣一個過程。 一般情況下是不需要全面測試的,而是根據(jù)修改的情況進行有效的測試。
9.??????軟件缺陷如何劃分等級?
答:1.致命錯誤,可能導致本模塊以及其他相關模塊異常,死機等問題;
2.嚴重錯誤,問題局限在本模塊,導致模塊功能失效或異常退出
3.一般錯誤,模塊功能部分失效;
4.建議問題,由問題提出人對測試對象的改進意見;
10.??如果能執(zhí)行完美的黑河測試,還需要進行白盒測試嗎?(白盒與黑盒的區(qū)別)
答:任何工程產(chǎn)品(注意是任何工程產(chǎn)品)都可以使用以下兩種方法之一進行測試。
黑盒測試:已知產(chǎn)品的功能設計規(guī)格,可以進行測試證明每個實現(xiàn)了的功能是否符合要求。 白盒測試:已知產(chǎn)品的內(nèi)部工作過程,可以通過測試證明每種內(nèi)部操作是否符合設計規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過檢查。
軟件的黑盒測試意味著測試要在軟件的接口處進行。這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結構和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數(shù)據(jù)驅動測試。黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯誤:
1、是否有不正確或遺漏的功能?
2、在接口上,輸入是否能正確的接受?能否輸出正確的結果?
3、是否有數(shù)據(jù)結構錯誤或外部信息(例如數(shù)據(jù)文件)訪問錯誤?
4、性能上是否能夠滿足要求?
5、是否有初始化或終止性錯誤?
軟件的白盒測試是對軟件的過程性細節(jié)做細致的檢查。這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態(tài),確定實際狀態(tài)是否與預期的狀態(tài)一致。因此白盒測試又稱為結構測試或邏輯驅動測試。白盒測試主要是想對程序模塊進行如下檢查:
1、對程序模塊的所有獨立的執(zhí)行路徑至少測試一遍。
2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。
3、在循環(huán)的邊界和運行的界限內(nèi)執(zhí)行循環(huán)體。
4、測試內(nèi)部數(shù)據(jù)結構的有效性,等等。
以上事實說明,軟件測試有一個致命的缺陷,即測試的不完全、不徹底性。由于任何程序只能進行少量(相對于窮舉的巨大數(shù)量而言)的有限的測試,在未發(fā)現(xiàn)錯誤時,不能說明程序中沒有錯誤。
11.??軟件測試分為幾個階段?簡述各個階段重點測試的點?各個階段含義
答:大體上來說可分為單元測試,集成測試,系統(tǒng)測試,驗收測試,每個階段又分為以下五個步驟: 測試計劃,測試設計,用例設計,執(zhí)行結果,測試報告
初始測試集中在每個模塊上,保證源代碼的正確性,該階段成為單元測試,主要用白盒測試方法。 接下來是模塊集成和集成以便組成完整的軟件包。集成測試集中在證實和程序構成問題上。主要采用黑盒測試方法,輔之以白盒測試方法。
軟件集成后,需要完成確認和系統(tǒng)測試。確認測試提供軟件滿足所有功能、性能需求的最后保證。確認測試僅僅應用黑盒測試方法
12.??什么是集成測試?
答:集成測試是在軟件系統(tǒng)集成過程中所進行的測試,其主要目的是檢查軟件單位之間的接口是否正確。
13.??驗收測試
驗收測試旨在向軟件的購買者展示該軟件系統(tǒng)滿足其用戶的需求。它的測試數(shù)據(jù)通常是系統(tǒng)測試的測試數(shù)據(jù)的子集.
14.??單元測試,集成測試,系統(tǒng)測試的側重點是什么?
單元測試是在軟件開發(fā)過程中要進行的最低級別的測試活動,在單元測試活動中,軟件的獨立單元將在與程序的其他部分相隔離的情況下進行測試,測試重點是系統(tǒng)的模塊,包括子程序的正確性驗證等。集成測試,也叫組裝測試或聯(lián)合測試。在單元測試的基礎上,將所有模塊按照設計要求,組裝成為子系統(tǒng)或系統(tǒng),進行集成測試。實踐表明,一些模塊雖然能夠單獨地工作,但并不能保證連接起來也能正常的工作。程序在某些局部反映不出來的問題,在全局上很可能暴露出來,影響功能的實現(xiàn)。測試重點是模塊間的銜接以及參數(shù)的傳遞等。
系統(tǒng)測試是將經(jīng)過測試的子系統(tǒng)裝配成一個完整系統(tǒng)來測試。它是檢驗系統(tǒng)是否確實能提供系統(tǒng)方案說明書中指定功能的有效方法。測試重點是整個系統(tǒng)的運行以及與其他軟件的兼容性。
15.? 什么是軟件測試?
答:軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。或者說,軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結構而精心設計一批測試用例(即輸入數(shù)據(jù)及其預期的輸出結果),并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤的過程。
?
16.? 軟件測試的目的?
答;測試的目的是想以最少的人力、物力和時間找出軟件中潛在的各種錯誤和缺陷,通過修正種錯誤和缺陷提高軟件質(zhì)量,回避軟件發(fā)布后由于潛在的軟件缺陷和錯誤造成的隱患帶來的商業(yè)風險。
17.? 什么是靜態(tài)測試?
18.? 答:通過運行程序測試軟件稱為測試.通過評審文檔、閱讀代碼等方式測試軟件稱為靜態(tài)測試,在動態(tài)測試中,通常使用白盒測試和黑盒測試從不同的角度設計測試用例,查找軟件代碼中的錯誤.
?靜態(tài)測試方法是指不運行被測程序本身,僅通過分析或檢查源程序的語法、結構、過程、接口等來檢查程序的正確性。對需求規(guī)格說明書、軟件設計說明書、源程序做結構分析、流程圖分析、符號執(zhí)行來找錯。靜態(tài)方法通過程序靜態(tài)特性的分析,找出欠缺和可疑之處,例如不匹配的參數(shù)、不適當?shù)难h(huán)嵌套和分支嵌套、不允許的遞歸、未使用過的變量、空指針的引用和可疑的計算等。靜態(tài)測試結果可用于進一步的查錯,并為測試用例選取提供指導。
?
總結
- 上一篇: 测试分类与测试用例
- 下一篇: QQ使用了什么通讯协议?为什么要这样做?