軟件測試基礎(chǔ)教程_第1頁
軟件測試基礎(chǔ)教程_第2頁
軟件測試基礎(chǔ)教程_第3頁
軟件測試基礎(chǔ)教程_第4頁
軟件測試基礎(chǔ)教程_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、軟件測試基礎(chǔ)教程測試的基本概念測試是軟件生存周期中十分重要的一個過程, 是產(chǎn)品發(fā)布、 提交給最終用戶前的 穩(wěn)定化階段。1、測試的分類:從測試方法的角度可以分為手工測試和自動化測試。手工測試: 不使用任何測試工具, 根據(jù)事先設(shè)計(jì)好的測試用例來運(yùn)行系統(tǒng), 測試 各功能模塊。自動化測試:利用測試工具, 通過編寫測試腳本和輸入測試數(shù)據(jù), 自動運(yùn)行測試 程序。目前最常用的自動化測試工具是基于 GUI 的自動化測試工具, 基本原理都 是錄制、回放技術(shù)。從整體的角度可以分為單元測試、集成測試、系統(tǒng)測試、確認(rèn)測試。單元測試:是針對軟件設(shè)計(jì)的最小單位程序模塊, 進(jìn)行正確性檢驗(yàn)的測試工作。 一般包括邏輯檢查、結(jié)構(gòu)

2、檢查、接口檢查、出錯處理、代碼注釋、輸入校驗(yàn)、邊 界值檢查。單元測試的依據(jù)是系統(tǒng)的詳細(xì)設(shè)計(jì);一般由項(xiàng)目組開發(fā)人員自己完成。集成測試: 在單元測試的基礎(chǔ)上, 將所有模塊按照設(shè)計(jì)要求組裝進(jìn)行測試。 一般 包括邏輯關(guān)系檢查、數(shù)據(jù)關(guān)系檢查、業(yè)務(wù)關(guān)系檢查、模塊間接口檢查、外部接口 檢查。系統(tǒng)測試:系統(tǒng)測試是在所有單元、 集成測試后, 對系統(tǒng)的功能及性能的總體測 試。確認(rèn)測試: 模擬用戶運(yùn)行的業(yè)務(wù)環(huán)境, 運(yùn)用黑盒測試方法, 驗(yàn)證軟件系統(tǒng)是否滿 足用戶需求或軟件需求說明書中指明的軟件特性(功能、非功能)上的。從測試原理上分為:白盒測試、黑盒測試和灰盒測試。白盒測試: 是通過程序的源代碼進(jìn)行測試而不使用用戶界

3、面。 這種類型的測試需 要從代碼句法發(fā)現(xiàn)內(nèi)部代碼在算法,溢出,路徑,條件等等中的缺點(diǎn)或者錯誤, 進(jìn)而加以修正。黑盒測試:是通過使用整個軟件或某種軟件功能來嚴(yán)格地測試 , 而并沒有通過檢 查程序的源代碼或者很清楚地了解該軟件的源代碼程序具體是怎樣設(shè)計(jì)的。 測試 人員通過輸入他們的數(shù)據(jù)然后看輸出的結(jié)果從而了解軟件怎樣工作。在測試時, 把程序看作一個不能打開的黑盆子, 在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部 特性的情況下,測試者在程序接口進(jìn)行測試,它只檢查程序功能是否按照需求 規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蘸驼_的輸出。黑盒測試 方法主要有等價(jià)類劃分、邊界值分析、因果圖、錯誤推測法。等價(jià)類劃

4、分:是把所有可能的輸入數(shù)據(jù) ,即程序的輸入域劃分成若干部分 (子集), 然后從每一 個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例 . 該方法是一種重要的 ,常用 的黑盒測試用例設(shè)計(jì)方法 .1) 劃分等價(jià)類 : 等價(jià)類是指某個輸入域的子集合 . 在該子集合中 , 各個輸 入數(shù)據(jù)對于揭露程序中的錯誤都是等效的 .并合理地假定 :測試某等價(jià)類的代表 值就等于對這一類其它值的測試 .因此, 可以把全部輸入數(shù)據(jù)合理劃分為若干等 價(jià)類, 在每一個等價(jià)類中取一個數(shù)據(jù)作為測試的輸入條件 , 就可以用少量代表性 的測試數(shù)據(jù) . 取得較好的測試結(jié)果 .等價(jià)類劃分可有兩種不同的情況 : 有效等價(jià)類 和無效等價(jià)類 .

