計(jì)算機(jī)軟件技術(shù)(專業(yè)論文)軟件測(cè)試_第1頁
計(jì)算機(jī)軟件技術(shù)(專業(yè)論文)軟件測(cè)試_第2頁
計(jì)算機(jī)軟件技術(shù)(專業(yè)論文)軟件測(cè)試_第3頁
計(jì)算機(jī)軟件技術(shù)(專業(yè)論文)軟件測(cè)試_第4頁
計(jì)算機(jī)軟件技術(shù)(專業(yè)論文)軟件測(cè)試_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 計(jì)算機(jī)軟件技術(shù)(專業(yè)論文)計(jì)算機(jī)軟件技術(shù)(專業(yè)論文) 題題 目:目: 軟件測(cè)試軟件測(cè)試 姓姓 名:名: xxxxx 學(xué)學(xué) 號(hào):號(hào): xxxxxx 系系 別:別: xxxxxx 班班 級(jí):級(jí): xxxxx 指導(dǎo)教師:指導(dǎo)教師:xxxxxxx 摘要摘要:軟件測(cè)試是軟件開發(fā)過程的重要組成部分,是用來確認(rèn)一 個(gè)程序的品質(zhì)或性能是否符合開發(fā)之前所提出的一些要求,軟件測(cè) 試總的目的是確保軟件的質(zhì)量。前后要經(jīng)過一下重要環(huán)節(jié):需求分 析測(cè)試計(jì)劃測(cè)試設(shè)計(jì)測(cè)試環(huán)境搭建測(cè)試執(zhí)行測(cè)試記錄 缺陷管理軟件評(píng)估rtm.黑盒測(cè)試顧名思義就是將被測(cè)系統(tǒng)看成 一個(gè)黑盒,從外界取得輸入,然后再輸出。白盒測(cè)試是通過程序的 源代碼進(jìn)

2、行測(cè)試而不使用用戶界面。白盒測(cè)試時(shí)知道產(chǎn)品內(nèi)部工作 過程,可通過測(cè)試來檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定 正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試檢測(cè)程序?;液袦y(cè)試,是介于 白盒測(cè)試和黑盒測(cè)試二者之間的,灰盒測(cè)試關(guān)注輸出對(duì)輸入的正確 性,同時(shí)也關(guān)注內(nèi)部表現(xiàn)。 關(guān)鍵字關(guān)鍵字 :測(cè)試 軟件測(cè)試 測(cè)試方法 白盒測(cè)試 黑盒測(cè)試 abstract:abstract:software testing software development process is an important part of a procedure is used to confirm the quality or perfor

3、mance is in line with the proposed development before some of the requirements.the purpose of software testing is to ensure that the quality of software. before and after to go through the following major componments:need analysistest plan design test the implementation of environmental structureste

4、st recordsdefect managerment softwareassessmentrtm.blank box testing will be tested as its name suggests is the system as a black box from the outside world to enter,and then output.baiheceshi through the programs source code for testing without the use of user interface.baiheceshi products are awar

5、e of the internal work processes,products pass the test to detect whether internal action in accordance with the provisions of the normal specification,in accordance with the internal structure of the testing procedures.grey box testing,and black box testing is between baiheceshi between the two,gra

6、y box test of concern for the importation of the correctness of output,but also concerned about internal performance. keywords: testing software testing testing method white box testing black box testing 目目 錄錄 第第 1 章章 引引 言言.5 1.1 編寫目的.5 1.2 相關(guān)背景.5 第第 2 章章 軟件測(cè)試概念軟件測(cè)試概念.7 2.1 軟件測(cè)試定義.7 2.2 軟件測(cè)試概述.8 第第

7、3 章章 軟件測(cè)試的原則軟件測(cè)試的原則.9 3.1 測(cè)試基本原則(一).9 3.2 測(cè)試基本原則(二).10 第第 4 章章 軟件測(cè)試的內(nèi)容軟件測(cè)試的內(nèi)容.11 4.1 驗(yàn)證(verification).11 4.2 確認(rèn)(validation).11 第第 5 章軟件測(cè)試的分類章軟件測(cè)試的分類.12 5.1 常用分類.12 5.2 黑盒測(cè)試和白盒測(cè)試、.12 5.3 靜態(tài)測(cè)試.17 5.4 動(dòng)態(tài)測(cè)試.17 第第 6 章章 軟件測(cè)試的過程軟件測(cè)試的過程.22 6.1 軟件測(cè)試的過程.22 參考資料參考資料.23 第第 1 章章 引引 言言 1.1 編寫目的編寫目的 軟件測(cè)試這門計(jì)算機(jī)專業(yè)的專業(yè)

8、課, 作為計(jì)算機(jī)專業(yè)的一門很重要的課程, 在計(jì)算機(jī)領(lǐng)域占據(jù)著不可替代的角色, 隨著人類社會(huì)的進(jìn)步, 各種領(lǐng)域計(jì)算機(jī) 的普及, 計(jì)算機(jī)軟件也越來越多的出現(xiàn)在各個(gè)場(chǎng)合, 為人們的辦公, 生活, 學(xué) 習(xí), 休閑等提供了前所未有的方便。因此, 當(dāng)一個(gè)軟件從雛形到真正的在一臺(tái) 計(jì)算機(jī)上運(yùn)行的時(shí)候, 誰也不能保證計(jì)算機(jī)軟件能一步到位的滿足人們的需求。 所以就有了軟件測(cè)試, 其目的是:第一是確認(rèn)軟件的質(zhì)量, 其一方面是確認(rèn)軟 件做了你所期望的事情(do the right thing), 另一方面是確認(rèn)軟件以正確 的方式來做了這個(gè)事件(do it right) 。作為計(jì)算機(jī)專業(yè)的學(xué)生, 我想以我自 己的觀點(diǎn)

