軟件測(cè)試筆試題匯總
什么是軟件測(cè)試?
軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。或者說,軟件測(cè)試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批測(cè)試用例(即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果),并利用這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過程。
軟件測(cè)試的目的?
測(cè)試的目的是想以最少的人力、物力和時(shí)間找出軟件中潛在的各種錯(cuò)誤和缺陷,通過修正種錯(cuò)誤和缺陷提高軟件質(zhì)量,回避軟件發(fā)布后由于潛在的軟件缺陷和錯(cuò)誤造成的隱患帶來的商業(yè)風(fēng)險(xiǎn)。
需求文檔測(cè)試:
主要測(cè)試需求中是否存在邏輯矛盾以及需求在技術(shù)上是否可以實(shí)現(xiàn);
設(shè)計(jì)文檔測(cè)試:
測(cè)試設(shè)計(jì)是否符合全部需求以及設(shè)計(jì)是否合理。
α測(cè)試:
Alpha測(cè)試(α測(cè)試)是由一個(gè)用戶在開發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的受控測(cè)試,Alpha測(cè)試不能由程序員或測(cè)試員完成。Alpha測(cè)試發(fā)現(xiàn)的錯(cuò)誤,可以在測(cè)試現(xiàn)場(chǎng)立刻反饋給開發(fā)人員,由開發(fā)人員及時(shí)分析和處理。目的是評(píng)價(jià)軟件產(chǎn)品的功能、可使用性、可靠性、性能和支持。尤其注重產(chǎn)品的界面和特色。Alpha測(cè)試可以從軟件產(chǎn)品編碼結(jié)束之后開始,或在模塊(子系統(tǒng))測(cè)試完成后開始,也可以在確認(rèn)測(cè)試過程中產(chǎn)品達(dá)到一定的穩(wěn)定和可靠程度之后再開始。有關(guān)的手冊(cè)(草稿)等應(yīng)該在Alpha測(cè)試前準(zhǔn)備好。
β測(cè)試
Beta測(cè)試(β測(cè)試)是軟件的多個(gè)用戶在一個(gè)或多個(gè)用戶的實(shí)際使用環(huán)境下進(jìn)行的測(cè)試。開發(fā)者通常不在測(cè)試現(xiàn)場(chǎng),Beta測(cè)試不能由程序員或測(cè)試員完成。因而,Beta測(cè)試是在開發(fā)者無法控制的環(huán)境下進(jìn)行的軟件現(xiàn)場(chǎng)應(yīng)用。在Beta測(cè)試中,由用戶記下遇到的所有問題,包括真實(shí)的以及主管認(rèn)定的,定期向開發(fā)者報(bào)告,開發(fā)者在綜合用戶的報(bào)告后,做出修改,最后將軟件產(chǎn)品交付給全體用戶使用。Beta測(cè)試著重于產(chǎn)品的支持性,包括文檔、客戶培訓(xùn)和支持產(chǎn)品的生產(chǎn)能力。只有當(dāng)Alpha測(cè)試達(dá)到一定的可靠程度后,才能開始Beta測(cè)試。由于Beta測(cè)試的主要目標(biāo)是測(cè)試可支持性,所以Beta測(cè)試應(yīng)該盡可能由主持產(chǎn)品發(fā)行的人員來管理。
驅(qū)動(dòng)模塊:
驅(qū)動(dòng)模塊在大多數(shù)場(chǎng)合稱為"主程序",它接收測(cè)試數(shù)據(jù)并將這些數(shù)據(jù)傳遞到被測(cè)試模塊.單元測(cè)試一個(gè)函數(shù)單元時(shí),被測(cè)單元本身是不能獨(dú)立運(yùn)行的,需要為其傳送數(shù)據(jù),為此寫驅(qū)動(dòng)
驅(qū)動(dòng)模塊主要完成以下事情:
1、接受測(cè)試輸入;
2、對(duì)輸入進(jìn)行判斷;
3、將輸入傳給被測(cè)單元,驅(qū)動(dòng)被測(cè)單元執(zhí)行;
4、接受被測(cè)單元執(zhí)行結(jié)果,并對(duì)結(jié)果進(jìn)行判斷;
5、將判斷結(jié)果作為用例執(zhí)行結(jié)果輸出測(cè)試報(bào)告。
樁模塊
比如對(duì)函數(shù)A做單元測(cè)試時(shí),被測(cè)的函數(shù)單元下還包括了一個(gè)函數(shù)B,為了更好的錯(cuò)誤,定位錯(cuò)誤,就要為函數(shù)B寫樁,來模擬函數(shù)B的功能,保證其正確。
白盒測(cè)試
白盒測(cè)試(White-box Testing,又稱邏輯驅(qū)動(dòng)測(cè)試,結(jié)構(gòu)測(cè)試),它是知道產(chǎn)品內(nèi)部工作過程,可通過測(cè)試來檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能,白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、基路測(cè)試等,主要用于軟件驗(yàn)證。
對(duì)開發(fā)語言的支持:白盒測(cè)試工具是對(duì)源代碼進(jìn)行的測(cè)試,測(cè)試的主要內(nèi)容包括詞法分析與語法分析、靜態(tài)錯(cuò)誤分析、動(dòng)態(tài)檢測(cè)等。目前測(cè)試工具主要支持的開發(fā)語言包括:標(biāo)準(zhǔn)C、C++、Visual C++、Java、Visual J++等。
靜態(tài)測(cè)試
動(dòng)態(tài)通過評(píng)審文檔、閱讀代碼等方式測(cè)試軟件稱為靜態(tài)測(cè)試,通過運(yùn)行程序測(cè)試軟件稱為測(cè)試.在動(dòng)態(tài)測(cè)試中,通常使用白盒測(cè)試和黑盒測(cè)試從不同的角度設(shè)計(jì)測(cè)試用例,查找軟件代碼中的錯(cuò)誤.
回歸測(cè)試
回歸測(cè)試的目的是在程序有修改的情況下,保證原有功能正常的一種測(cè)試策略和方法。
說白了就是,我們測(cè)試人員在對(duì)程序進(jìn)行測(cè)試時(shí)發(fā)現(xiàn)bug,然后返還程序員修改,程序員修改后發(fā)布新的軟件包或新的軟件補(bǔ)丁包給我們測(cè)試人員,我們就要重新對(duì)這個(gè)程序測(cè)試,已保證程序在修正了以前bug的情況下,正常運(yùn)行,且不會(huì)帶來新的錯(cuò)誤的這樣一個(gè)過程。 一般情況下是不需要全面測(cè)試的,而是根據(jù)修改的情況進(jìn)行有效的測(cè)試。
白盒測(cè)試有哪幾種方法?
白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是知道產(chǎn)品內(nèi)部工作過程,可通過測(cè)試來檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能,白盒測(cè)試的主要方法有邏輯驅(qū)動(dòng)、基路測(cè)試等,主要用于軟件驗(yàn)證。“白盒”法全面了解程序內(nèi)部邏輯結(jié)構(gòu)、對(duì)所有邏輯路徑進(jìn)行測(cè)試。“白盒”法是窮舉路徑測(cè)試。
軟件的缺陷等級(jí)應(yīng)如何劃分?
1.致命錯(cuò)誤,可能導(dǎo)致本模塊以及其他相關(guān)模塊異常,死機(jī)等問題;
2.嚴(yán)重錯(cuò)誤,問題局限在本模塊,導(dǎo)致模塊功能失效或異常退出
3.一般錯(cuò)誤,模塊功能部分失效;
4.建議問題,由問題提出人對(duì)測(cè)試對(duì)象的改進(jìn)意見;
如果能夠執(zhí)行完美的黑盒測(cè)試,還需要進(jìn)行白盒測(cè)試嗎?(白盒與黑盒的區(qū)別)
任何工程產(chǎn)品(注意是任何工程產(chǎn)品)都可以使用以下兩種方法之一進(jìn)行測(cè)試。
黑盒測(cè)試:已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以進(jìn)行測(cè)試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求。 白盒測(cè)試:已知產(chǎn)品的內(nèi)部工作過程,可以通過測(cè)試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過檢查。
軟件的黑盒測(cè)試意味著測(cè)試要在軟件的接口處進(jìn)行。這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測(cè)試又叫功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾類錯(cuò)誤:
1、是否有不正確或遺漏的功能?
2、在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)果?
3、是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問錯(cuò)誤?
4、性能上是否能夠滿足要求?
5、是否有初始化或終止性錯(cuò)誤?
軟件的白盒測(cè)試是對(duì)軟件的過程性細(xì)節(jié)做細(xì)致的檢查。這種方法是把測(cè)試對(duì)象看做一個(gè)打開的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計(jì)或選擇測(cè)試用例,對(duì)程序所有邏輯路徑進(jìn)行測(cè)試。通過在不同點(diǎn)檢查程序狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試。白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查:
1、對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍。
2、對(duì)所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測(cè)一遍。
3、在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。
4、測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等。
以上事實(shí)說明,軟件測(cè)試有一個(gè)致命的缺陷,即測(cè)試的不完全、不徹底性。由于任何程序只能進(jìn)行少量(相對(duì)于窮舉的巨大數(shù)量而言)的有限的測(cè)試,在未發(fā)現(xiàn)錯(cuò)誤時(shí),不能說明程序中沒有錯(cuò)誤。
軟件測(cè)試應(yīng)該劃分幾個(gè)階段?簡(jiǎn)述各個(gè)階段應(yīng)重點(diǎn)測(cè)試的點(diǎn)?各個(gè)階段的含義?
大體上來說可分為單元測(cè)試,集成測(cè)試,系統(tǒng)測(cè)試,驗(yàn)收測(cè)試,每個(gè)階段又分為以下五個(gè)步驟: 測(cè)試計(jì)劃,測(cè)試設(shè)計(jì),用例設(shè)計(jì),執(zhí)行結(jié)果,測(cè)試報(bào)告
初始測(cè)試集中在每個(gè)模塊上,保證源代碼的正確性,該階段成為單元測(cè)試,主要用白盒測(cè)試方法。 接下來是模塊集成和集成以便組成完整的軟件包。集成測(cè)試集中在證實(shí)和程序構(gòu)成問題上。主要采用黑盒測(cè)試方法,輔之以白盒測(cè)試方法。
軟件集成后,需要完成確認(rèn)和系統(tǒng)測(cè)試。確認(rèn)測(cè)試提供軟件滿足所有功能、性能需求的最后保證。確認(rèn)測(cè)試僅僅應(yīng)用黑盒測(cè)試方法。
單元測(cè)試
單元測(cè)試是對(duì)軟件中的基本組成單位進(jìn)行的測(cè)試,如一個(gè)模塊、一個(gè)過程等等。它是軟件動(dòng)態(tài)測(cè)試的最基本的部分,也是最重要的部分之一,其目的是檢驗(yàn)軟件基本組成單位的正確性。
集成測(cè)試
集成測(cè)試是在軟件系統(tǒng)集成過程中所進(jìn)行的測(cè)試,其主要目的是檢查軟件單位之間的接口是否正確。
系統(tǒng)測(cè)試
系統(tǒng)測(cè)試是對(duì)已經(jīng)集成好的軟件系統(tǒng)進(jìn)行徹底的測(cè)試,以驗(yàn)證軟件系統(tǒng)的正確性和性能等滿足其規(guī)約所指定的要求,檢查軟件的行為和輸出是否正確并非一項(xiàng)簡(jiǎn)單的任務(wù),它被稱為測(cè)試的“先知者問題”。
驗(yàn)收測(cè)試
驗(yàn)收測(cè)試旨在向軟件的購買者展示該軟件系統(tǒng)滿足其用戶的需求。它的測(cè)試數(shù)據(jù)通常是系統(tǒng)測(cè)試的測(cè)試數(shù)據(jù)的子集.
回歸測(cè)試
回歸測(cè)試是在軟件維護(hù)階段,對(duì)軟件進(jìn)行修改之后進(jìn)行的測(cè)試。其目的是檢驗(yàn)對(duì)軟件進(jìn)行的修改是否正確。
針對(duì)缺陷采取怎樣的管理措施?
1. 要更好的管理缺陷,必須引入缺陷管理工具,商用的或者開源的都可。
2. 根據(jù)缺陷的生命周期,考慮缺陷提交的管理、缺陷狀態(tài)的管理和缺陷分析的管理。
3. 所有發(fā)現(xiàn)的缺陷(不管是測(cè)試發(fā)現(xiàn)的還是走讀代碼發(fā)現(xiàn)的)都必須全部即時(shí)的、準(zhǔn)確的提交到缺陷管理工具中,這是缺陷提交的管理。
4. 缺陷提交后,需要即時(shí)的指派給相應(yīng)的開發(fā)人員,提交缺陷的人需要密切注意缺陷的狀態(tài), 幫助缺陷的盡快解決。缺陷解決后需要即時(shí)對(duì)缺陷的修復(fù)進(jìn)行驗(yàn)證。這樣的目的有兩個(gè):一個(gè)是讓缺陷盡快解決;二是方便后面缺陷的分析(保證缺陷相關(guān)的信息準(zhǔn)確,如齡期等),這是缺陷狀態(tài)的管理。 5. 為了更好的改進(jìn)開發(fā)過程和測(cè)試過程,需要對(duì)缺陷進(jìn)行分析,總結(jié)如缺陷的類別、缺陷的齡期分布等信息,這是缺陷分析的管理。
單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試的側(cè)重點(diǎn)是什么?
單元測(cè)試是在軟件開發(fā)過程中要進(jìn)行的最低級(jí)別的測(cè)試活動(dòng),在單元測(cè)試活動(dòng)中,軟件的獨(dú)立單元將在與程序的.其他部分相隔離的情況下進(jìn)行測(cè)試,測(cè)試重點(diǎn)是系統(tǒng)的模塊,包括子程序的正確性驗(yàn)證等。 集成測(cè)試,也叫組裝測(cè)試或聯(lián)合測(cè)試。在單元測(cè)試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求,組裝成為子系統(tǒng)或系統(tǒng),進(jìn)行集成測(cè)試。實(shí)踐表明,一些模塊雖然能夠單獨(dú)地工作,但并不能保證連接起來也能正常的工作。程序在某些局部反映不出來的問題,在全局上很可能暴露出來,影響功能的實(shí)現(xiàn)。測(cè)試重點(diǎn)是模塊間的銜接以及參數(shù)的傳遞等。
系統(tǒng)測(cè)試是將經(jīng)過測(cè)試的子系統(tǒng)裝配成一個(gè)完整系統(tǒng)來測(cè)試。它是檢驗(yàn)系統(tǒng)是否確實(shí)能提供系統(tǒng)方案說明書中指定功能的有效方法。測(cè)試重點(diǎn)是整個(gè)系統(tǒng)的運(yùn)行以及與其他軟件的兼容性。
設(shè)計(jì)用例的方法、依據(jù)有那些?
白盒測(cè)試用例設(shè)計(jì)有如下方法:基本路徑測(cè)試\等價(jià)類劃分\邊界值分析\覆蓋測(cè)試\循環(huán)測(cè)試\數(shù)據(jù)流測(cè)試\程序插樁測(cè)試\變異測(cè)試.這時(shí)候依據(jù)就是詳細(xì)設(shè)計(jì)說明書及其代碼結(jié)構(gòu)
黑盒測(cè)試用例設(shè)計(jì)方法:基于用戶需求的測(cè)試\功能圖分析方法\等價(jià)類劃分方法\邊界值分析方法\錯(cuò)誤推測(cè)方法\因果圖方法\判定表驅(qū)動(dòng)分析方法\正交實(shí)驗(yàn)設(shè)計(jì)方法.依據(jù)是用戶需求規(guī)格說明書,詳細(xì)設(shè)計(jì)說明書。
測(cè)試用例通常包括那些內(nèi)容?著重闡述編制測(cè)試用例的具體做法不同結(jié)構(gòu)的用例包括的不一樣(版本、編號(hào)、項(xiàng)目、設(shè)計(jì)人員、設(shè)計(jì)日期、輸入、預(yù)期輸出……)
軟件測(cè)試用例的基本要素包括測(cè)試用例編號(hào)、測(cè)試標(biāo)題、重要級(jí)別、測(cè)試輸入、操作步驟、預(yù)期結(jié)果。 用例編號(hào):測(cè)試用例的編號(hào)有一定的規(guī)則,比如系統(tǒng)測(cè)試用例的編號(hào)這樣定義規(guī)則:
PROJECT1-ST-001 ,命名規(guī)則是項(xiàng)目名稱+測(cè)試階段類型(系統(tǒng)測(cè)試階段)+編號(hào)。定義測(cè)試用例編號(hào),便于查找測(cè)試用例,便于測(cè)試用例的跟蹤。
測(cè)試標(biāo)題:對(duì)測(cè)試用例的描述,測(cè)試用例標(biāo)題應(yīng)該清楚表達(dá)測(cè)試用例的用途。比如 “ 測(cè)試用戶登錄時(shí)輸入錯(cuò)誤密碼時(shí),軟件的響應(yīng)情況 ” .重要級(jí)別:定義測(cè)試用例的優(yōu)先級(jí)別,可以籠統(tǒng)的分為 “ 高 ” 和 “ 低 ” 兩個(gè)級(jí)別。一般來說,如果軟件需求的優(yōu)先級(jí)為 “ 高 ” ,那么針對(duì)該需求的測(cè)試用例優(yōu)先級(jí)也為 “ 高 ” ;反之亦然,測(cè)試輸入:提供測(cè)試執(zhí)行中的各種輸入條件。根據(jù)需求中的輸入條件,確定測(cè)試用例的輸入。測(cè)試用例的輸入對(duì)軟件需求當(dāng)中的輸入有很大的依賴性,如果軟件需求中沒有很好的定義需求的輸入,那么測(cè)試用例設(shè)計(jì)中會(huì)遇到很大的障礙。
操作步驟:提供測(cè)試執(zhí)行過程的步驟。對(duì)于復(fù)雜的測(cè)試用例,測(cè)試用例的輸入需要分為幾個(gè)步驟完成,這部分內(nèi)容在操作步驟中詳細(xì)列出。
預(yù)期結(jié)果:提供測(cè)試執(zhí)行的預(yù)期結(jié)果,預(yù)期結(jié)果應(yīng)該根據(jù)軟件需求中的輸出得出。如果在實(shí)際測(cè)試過程中,得到的實(shí)際測(cè)試結(jié)果與預(yù)期結(jié)果不符,那么測(cè)試不通過;反之則測(cè)試通過。
描述使用bugzilla缺陷管理工具對(duì)軟件缺陷(BUG)跟蹤的管理的流程
1) 測(cè)試人員或開發(fā)人員發(fā)現(xiàn)bug后,判斷屬于哪個(gè)模塊的問題,填寫bug報(bào)告后,系統(tǒng)會(huì)自動(dòng)通過Email通知項(xiàng)目組長(zhǎng)或直接通知開發(fā)者。
2) 經(jīng)驗(yàn)證無誤后,修改狀態(tài)為VERIFIED.待整個(gè)產(chǎn)品發(fā)布后,修改為CLOSED.
3) 還有問題,REOPENED,狀態(tài)重新變?yōu)?ldquo;New",并發(fā)郵件通知。
4) 項(xiàng)目組長(zhǎng)根據(jù)具體情況,重新reassigned分配給bug所屬的開發(fā)者。
5) 若是,進(jìn)行處理,resolved并給出解決方法。(可創(chuàng)建補(bǔ)丁附件及補(bǔ)充說明)
6) 開發(fā)者收到Email信息后,判斷是否為自己的修改范圍。
7) 若不是,重新reassigned分配給項(xiàng)目組長(zhǎng)或應(yīng)該分配的開發(fā)者。
8) 測(cè)試人員查詢開發(fā)者已修改的bug,進(jìn)行重新測(cè)試。
【軟件測(cè)試筆試題匯總】相關(guān)文章:
軟件測(cè)試常見筆試題08-23
軟件測(cè)試面試筆試測(cè)試題01-27
2017軟件測(cè)試面試題06-13
2017軟件測(cè)試筆試題12-18
軟件測(cè)試筆試題集錦11-02
軟件測(cè)試常見筆試題目07-31
軟件測(cè)試常見筆試題分享11-27
華為軟件測(cè)試筆試題08-23
騰訊軟件測(cè)試常見筆試題08-19
軟件崗位測(cè)試筆試題目08-31