5、有效等價(jià)類 : 是指對于程序的規(guī)格說明來說是合理的 ,有意義的輸入數(shù)據(jù)構(gòu)成的 集合. 利用有效等價(jià)類可檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能 . 無效等價(jià)類 : 與有效等價(jià)類的定義恰巧相反 .設(shè)計(jì)測試用例時 , 要同時考慮這兩種等價(jià)類 . 因?yàn)? 軟件不僅要能接收合理的 數(shù)據(jù), 也要能經(jīng)受意外的考驗(yàn) .這樣的測試才能確保軟件具有更高的可靠性 .邊界值分析: 長期的測試工作經(jīng)驗(yàn)告訴我們 , 大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上 ,而不是發(fā)生在輸入輸出范圍的內(nèi)部 . 因此針對各種邊界情況設(shè)計(jì)測試用例 ,可以查出更多的錯誤。錯誤推測法: 基于經(jīng)驗(yàn)和直覺推測程序中所有可能存在的各種錯誤 ,

6、 從而有針對性的設(shè)計(jì)測 試用例的方法 . 錯誤推測方法的基本思想 : 列舉出程序中所有可能有的錯誤和容 易發(fā)生錯誤的特殊情況 , 根據(jù)他們選擇測試用例 . 例如, 在單元測試時曾列出的 許多在模塊中常見的錯誤 . 以前產(chǎn)品測試中曾經(jīng)發(fā)現(xiàn)的錯誤等 , 這些就是經(jīng)驗(yàn) 的總結(jié). 還有, 輸入數(shù)據(jù)和輸出數(shù)據(jù)為 0 的情況. 輸入表格為空格或輸入表格 只有一行 . 這些都是容易發(fā)生錯誤的情況 . 可選擇這些情況下的例子作為測試 用例?;液袦y試: 灰盒測試就像黑盒測試一樣是通過用戶界面測試, 但是測試人員已經(jīng) 有所了解該軟件或某種軟件功能的源代碼程序具體是怎樣設(shè)計(jì)的。 甚至于還讀過 部分源代碼。因此測試人

7、員可以有真對性地進(jìn)行某種確定的條件 / 功能的測試。從軟件特性上分為功能測試和性能測試。功能測試: 是指為了確保軟件系統(tǒng)功能實(shí)現(xiàn)的正確性, 完整性和其他特性而進(jìn)行 的測試。性能測試: 是指為了評估軟件系統(tǒng)的性能狀況, 和預(yù)測軟件系統(tǒng)性能趨勢而進(jìn)行 的測試和分析。2、BUG的定義:B U G: (小錯誤,缺陷,不足,過失 ,) 一個計(jì)算機(jī) bug 指在計(jì)算機(jī)程序中存在 的一個錯誤( error )、缺陷( flaw )、疏忽( mistake )或者故障( fault ), 這些bug使程序無法正確的運(yùn)行。Bug產(chǎn)生于程序的源代碼或者程序設(shè)計(jì)階段的 疏忽或者錯誤。Defect : (缺陷) 在軟

8、件工程( Software Engineering )中,軟件與它的需求 (requirements )不一致,常常指軟件無法正確完成需求所要求的功能, 也稱之 為 bug。Fault : ( 故障) 被定義為存在于組件、設(shè)備或者子系統(tǒng)中異常的條件或者缺陷, 常常會導(dǎo)致系統(tǒng)的失敗。Error : (錯誤) 一個 error 是指編寫錯誤的代碼, 通常是無意中造成的。 一般有 兩類主要的錯誤,一是語法錯誤( syntax error ),該類錯誤易于檢測,因?yàn)榇?碼在編譯階段無法解析而不能正常編譯通過。另一個是邏輯錯誤( logical error ),因?yàn)樗c代碼的實(shí)際執(zhí)行密切相關(guān)所以不易發(fā)現(xiàn)