9、來闡述一下我對(duì)軟件測(cè)試的理解。 1.2 相關(guān)背景相關(guān)背景 前段時(shí)間, 就是在我沒有認(rèn)真了解測(cè)試行業(yè)之前, 可能由于測(cè)試在中國的 重視程度的問題, 我也一直認(rèn)為測(cè)試應(yīng)該是不重要的, 甚至認(rèn)為有必要有專門 的測(cè)試職業(yè)嗎?認(rèn)為軟件主要是開發(fā)人員的事, 軟件的成果也是由開發(fā)人員決 定的, 當(dāng)我在參加工作后, 真正從學(xué)校的學(xué)習(xí)環(huán)境中走上實(shí)際運(yùn)用開發(fā)的時(shí)候, 事實(shí)上真的不是那么一回事哦。軟件無處不在, 然而, 軟件是人編的所以 不完美。臭名昭著的軟件測(cè)試案例: 1、迪士尼的獅子王 (19941995)軟件在少數(shù)系統(tǒng)中能正常工作, 但在 大眾使用的常見系統(tǒng)中不行。后來證實(shí), 迪士尼公司沒有對(duì)市場(chǎng)上投入實(shí)用的

10、 各種 pc 機(jī)型進(jìn)行正確的測(cè)試。 2、英特爾奔騰浮點(diǎn)除法軟件缺陷(1994)英特爾為自己處理軟件缺陷拿出 4 億美元支付更換壞芯片的費(fèi)用。導(dǎo)致付出如此昂貴的代價(jià), 其主要原因是發(fā) 現(xiàn)了軟件缺陷沒有正確的處理。 3、美國航天局火星極地登陸(1999)該項(xiàng)目使用前有經(jīng)過測(cè)試, 兩個(gè)測(cè)試 小組雙方獨(dú)立工作都很好, 但從未走在一起。 4、愛國者導(dǎo)彈防御系統(tǒng) (1991)一枚導(dǎo)彈在多哈擊斃 28 名美國士兵, 癥 結(jié)在于一個(gè)軟件缺陷:一個(gè)很小的系統(tǒng)時(shí)鐘錯(cuò)誤累積起來就可能拖延 14 小時(shí), 造成跟蹤系統(tǒng)失去準(zhǔn)確度。在多哈襲擊戰(zhàn)中系統(tǒng)被拖延 100 小時(shí)。 5、千年蟲 (大約 1974)估計(jì)世界各地更換或

11、升級(jí)該系統(tǒng)程序解決原有 2000 年錯(cuò)誤的費(fèi)用已經(jīng)超過數(shù)億美元。 第第 2 章章 軟件測(cè)試概念軟件測(cè)試概念 2.1 軟件測(cè)試定義軟件測(cè)試定義 (一) 軟件測(cè)試的目的 1軟件測(cè)試使用人工或者自動(dòng)手段來運(yùn)行或測(cè)試某個(gè)系統(tǒng)的過程,其目的 在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。它是 幫助識(shí)別開發(fā)完成(中間或最終的版本)的計(jì)算機(jī)軟件(整體或部分)的正確 度(correctness) 完全度(completeness)和質(zhì)量(quality)的軟件過程;是 sqa(software quality assurance)的重要子域。 (1) 測(cè)試并不僅僅是為了找出錯(cuò)誤.通過分析錯(cuò)誤

12、產(chǎn)生的原因和錯(cuò)誤的發(fā)生 趨勢(shì),可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前軟件開發(fā)過程中的缺陷,以便及時(shí)改進(jìn); (2) 這種分析也能幫助測(cè)試人員設(shè)計(jì)出有針對(duì)性的測(cè)試方法,改善測(cè)試的效 率和有效性; (3) 沒有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定軟件質(zhì)量的一種 方法。 2軟件測(cè)試是軟件開發(fā)過程的重要組成部分,是用來確認(rèn)一個(gè)程序的品質(zhì) 或性能是否符合開發(fā)之前所提出的一些要求。軟件測(cè)試的目的,第一是確認(rèn)軟 件的質(zhì)量,其一方面是確認(rèn)軟件做了所期望的事情,另一方面是確認(rèn)軟件以正 確的方式來做了這個(gè)事情。第一是提供信息,比如提供給開發(fā)人員或程序經(jīng)理 的反饋信息,為風(fēng)險(xiǎn)評(píng)估所準(zhǔn)備的信息。第三軟件測(cè)試不僅是在測(cè)試軟件

13、產(chǎn)品 的本身,而且還包括軟件開發(fā)的過程。如果一個(gè)軟件產(chǎn)品開發(fā)完成之后發(fā)現(xiàn)了 很多問題,這說明此軟件開發(fā)過程很可能是有缺陷的。因此軟件測(cè)試的第三個(gè) 目的是保證整個(gè)軟件開發(fā)過程是高質(zhì)量的。 (1)軟件質(zhì)量是由幾個(gè)方面來衡量的: 在正確的時(shí)間用正確的方法把一個(gè)工作做正確。 符合一些應(yīng)用標(biāo)準(zhǔn)的要求,比如不同國家的用戶不同的操作習(xí)慣和要求, 項(xiàng)目工程中的可維護(hù)性、可測(cè)試性等要求。 質(zhì)量本身就是軟件達(dá)到了最開始所設(shè)定的要求,而代碼的優(yōu)美或精巧的 技巧并不代表軟件的高質(zhì)量。 質(zhì)量也代表著它符合客戶的需要。 作為軟件測(cè)試這個(gè)行業(yè),最重要的一件事就是從客戶的需求出發(fā),從客戶的 角度去看產(chǎn)品,客戶會(huì)怎么去使用這個(gè)

14、產(chǎn)品,使用過程中會(huì)遇到什么樣的問題。 只有這些問題都解決了,軟件產(chǎn)品的質(zhì)量才可以說是上去了。 2.2 軟件測(cè)試概述軟件測(cè)試概述 測(cè)試是軟件開發(fā)過程的重要組成部分, 是用來確認(rèn)一個(gè)程序的品質(zhì)或性能 是否符合開發(fā)之前所提出的一些要求。軟件測(cè)試的目的, 第一是確認(rèn)軟件的質(zhì) 量, 其一方面是確認(rèn)軟件做了你所期望的事情(do the right thing), 另一方面 是確認(rèn)軟件以正確的方式來做了這個(gè)事件(do it right) ;第二是提供信息, 比如 提供給開發(fā)人員或程序經(jīng)理的反饋信息, 為風(fēng)險(xiǎn)評(píng)估所準(zhǔn)備的信息;第三軟件 測(cè)試不僅是在測(cè)試軟件產(chǎn)品的本身, 而且還包括軟件開發(fā)的過程。如果一個(gè)軟 件

15、產(chǎn)品開發(fā)完成之后發(fā)現(xiàn)了很多問題, 這說明此軟件開發(fā)過程很可能是有缺陷。 第第 3 章章 軟件測(cè)試的原則軟件測(cè)試的原則 3.1 測(cè)試基本原則(一)測(cè)試基本原則(一) 在設(shè)計(jì)有效測(cè)試用例之前, 測(cè)試工程師必需理解軟件測(cè)試的基本原則。這 里有一組測(cè)試原則: 1所有的測(cè)試都應(yīng)追溯到用戶需求。正如我們所知:軟件測(cè)試的目標(biāo)在于 揭示錯(cuò)誤。而最嚴(yán)重的錯(cuò)誤(從用戶角度來看)是那些導(dǎo)致程序無法滿足需求 的錯(cuò)誤。 2應(yīng)該在測(cè)試工作真正開始前的較長(zhǎng)時(shí)間內(nèi)就進(jìn)行測(cè)試計(jì)劃。測(cè)試計(jì)劃可 以在需求模型一完成就開始, 詳細(xì)的測(cè)試用例定義可以在設(shè)計(jì)模型被確定后立 即開始。因此, 所有測(cè)試應(yīng)該在任何代碼被產(chǎn)生前就進(jìn)行計(jì)劃和設(shè)計(jì)。

16、 3pareto 原則應(yīng)用于軟件測(cè)試。簡(jiǎn)單地講, pareto 原則暗示著測(cè)試發(fā) 現(xiàn)的錯(cuò)誤中的 80 很可能起源于程序模塊中的 20 。當(dāng)然, 問題在于如何 孤立這些有疑點(diǎn)的模塊并進(jìn)行徹底的測(cè)試。 4測(cè)試應(yīng)從 小規(guī)模 開始, 逐步轉(zhuǎn)向 大規(guī)模 。最初的測(cè)試通常 把焦點(diǎn)放在單個(gè)程序模塊上, 進(jìn)一步測(cè)試的焦點(diǎn)則轉(zhuǎn)向在集成的模塊簇中尋找 錯(cuò)誤, 最后在整個(gè)系統(tǒng)中尋找錯(cuò)誤。 5窮舉測(cè)試是不可能的。即使是一個(gè)大小適度的程序, 其路徑排列的數(shù)量 也非常大。因此, 在測(cè)試中不可能運(yùn)行路徑的每一種組合。然而, 充分覆蓋程 序邏輯, 并確保程序設(shè)計(jì)中使用的所有條件是有可能的。 6為了達(dá)到最佳效果, 應(yīng)該由獨(dú)立的

17、第三方來構(gòu)造測(cè)試。 最佳效果 指最有可能發(fā)現(xiàn)錯(cuò)誤的測(cè)試(測(cè)試的主要目標(biāo)), 所以創(chuàng)建系統(tǒng)的軟件工程師 并不是構(gòu)造軟件測(cè)試的最佳人選。 7不充分的測(cè)試是不負(fù)責(zé)任的;過分的測(cè)試是一種資源的浪費(fèi), 同樣也是 一種不負(fù)責(zé)任的表現(xiàn)。 3.2 測(cè)試基本原則(二)測(cè)試基本原則(二) 1應(yīng)當(dāng)把盡早和不斷的測(cè)試作為開發(fā)者的座右銘。 2程序員應(yīng)該避免檢查自己的程序, 測(cè)試工作應(yīng)該由獨(dú)立的專業(yè)的軟件測(cè) 試機(jī)構(gòu)來完成。 3設(shè)計(jì)測(cè)試用例時(shí)應(yīng)該考慮到合法的輸入和不合法的輸入以及各種邊界條 件, 特殊情況下要制造極端狀態(tài)和意外狀態(tài), 比如網(wǎng)絡(luò)異常中斷、電源斷電等 情況。 4一定要注意測(cè)試中的錯(cuò)誤集中發(fā)生現(xiàn)象, 這和程序員的