9、。項(xiàng)目測試的規(guī)劃 項(xiàng)目測試內(nèi)容:將項(xiàng)目測試分為項(xiàng)目開發(fā)階段測試和項(xiàng)目完工驗(yàn)收測試兩個部分。開發(fā)階段測試內(nèi)容主要包括:模塊功能測試、集成測試和文檔檢查。模塊功能測試:確保系統(tǒng)各功能模塊能夠正常運(yùn)行, 數(shù)據(jù)的IPO符合系統(tǒng)設(shè)計(jì)的 要求。單元和模塊功能滿足需求定義。集成測試: 系統(tǒng)各模塊組裝后, 根據(jù)業(yè)務(wù)流程的要求, 能夠正確地完成各業(yè)務(wù)功 能,并且數(shù)據(jù)的處理和輸出正確。文檔檢查:在項(xiàng)目開發(fā)階段, 按照項(xiàng)目進(jìn)度表, 根據(jù)項(xiàng)目文檔測試規(guī)范與標(biāo)準(zhǔn) , 對提交的項(xiàng)目文檔和記錄 (技術(shù)文檔和管理文檔) 進(jìn)行檢查和驗(yàn)證, 以符合公司 質(zhì)量體系和項(xiàng)目制度的要求, 對于技術(shù)類文檔的關(guān)鍵要素, 驗(yàn)證是否能夠達(dá)到通

10、過標(biāo)準(zhǔn)。完工驗(yàn)收測試內(nèi)容主要包括:安裝測試、功能驗(yàn)證、性能測試、需求驗(yàn)證、文檔 測試。完工驗(yàn)收測試實(shí)際上是項(xiàng)目在結(jié)項(xiàng)前的一個全面的檢查和驗(yàn)證。 可以作為 項(xiàng)目結(jié)項(xiàng)的依據(jù)和放行條件。需求測試: 檢查軟件產(chǎn)品是否滿足該項(xiàng)目的需求說明書中規(guī)定的功能需求, 檢查 需求的完整性、一致性、最新性,該項(xiàng)測試重點(diǎn)是需求滿足的完整性。安裝測試: 根據(jù)項(xiàng)目提供的安裝文檔中的安裝步驟, 搭建系統(tǒng)運(yùn)行環(huán)境, 檢查系 統(tǒng)安裝過程是否正確。 可能包括數(shù)據(jù)庫服務(wù)器的安裝與配置、 應(yīng)用服務(wù)器、 控件 注冊、客戶端的安裝與配置、應(yīng)用軟件的安裝。功能驗(yàn)證:按照需求說明書和系統(tǒng)概要設(shè)計(jì),逐項(xiàng)檢查各項(xiàng)功能(功能單元、功 能模塊)的可

11、運(yùn)行性和正確性。文檔測試: 文檔測試從項(xiàng)目立項(xiàng)時就開始了, 實(shí)際上就是文檔檢查, 包括規(guī)范性 檢查和有效性檢查。 目的是使項(xiàng)目相關(guān)的文檔和記錄既規(guī)范又有意義, 不是為了 應(yīng)付的無用文件。對于技術(shù)文檔如:需求說明書、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)等,在技 術(shù)評審時也進(jìn)行了評測。用戶文檔,如安裝手冊、用戶操作手冊,根據(jù)文檔檢查 規(guī)范進(jìn)行。性能測試: 這部分測試的來源, 嚴(yán)格來講, 取決于用戶對軟件特性的一些特定要 求,另外,就是公司的開發(fā)部門對產(chǎn)品的一些基本的性能要求。 若用戶從業(yè)務(wù)的 角度考慮, 對軟件產(chǎn)品本身有特定的非功能要求, 則必須在軟件需求說明書中加 以說明,使之具有可度量和可測試性。 對于一些多用

12、戶環(huán)境或數(shù)據(jù)處理能力和負(fù) 載方面的測試, 很難通過手工搭建測試環(huán)境來測試, 所以可以參考使用一些專門 的性能測試工具和手工測試相結(jié)合的方式。項(xiàng)目測試的基本流程:1、項(xiàng)目測試啟動:項(xiàng)目立項(xiàng)后,在測試配置庫中創(chuàng)建項(xiàng)目。2、測試計(jì)劃:系統(tǒng)詳細(xì)設(shè)計(jì)后,制定測試計(jì)劃,準(zhǔn)備測試資源。3、設(shè)計(jì)測試用例,主要是與業(yè)務(wù)相關(guān)的測試用例。4、實(shí)施功能模塊測試,搭建運(yùn)行或開發(fā)環(huán)境,采用功能模塊測試表的方式,開 發(fā)人員在功能模塊測試表中更新進(jìn)度狀態(tài), 測試人員在該表中描述測試進(jìn)度。 形 成測試錯誤列表,該表對每個錯誤都有相應(yīng)的測試記錄與之鏈接, 在測試記錄中, 詳細(xì)描述錯誤的情況。在測試記錄中還要包括修正信息和驗(yàn)證信息