18、編程水平和習(xí)慣 有很大的關(guān)系。 5對(duì)測(cè)試錯(cuò)誤結(jié)果一定要有一個(gè)確認(rèn)的過程, 一般有 a 測(cè)試出來的錯(cuò)誤, 一定要有一個(gè) b 來確認(rèn), 嚴(yán)重的錯(cuò)誤可以召開評(píng)審會(huì)進(jìn)行討論和分析。 6制定嚴(yán)格的測(cè)試計(jì)劃, 并把測(cè)試時(shí)間安排的盡量寬松, 不要希望在極短 的時(shí)間內(nèi)完成一個(gè)高水平的測(cè)試。 7回歸測(cè)試的關(guān)聯(lián)性一定要引起充分的注意, 修改一個(gè)錯(cuò)誤而引起更多的 錯(cuò)誤出現(xiàn)的現(xiàn)象并不少見。 8妥善保存一切測(cè)試過程文檔, 意義是不言而喻的, 測(cè)試的重現(xiàn)性往往要 靠測(cè)試文檔。 第第 4 章章 軟件測(cè)試的內(nèi)容軟件測(cè)試的內(nèi)容 4.1 驗(yàn)證(驗(yàn)證(verification) 驗(yàn)證(verification)是保證軟件正確地實(shí)現(xiàn)

19、了一些特定功能的一系列活動(dòng), 即保證軟件做了你所期望的事情。(do the right thing) 1.確定軟件生存周期中的一個(gè)給定階段的產(chǎn)品是否達(dá)到前階段確立的需求 的過程; 2.程序正確性的形式證明, 即采用形式理論證明程序符號(hào)設(shè)計(jì)規(guī)約規(guī)定的 過程; 3.評(píng)市、審查、測(cè)試、檢查、審計(jì)等各類活動(dòng), 或?qū)δ承╉?xiàng)處理、服務(wù)或 文件等是否和規(guī)定的需求相一致進(jìn)行判斷和提出報(bào)告。 4.2 確認(rèn)(確認(rèn)(validation) 確認(rèn)(validation)是一系列的活動(dòng)和過程, 目的是想證實(shí)在一個(gè)給定的外 部環(huán)境中軟件的邏輯正確性。即保證軟件以正確的方式來做了這個(gè)事件(do it right) 1.靜態(tài)

20、確認(rèn), 不在計(jì)算機(jī)上實(shí)際執(zhí)行程序, 通過人工或程序分析來證明軟 件的正確性; 2.動(dòng)態(tài)確認(rèn), 通過執(zhí)行程序做分析, 測(cè)試程序的動(dòng)態(tài)行為, 以證實(shí)軟件是 否存在問題。 軟件測(cè)試的對(duì)象不僅僅是程序測(cè)試, 軟件測(cè)試應(yīng)該包括整個(gè)軟件開發(fā)期問 各個(gè)階段所產(chǎn)生的文檔, 如需求規(guī)格說明、概要設(shè)計(jì)文檔、詳細(xì)設(shè)計(jì)文檔, 當(dāng) 然軟件測(cè)試的主要對(duì)象還是源程序。 第第 5 章軟件測(cè)試的分類章軟件測(cè)試的分類 5.1 常用分類常用分類 (1)從是否需要執(zhí)行被測(cè)軟件的角度, 可分為: 靜態(tài)測(cè)試 動(dòng)態(tài)測(cè)試 (2)從測(cè)試是否針對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度來看, 可分為 : 白盒測(cè)試 黑盒測(cè)試 5.2 黑盒測(cè)試和白盒測(cè)試

21、、黑盒測(cè)試和白盒測(cè)試、 (1)黑盒測(cè)試 黑盒測(cè)試指的是把被測(cè)軟件看作是一個(gè)黑盒子, 我們不去關(guān)心盒子里面的結(jié) 構(gòu)是什么樣子, 只關(guān)心軟件的輸入數(shù)據(jù)和輸出結(jié)果。 黑盒測(cè)試方法是在程序接口上進(jìn)行測(cè)試, 主要是為了發(fā)現(xiàn)以下錯(cuò)誤: 是否有不正確或遺漏了的功能? 在接口上, 輸入能否正確地接受? 能否輸出正確的結(jié)果? 是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問錯(cuò)誤? 性能上是否能夠滿足要求? 是否有初始化或終止性錯(cuò)誤? 用黑盒測(cè)試發(fā)現(xiàn)程序中的錯(cuò)誤, 必須在所有可能的輸入條件和輸出條件中 確定測(cè)試數(shù)據(jù), 來檢查程序是否都能產(chǎn)生正確的輸出。 但這是不可能的。 n 假設(shè)一個(gè)程序 p 有輸入量 x 和 y

22、 及輸出量 z。在字長(zhǎng)為 32 位的計(jì)算機(jī)上運(yùn) 行。若 x、y 取整數(shù), 按黑盒方法進(jìn)行窮舉測(cè)試: n 可能采用的測(cè)試數(shù)據(jù)組: 232232 264 n 如果測(cè)試一組數(shù)據(jù)需要 1 毫秒, 一年工作 365 24 小時(shí), 完成所有測(cè)試需 5 億年。 (2)黑盒測(cè)試的測(cè)試用例設(shè)計(jì) 等價(jià)劃分法 邊界值法 錯(cuò)誤推測(cè)法 因果圖法 1.等價(jià)類劃分 1 等價(jià)類劃分是一種典型的黑盒測(cè)試方法, 使用這一方法時(shí), 完全不考慮 程序的內(nèi)部結(jié)構(gòu), 只依據(jù)程序的規(guī)格說明來設(shè)計(jì)測(cè)試用例。 2 等價(jià)類劃分方法把所有可能的輸入數(shù)據(jù), 即程序的輸入域劃分成若干部 分, 然后從每一部分中選取少數(shù)有代表性的數(shù)據(jù)做為測(cè)試用例。 3

23、使用這一方法設(shè)計(jì)測(cè)試用例要經(jīng)歷劃分等價(jià)類(列出等價(jià)類表)和選取 測(cè)試用例兩步。 4 劃分等價(jià)類 等價(jià)類是指某個(gè)輸入域的子集合。在該子集合中, 各個(gè)輸入數(shù)據(jù)對(duì)于揭露程 序中的錯(cuò)誤都是等效的。測(cè)試某等價(jià)類的代表值就等價(jià)于對(duì)這一類其它值的測(cè)試。 等價(jià)類的劃分有兩種不同的情況: 有效等價(jià)類:是指對(duì)于程序的規(guī)格說明來說, 是合理的, 有意義的輸入 數(shù)據(jù)構(gòu)成的集合。 無效等價(jià)類:是指對(duì)于程序的規(guī)格說明來說, 是不合理的, 無意義的輸 入數(shù)據(jù)構(gòu)成的集合。 在設(shè)計(jì)測(cè)試用例時(shí), 要同時(shí)考慮有效等價(jià)類和無效等價(jià)類的設(shè)計(jì)。 劃分等價(jià)類的原則 1) 如果輸入條件規(guī)定了取值范圍, 或值的個(gè)數(shù), 則可以確立一個(gè)有效等價(jià)

24、類和兩個(gè)無效等價(jià)類。 n 例如, 在程序的規(guī)格說明中, 對(duì)輸入條件有一句話: “ 項(xiàng)數(shù)可以從 1 到 999 ” 則有效等價(jià)類是“1項(xiàng)數(shù)999” 兩個(gè)無效等價(jià)類是“項(xiàng)數(shù)1”或“項(xiàng) 數(shù)999” 。 2) 如果輸入條件規(guī)定了輸入值的集合, 或者是規(guī)定了“必須如何”的條件, 這時(shí)可確立一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。 例如, 在 pascal 語言中對(duì)變量標(biāo)識(shí)符規(guī)定為“以字母打頭的串” 。那么 所有以字母打頭的構(gòu)成有效等價(jià)類, 而不在此集合內(nèi)(不以字母打頭)的歸于無 效等價(jià)類。 3) 如果輸入條件是一個(gè)布爾量, 則可以確定一個(gè)有效等價(jià)類和一個(gè)無效等 價(jià)類。 4) 如果規(guī)定了輸入數(shù)據(jù)的一組值, 而且程

25、序要對(duì)每個(gè)輸入值分別進(jìn)行處理。 這時(shí)可為 每一個(gè)輸入值確立一個(gè)有效等價(jià)類, 此外針對(duì)這組值確立一個(gè)無效等 價(jià)類, 它是所有不允許的輸入值的集合。 2.邊界值分析 邊界值分析也是一種黑盒測(cè)試方法, 是對(duì)等價(jià)類劃分方法的補(bǔ)充。 人們從長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)得知, 大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的 邊界上, 而不是在輸入范圍的內(nèi)部。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例, 可以 查出更多的錯(cuò)誤。 比如, 在做三角形計(jì)算時(shí), 要輸入三角形的三個(gè)邊長(zhǎng):a、b 和 c。 我們應(yīng) 注意到這三個(gè)數(shù)值應(yīng)當(dāng)滿足 a0、b0、c0、abc、acb、bca, 才能構(gòu)成三角形。但如果把六個(gè)不等式中的任何一個(gè)大于號(hào)“”錯(cuò)寫成大于

26、等 于號(hào)“”, 那就不能構(gòu)成三角形。問題恰出現(xiàn)在容易被疏忽的邊界附近。 這里所說的邊界是指, 相當(dāng)于輸入等價(jià)類和輸出等價(jià)類而言, 稍高于其邊界 值及稍低于其邊界值的一些特定情況。 使用邊界值分析方法設(shè)計(jì)測(cè)試用例, 首先應(yīng)確定邊界情況。應(yīng)當(dāng)選取正好等 于, 剛剛大于, 或剛剛小于邊界的值做為測(cè)試數(shù)據(jù), 而不是選取等價(jià)類中的典型 值或任意值做為測(cè)試數(shù)據(jù)。 3.錯(cuò)誤推測(cè)法 人們也可以靠經(jīng)驗(yàn)和直覺推測(cè)程序中可能存在的各種錯(cuò)誤, 從而有針對(duì)性 地編寫檢查這些錯(cuò)誤的例子。這就是錯(cuò)誤推測(cè)法。 錯(cuò)誤推測(cè)法的基本想法是:列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò) 誤的特殊情況, 根據(jù)它們選擇測(cè)試用例。 4.因果圖

27、 1)因果圖的適用范圍 如果在測(cè)試時(shí)必須考慮輸入條件的各種組合, 可使用一種適合于描述對(duì)于多 種條件的組合, 相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來設(shè)計(jì)測(cè)試用例, 這就需要利用因果圖。 因果圖方法最終生成的就是判定表。它適合于檢查程序輸入條件的各種組合 情況。 分析軟件規(guī)格說明描述中, 哪些是原因 (即輸入條件或輸入條件的等價(jià)類), 哪些是結(jié)果 (即輸出條件), 并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。 分析軟件規(guī)格說明描述中的語義, 找出原因與結(jié)果之間, 原因與原因之間 對(duì)應(yīng)的是什么關(guān)系? 根據(jù)這些關(guān)系, 畫出因果圖。 由于語法或環(huán)境限制, 有些原因與原因之間, 原因與結(jié)果之間的組合情況 不可能出現(xiàn)。為表明這些

28、特殊情況, 在因果圖上用一些記號(hào)標(biāo)明約束或限制條件。 把因果圖轉(zhuǎn)換成判定表。 把判定表的每一列拿出來作為依據(jù), 設(shè)計(jì)測(cè)試用例。 (3)白盒測(cè)試 白盒測(cè)試指的是把盒子蓋打開, 去研究里面的源代碼和程序結(jié)構(gòu)。 白盒測(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è)單元內(nèi)部如何工作的信息, 允許測(cè)試人員對(duì)程序內(nèi)部邏 輯結(jié)構(gòu)及有關(guān)信息來設(shè)計(jì)和選擇測(cè)試用例, 對(duì)程序的邏輯路徑進(jìn)行測(cè)試?;谝?個(gè)應(yīng)用代碼的內(nèi)部邏輯知識(shí)