13、。5、錯誤關(guān)閉后,測試人員維護(hù)測試記錄表和更新測試用例庫和問題庫,作為經(jīng) 驗(yàn)積累。6、項(xiàng)目在結(jié)項(xiàng)時,測試人員進(jìn)行項(xiàng)目完工驗(yàn)收測試,填寫項(xiàng)目測試報(bào)告。該測 試報(bào)告可作為用戶驗(yàn)收的輸入工件。三、 功能測試方法與內(nèi)容1、數(shù)據(jù)輸入測試:向系統(tǒng)輸入數(shù)據(jù)或輸入數(shù)據(jù)庫操作命令時,一般是測試系統(tǒng) 對數(shù)據(jù)庫中數(shù)據(jù)操作的過程。數(shù)據(jù)類型測試: 由于不同的數(shù)據(jù)庫系統(tǒng)對數(shù)據(jù)類型要求的不同, 在定義數(shù)據(jù)庫表 時,也規(guī)定了數(shù)據(jù)字段的數(shù)據(jù)類型。 測試步驟和方法: 在系統(tǒng)的數(shù)據(jù)維護(hù)功能界 面上,錄入或修改數(shù)據(jù)時, 特意輸入非系統(tǒng)設(shè)計(jì)的數(shù)據(jù)類型, 檢查系統(tǒng)是否可以 接受,若不能接受則檢查是否滿足了系統(tǒng)在這方面的設(shè)計(jì)要求, 如即刻

14、清除非法 內(nèi)容、輸入焦點(diǎn)不能到下一輸入位置、 出現(xiàn)系統(tǒng)自定義的提示信息、 不允許出現(xiàn) 開發(fā)工具的報(bào)錯信息等。 若系統(tǒng)可以接受并保存, 則要看數(shù)據(jù)庫表的字段類型設(shè) 計(jì)是否與用戶或習(xí)慣上不一致, 并且要注意其他模塊在調(diào)取該數(shù)據(jù)時, 是否有特 定要求。邊界值測試: 根據(jù)數(shù)據(jù)取值范圍的要求, 輸入符合取值范圍的數(shù)據(jù)、 取值范圍的 上、下限和超過取值范圍的數(shù)據(jù)。 注意,除要測試數(shù)據(jù)庫系統(tǒng)本身數(shù)據(jù)類型取值 范圍外,還要根據(jù)軟件系統(tǒng)設(shè)計(jì)中的一些特定要求,設(shè)計(jì)測試用例來測試。數(shù)據(jù)合法性測試:測試人員除了要測試輸入數(shù)據(jù)是否滿足所使用數(shù)據(jù)庫系統(tǒng)本身 的數(shù)據(jù)類型和取值范圍的要求外, 還應(yīng)該根據(jù)經(jīng)驗(yàn)和軟件系統(tǒng)和需求的

15、特定要求 檢查輸入數(shù)據(jù)的合法性。比如:日期合法性(出生年月、參保日期、發(fā)生時間、 根據(jù)習(xí)慣和業(yè)務(wù)邏輯順序?qū)θ掌诤侠硇缘囊蟮龋9べY、比例、率等,都要注 意輸入的合理、合法性。單引號和雙引號: 不要忽略輸入單引號和雙引號可能引起的錯誤和數(shù)據(jù)問題。 在 功能錄入界面上, 在某字段的輸入框輸入了包括單引號和雙引號的數(shù)據(jù), 以后在 通過Select語句查詢時可能會出問題。特別在基于 WE商式的系統(tǒng),輸入了單 引號,在查詢數(shù)據(jù)記錄時, 肯定會出現(xiàn)頁面鏈接錯誤 (頁面無法鏈接或找不到或 鏈接對象錯誤)??罩禍y試: 在測試數(shù)據(jù)錄入或修改的功能界面時, 若不輸入任何東西, 系統(tǒng)又沒 有設(shè)計(jì)成 NOT NUL