29、, 測(cè)試是基于覆蓋全部代碼、分支、路徑、條件。 (4)白盒測(cè)試的主要方法: 邏輯驅(qū)動(dòng)測(cè)試 基本路徑測(cè)試 主要用于軟件驗(yàn)證。使用程序設(shè)計(jì)的控制結(jié)構(gòu)導(dǎo)出測(cè)試用例。 邏輯驅(qū)動(dòng)測(cè)試: 主要是測(cè)試覆蓋率, 以程序內(nèi)在邏輯結(jié)構(gòu)為基礎(chǔ)的測(cè)試。包括以下 6 種類型: 語句覆蓋 判斷覆蓋 條件覆蓋 判定-條件覆蓋 條件組合覆蓋 路徑覆蓋 白盒測(cè)試的主要目的 保證一個(gè)模塊中的所有獨(dú)立路徑至少被執(zhí)行一次; 對(duì)所有的邏輯值均需要測(cè)試真、假兩個(gè)分支; 在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán); 檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)以確保其有效性 白盒測(cè)試的實(shí)施方案 在開發(fā)階段要保證產(chǎn)品的質(zhì)量, 產(chǎn)品的生產(chǎn)過程應(yīng)該遵循一定的行業(yè)標(biāo)準(zhǔn)。 軟件產(chǎn)品

30、也是同樣, 沒有標(biāo)準(zhǔn)可依自然談不上質(zhì)量的好壞。所有關(guān)心軟件開發(fā)質(zhì) 量的組織、單位, 都要定義或了解軟件的質(zhì)量標(biāo)準(zhǔn)、模型。其好處是保證公司實(shí) 踐的均勻性, 產(chǎn)品的可維護(hù)性、可靠性以及可移植性等。 在測(cè)試階段與軟件產(chǎn)品的開發(fā)過程一樣, 測(cè)試過程也需要有一定的準(zhǔn)則, 來指導(dǎo)、度量、評(píng)價(jià)軟件測(cè)試過程的質(zhì)量。 定義測(cè)試準(zhǔn)則 為控制測(cè)試的有效性以及完成程度, 必須定義準(zhǔn)則和策略, 以判斷何時(shí)結(jié)束 測(cè)試階段。準(zhǔn)則必須是客觀的, 可量化的元素, 而不能是經(jīng)驗(yàn)或感覺。 根據(jù)應(yīng)用的準(zhǔn)則和項(xiàng)目相關(guān)的約束, 項(xiàng)目領(lǐng)導(dǎo)可以定義使用的度量方法, 和 要達(dá)到的覆蓋率。 度量測(cè)試的有效性、完整性 對(duì)每個(gè)測(cè)試的測(cè)試覆蓋信息和累

31、計(jì)信息, 用圖形方式顯示覆蓋比率, 并根據(jù) 測(cè)試運(yùn)行情況實(shí)時(shí)更新, 隨時(shí)顯示新的測(cè)試所反映的測(cè)試覆蓋情況。 允許所有的測(cè)試運(yùn)行依據(jù)其有效性進(jìn)行管理, 用戶可以減少不適用于非回歸 測(cè)試的測(cè)試的過程。 概念: 1.語句覆蓋:語句覆蓋就是設(shè)計(jì)若干個(gè)測(cè)試用例, 運(yùn)行被測(cè)試程序, 使得每 一條可執(zhí)行語句至少執(zhí)行一次; 2.判定覆蓋(也稱為分支覆蓋):設(shè)計(jì)若干個(gè)測(cè)試用例, 運(yùn)行所測(cè)程序, 使 程序中每個(gè)判斷的取真分支和取假分支至少執(zhí)行一次; 3.條件覆蓋:設(shè)計(jì)足夠多的測(cè)試用例, 運(yùn)行所測(cè)程序, 使程序中每個(gè)判斷的 每個(gè)條件的每個(gè)可能取值至少執(zhí)行一次; 4.判定-條件覆蓋:設(shè)計(jì)足夠多的測(cè)試用例, 運(yùn)行所測(cè)程

32、序, 使程序中每個(gè) 判斷的每個(gè)條件的所有可能取值至少執(zhí)行一次, 并且每個(gè)可能的判斷結(jié)果也至少 執(zhí)行一次, 換句話說, 即是要求各個(gè)判斷的所有可能的條件取值組合至少執(zhí)行一 次; 5.條件組合測(cè)試:設(shè)計(jì)足夠多的測(cè)試用例, 運(yùn)行所測(cè)程序, 使程序中每個(gè)判 斷的所有可能的條件取值組合至少執(zhí)行一次; 6路徑測(cè)試:設(shè)計(jì)足夠多的測(cè)試用例, 運(yùn)行所測(cè)程序, 要覆蓋程序中所有可 能的路徑 5.3 靜態(tài)測(cè)試靜態(tài)測(cè)試 靜態(tài)測(cè)試是指不實(shí)際運(yùn)行被測(cè)軟件, 而只是靜態(tài)的檢查程序代碼、界面或文 檔中可能存在的錯(cuò)誤的過程。 其中包括代碼測(cè)試、界面測(cè)試和文檔測(cè)試 3 個(gè)方面。對(duì)于代碼測(cè)試, 主要測(cè) 試代碼是否符合相應(yīng)的標(biāo)準(zhǔn)和規(guī)

33、范。對(duì)于界面測(cè)試, 主要測(cè)試軟件的實(shí)際界面與 需求中的說明是否相符。對(duì)于文檔測(cè)試, 主要測(cè)試用戶手冊(cè)和需求說明是否符合 用戶的實(shí)際要求。 5.4 動(dòng)態(tài)測(cè)試動(dòng)態(tài)測(cè)試 動(dòng)態(tài)測(cè)試是指實(shí)際運(yùn)行被測(cè)程序, 輸入相應(yīng)的測(cè)試數(shù)據(jù), 檢查實(shí)際輸出結(jié)果 和預(yù)期結(jié)果是否相符的過程。所以, 我們判斷一個(gè)測(cè)試屬于動(dòng)態(tài)還是靜態(tài)測(cè)試 , 唯一的標(biāo)準(zhǔn)就是看是否運(yùn)行程序。 (1)單元測(cè)試 單元測(cè)試是指對(duì)軟件中的最小可測(cè)試單元進(jìn)行檢測(cè)和驗(yàn)證。 1、什么時(shí)候進(jìn)行單元測(cè)試? 通常在程序員編碼以后, 代碼已經(jīng)通過編譯后進(jìn)行單元測(cè)試, 而且在前期就 應(yīng)該做一些準(zhǔn)備工作, 比如撰寫單元測(cè)試計(jì)劃、編寫單元測(cè)試用例等。千萬不要 等到項(xiàng)目后期

34、再進(jìn)行單元測(cè)試, 那樣就失去了檢查代碼、預(yù)防缺陷的意義了。 2、由誰來進(jìn)行單元測(cè)試? 單元測(cè)試一般由白盒測(cè)試工程師或開發(fā)人員來測(cè)試。如果由開發(fā)人員來測(cè)試, 最好做到交叉測(cè)試, 避免 1 個(gè)人只測(cè)試自己的代碼。 3、單元測(cè)試的依據(jù)是什么? 單元測(cè)試依據(jù)主要有兩個(gè), 一個(gè)事源程序本身, 包括代碼和注釋;還有一個(gè) 是項(xiàng)目的詳細(xì)設(shè)計(jì)文檔。 4、如何進(jìn)行單元測(cè)試? 主要用白盒測(cè)試方法, 一般先靜態(tài)檢查代碼是否符合規(guī)范, 然后動(dòng)態(tài)地運(yùn)行 代碼, 檢查其實(shí)際運(yùn)行結(jié)果。當(dāng)然檢查運(yùn)行結(jié)果是否正確是一個(gè)最基本的要求, 我們還要檢查很多項(xiàng), 比如程序的容錯(cuò)處理, 程序的邊界值處理等。 (2)集成測(cè)試 集成測(cè)試(也叫

35、組裝測(cè)試或聯(lián)合測(cè)試)是在單元測(cè)試的基礎(chǔ)上, 將所有模 塊按照設(shè)計(jì)要求集成為系統(tǒng)或子系統(tǒng), 并進(jìn)行測(cè)試。如果是集成為子系統(tǒng), 也可 以叫做部件測(cè)試。 1、目的 當(dāng)單個(gè)模塊集成為系統(tǒng)的過程中, 軟件仍然可能出現(xiàn)問題。比如: 穿越模塊接口的數(shù)據(jù)是否丟失; 一個(gè)模塊功能的實(shí)現(xiàn)可能破壞了另一個(gè)模塊的功能; 子功能組合之后不一定可以達(dá)到預(yù)期的功能; 全局?jǐn)?shù)據(jù)可能被異常修改; 單個(gè)模塊的誤差被放大到了不能接受的地步。 因此, 需要在模塊集成的時(shí)候進(jìn)行整體測(cè)試以發(fā)現(xiàn)上面可能出現(xiàn)的問題。 2、必要性 單元測(cè)試僅僅保證了模塊的局部正確性。而系統(tǒng)測(cè)試一般在整個(gè)系統(tǒng)完成 之后進(jìn)行, 錯(cuò)誤難以定位。 1)集成測(cè)試具有以

36、下不可替代性: 單元測(cè)試不徹底, 對(duì)于模塊間接口信息內(nèi)容的正確性, 相互調(diào)用關(guān)系是否 符合設(shè)計(jì)無能為力。必須依靠集成測(cè)試來保證。 和系統(tǒng)測(cè)試相比較, 集成測(cè)試從程序結(jié)構(gòu)出發(fā), 目的性, 針對(duì)性更強(qiáng)。發(fā) 現(xiàn)問題的效率高。 較容易測(cè)試特殊的處理流程。 定位也比較準(zhǔn)確, 迅速。集成測(cè)試的可重復(fù)性強(qiáng), 錯(cuò)誤發(fā)生后容易定位。 2)聯(lián)調(diào)和集成測(cè)試的區(qū)別 集成和聯(lián)調(diào)都是對(duì)系統(tǒng)的裝配過程, 不過屬于不同的級(jí)別。 集成測(cè)試 測(cè)試人員在開發(fā)人員的協(xié)助下, 制定集成測(cè)試計(jì)劃; 集成測(cè)試主要關(guān)注的是接口上消息覆蓋, 異常流程, 性能指標(biāo)等深入測(cè)試。 集成測(cè)試是分層次的, 一個(gè)模塊集成測(cè)試后, 可以按照計(jì)劃進(jìn)行下一個(gè)模