16、,L 則這時,要非常注意其影響。因?yàn)閿?shù)據(jù)可以正常保存,但數(shù)據(jù)表該字段是空值,那么所有與該字段有關(guān)的操作,女口:查詢(AND)、計(jì)算(累 加、連乘)等,則可能出現(xiàn)數(shù)據(jù)問題(計(jì)算結(jié)果為 0,無記錄返回)。對于測試 人員首先要檢查系統(tǒng)到底是作為空值, 還是作為空串或空字符處理。 另外對于允 許不輸入任何值的字段,在測試過程中,要檢查是否在界面顯示或打印報(bào)表時, 這些字段作為了關(guān)鍵要素或標(biāo)題等情況??崭瘢涸跀?shù)據(jù)維護(hù)的功能界面上,輸入數(shù)據(jù)時,要注意是否在輸入位置有空格, 首先看系統(tǒng)設(shè)計(jì)時, 是怎么考慮的, 若系統(tǒng)允許輸入空格, 則檢查條件查詢或作 為調(diào)用參數(shù)時的數(shù)據(jù)返回情況;另外檢查程序是否使用了去掉空

17、格的函數(shù)。數(shù)據(jù)校驗(yàn)的不一致:測試時,對于一些編號、編碼、代碼等主鍵或作為查詢或調(diào) 用條件的字段,要注意系統(tǒng)對他們的輸入合法性檢查與查詢或調(diào)用條件的要求是 否是一致的。 特別是對于數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)中沒有特定約束, 而由程序進(jìn)行校驗(yàn)控制 的情況。分析:數(shù)據(jù)輸入測試的主要目的是保證輸入到系統(tǒng)中數(shù)據(jù)的合法、 合理性。我覺 得,數(shù)據(jù)輸入過程的檢查是非常重要的, 若在編程過程中, 不注重?cái)?shù)據(jù)的校驗(yàn)功 能,雖然看起來加快了開發(fā)進(jìn)度, 但給以后會帶來一些不可預(yù)計(jì)的編程或維護(hù)工 作量。2、目錄路徑測試:測試系統(tǒng)中規(guī)定的路徑要求,更改路徑,檢查系統(tǒng)的是否可 以正確運(yùn)行及系統(tǒng)的排錯功能。測試時,根據(jù)系統(tǒng)設(shè)計(jì)說明書(詳細(xì)

18、設(shè)計(jì))或通 過對程序源代碼的熟悉, 找出系統(tǒng)運(yùn)行過程中指定的路徑或在運(yùn)行過程中, 需要 使用者選擇路徑的地方。特意更改路徑(選擇正確的路徑、選擇另外的路徑、輸 入不存在的路徑)。檢查系統(tǒng)是否具有路徑上的容錯性和靈活性。比如,原則上 在程序中, 最好不要寫絕對路徑, 另外可以提供配置路徑的對話框, 若輸入了非 法路徑,系統(tǒng)有無提示等。3、數(shù)據(jù)操作測試:包括數(shù)據(jù)操作測試和用戶界面操作的測試。修改、新增數(shù)據(jù):對于新增和修改數(shù)據(jù),要注重以下幾個方面的測試。界面上, 新增數(shù)據(jù)成功后, 數(shù)據(jù)列表是否立即刷新, 輸入有錯誤時, 是否清空錯誤的數(shù)據(jù), 輸入焦點(diǎn)是否得以控制。 在提示信息上, 是否有保存成功的提

19、示, 輸入有錯誤時, 提示的錯誤信息是否準(zhǔn)確,可讀。數(shù)據(jù)方面,要通過SQL檢查數(shù)據(jù)提交是否正確。 刪除數(shù)據(jù):測試刪除記錄時,系統(tǒng)是否有確認(rèn)提示,能否批量刪除,根據(jù)系統(tǒng)詳 細(xì)設(shè)計(jì),檢查刪除主表記錄時,在業(yè)務(wù)上,其他相關(guān)表是否相應(yīng)更改。事物的提交與回滾:熟悉C/S模式開發(fā)或數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的人都知道,數(shù)據(jù) 庫事物的概念。 對于一個比較復(fù)雜的業(yè)務(wù)邏輯或業(yè)務(wù)上有數(shù)據(jù)一致和完整性要求 時,盡量使用事物對數(shù)據(jù)進(jìn)行提交, 這樣一旦由于意外原因引起系統(tǒng)或硬件故障 時,可以回滾。根據(jù)系統(tǒng)的設(shè)計(jì)要求在測試時,可人為模擬意外故障,來測試系 統(tǒng)的數(shù)據(jù)完整性和容錯能力。4、工具條和快捷鍵測試:在功能界面測試時,對系統(tǒng)菜單中定義的快捷鍵和菜 單工具條中的工具按鈕要測試。 主要是有效性和一致性測試。 有效性: 檢查是否

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論