37、 塊的集成或者更高級(jí)別的集成。 當(dāng)集成測(cè)試完成之后就可以開始聯(lián)調(diào)了。 聯(lián)調(diào):一般是指軟件系統(tǒng)和硬件平臺(tái)之間的聯(lián)調(diào)。可以認(rèn)為是最高級(jí)別的 集成測(cè)試。 開發(fā)經(jīng)理在開發(fā)測(cè)試人員的協(xié)助下, 制定系統(tǒng)聯(lián)調(diào)計(jì)劃。 相關(guān)人員將已通過集成測(cè)試的軟件系統(tǒng)和硬件平臺(tái)集成在一起, 構(gòu)成將交 付的系統(tǒng), 并調(diào)通系統(tǒng)的基本功能。使用系統(tǒng)預(yù)測(cè)試項(xiàng)來確定基本功能是否都已 經(jīng)實(shí)現(xiàn)。 通過系統(tǒng)聯(lián)調(diào)調(diào)通后的版本提交系統(tǒng)預(yù)測(cè)試組進(jìn)行系統(tǒng)預(yù)測(cè)試。 在系統(tǒng)的規(guī)模比較小比較簡(jiǎn)單的時(shí)候, 可以考慮忽略集成測(cè)試而直接進(jìn)行 聯(lián)調(diào)。但是當(dāng)系統(tǒng)的規(guī)模較大的時(shí)候, 跳過集成測(cè)試會(huì)帶來問題難以發(fā)現(xiàn), 難以 定位的問題。 完整的測(cè)試流程: 單元測(cè)試-集

38、成測(cè)試-聯(lián)調(diào)-系統(tǒng)預(yù)測(cè)試-系統(tǒng)測(cè)試 集成測(cè)試的層次和階段 集成測(cè)試需要分層次, 分階段完成。 一般情況下, 分層次階段可以按照以 下規(guī)律: 第一個(gè)層次是組件測(cè)試。為后繼測(cè)試提供更加好的原料。如果系統(tǒng)的一些 組件已經(jīng)充分被測(cè)試過, 可以跳過這些組件。 第二個(gè)層次是做好集成測(cè)試規(guī)劃:考慮人力, 物力, 時(shí)間, 測(cè)試的重點(diǎn)等。 找出關(guān)鍵的部分, 以此作為主線進(jìn)行計(jì)劃和資源安排。 按照計(jì)劃, 把集成測(cè)試劃分成為不同的階段, 明確各個(gè)階段的主要任務(wù), 確定任務(wù)完成的標(biāo)記。 3)集成、單元和系統(tǒng)測(cè)試的關(guān)聯(lián) 單元測(cè)試是針對(duì)模塊內(nèi)部功能的白盒測(cè)試。需要輔助測(cè)試代碼才可以進(jìn)行 測(cè)試。 集成測(cè)試也叫:組裝測(cè)試,

39、子系統(tǒng)測(cè)試, 部件測(cè)試等。比如對(duì)于模塊 a 進(jìn) 行集成的時(shí)候, 需要把相關(guān)模塊一起結(jié)合起來才可以進(jìn)行。集成測(cè)試是注重功能 和性能測(cè)試的黑盒測(cè)試。 系統(tǒng)測(cè)試是將提交的完整軟件版本作為一個(gè)系統(tǒng)的元素, 和硬件、支持軟 件、人員等結(jié)合起來, 盡可能地模擬實(shí)際運(yùn)行環(huán)境進(jìn)行測(cè)試。測(cè)試用例通過系統(tǒng) 的需求說明書得到, 需要在實(shí)際的運(yùn)行環(huán)境下測(cè)試。 集成測(cè)試的基本方案 可以根據(jù)集成測(cè)試時(shí)組裝模塊的方式把集成測(cè)試方案分成兩大類: 一次性 集成測(cè)試方式、增殖式集成測(cè)試方式 。 集成測(cè)試的方法和步驟 首先確定子系統(tǒng)有哪些模塊組成,保證這些模塊都進(jìn)行過單元測(cè)試. 由開發(fā)人員組裝這些模塊,生成子系統(tǒng),并保證在此子系統(tǒng)

40、中,各個(gè)模塊的 功能盡可能發(fā)揮出來。 測(cè)試前, 以一個(gè)關(guān)鍵模塊為核心設(shè)計(jì)測(cè)試用例。以功能和性能為主線, 注 重模塊間的接口。 搭建必要的測(cè)試環(huán)境, 按照所寫的測(cè)試用例, 進(jìn)行模塊連接的充分測(cè)試。 記錄測(cè)試結(jié)果, 總結(jié)測(cè)試問題。 集成測(cè)試工作的主要內(nèi)容 測(cè)試主要依據(jù)材料:概要設(shè)計(jì)說明書。 集成測(cè)試計(jì)劃的制定:包括集成測(cè)試進(jìn)度安排, 人員分配, 測(cè)試用例設(shè)計(jì)。 集成測(cè)試計(jì)劃的評(píng)審。 集成測(cè)試過程:包括測(cè)試過程記錄, 問題記錄, 問題定位和解決, 問題回 歸。 集成測(cè)試報(bào)告的編寫:包括測(cè)試總結(jié), 測(cè)試活動(dòng)評(píng)估和測(cè)試問題分類統(tǒng)計(jì) 和分析。 集成測(cè)試計(jì)劃的影響因素 制定集成測(cè)試計(jì)劃的時(shí)候, 應(yīng)該考慮如下因素: 采用何種系統(tǒng)集成方法來進(jìn)行集成測(cè)試。 集成測(cè)試過程中連接各個(gè)模塊的順序。 模塊代碼編制和測(cè)試進(jìn)度是否與集成測(cè)試的順序一致。 測(cè)試過程中是否需要專門的硬件設(shè)備。 列出各個(gè)模塊的編制、測(cè)試計(jì)劃表, 標(biāo)明每個(gè)模塊單元測(cè)試完成的日期、首 次集成測(cè)試的日期, 需要的測(cè)試用例等。同時(shí)考慮測(cè)試所需特殊設(shè)備的日期情況。 留出時(shí)間余量。 集成測(cè)試計(jì)劃的編制 編制之前最好能夠明確

溫馨提示

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

評(píng)論

0/150

提交評(píng)論