軟件測(cè)試詳解
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
為了保證軟件的質(zhì)量和可靠性,應(yīng)力求在分析、設(shè)計(jì)等各個(gè)開發(fā)階段結(jié)束前,對(duì)軟件進(jìn)行嚴(yán)格技術(shù)評(píng)審。但由于人們能力的局限性,審查不能發(fā)現(xiàn)所有的錯(cuò)誤。而且在編碼階段還會(huì)引進(jìn)大量的錯(cuò)誤。這些錯(cuò)誤和缺陷如果遺留到軟件交付投入運(yùn)行之時(shí),終將會(huì)暴露出來。但到那時(shí),不僅改正這些錯(cuò)誤的代價(jià)更高,而且往往造成很惡劣的后果。 軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì)軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。如果給軟件測(cè)試下定義,可以這樣講:軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程?;蛘哒f,軟件測(cè)試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)的一批測(cè)試用例(即輸入一些數(shù)據(jù)而得到其預(yù)期的結(jié)果),并利用這些測(cè)試用例去運(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過程。 軟件測(cè)試在軟件生存期中橫跨兩個(gè)階段:通常在編寫出每一個(gè)模塊之后就對(duì)它做必要的測(cè)試(稱為單元測(cè)試)。編碼與單元測(cè)試屬于軟件生存期中的同一個(gè)階段。在結(jié)束這個(gè)階段之后,對(duì)軟件系統(tǒng)還要進(jìn)行各種終合測(cè)試,這是軟件生存期的另一個(gè)階段,即測(cè)試階段,通常由專門的測(cè)試人員承擔(dān)這項(xiàng)工作。 大量統(tǒng)計(jì)資料表明,軟件測(cè)試的工作量往往占軟件開發(fā)總工作量的40%以上,在極端情況,測(cè)試那種關(guān)系人的生命安全的軟件所花費(fèi)的成本,可能相當(dāng)于軟件工程其他開發(fā)步驟總成本的三倍到五倍。因此,必須高度重視軟件測(cè)試工作,絕不要以為寫出程序之后軟件開發(fā)工作就接近完成了,實(shí)際上,大約還有同樣多的開發(fā)工作量需要完成。僅就測(cè)試而言,它的目標(biāo)是發(fā)現(xiàn)軟件中的錯(cuò)誤,但是,發(fā)現(xiàn)錯(cuò)誤并不是我們的最終目的。軟件工程的根本目標(biāo)是開發(fā)出高質(zhì)量的完全符合用戶需要的軟件。 軟件測(cè)試的目的 基于不同的立場(chǎng),存在著兩種完全不同的測(cè)試目的。從用戶的角度出發(fā),普遍希望通過軟件測(cè)試暴露出軟件中陷藏的錯(cuò)誤和缺陷,以考慮是否可以接受該產(chǎn)品。而從軟件開發(fā)者的角度出發(fā),則希望測(cè)試成為表明軟件產(chǎn)品中不存在錯(cuò)誤的過程,驗(yàn)證該軟件已正確地實(shí)現(xiàn)了用戶的要求,確立用戶對(duì)軟件質(zhì)量的信心。 1. 測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程; 2. 好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案; 3. 成功的測(cè)試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。 從上述規(guī)則可以看出,測(cè)試的正確定義是“為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程”。這和某些人通常想象的“測(cè)試是為了表明程序是正確的”,“成功的測(cè)試是沒有發(fā)現(xiàn)錯(cuò)誤的測(cè)試”等等是完全相反的。正確認(rèn)識(shí)測(cè)試的目標(biāo)是十分重要的,測(cè)試目標(biāo)決定了測(cè)試方案的設(shè)計(jì)。如果為了表明程序是正確的而進(jìn)行測(cè)試,就會(huì)設(shè)計(jì)一些不易暴露錯(cuò)誤的測(cè)試方案;相反,如果測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤,就會(huì)力求設(shè)計(jì)出最能暴露錯(cuò)誤的測(cè)試方案。 由于測(cè)試的目標(biāo)是暴露程序中的錯(cuò)誤,從心理學(xué)角度看,由程序的編寫者自己進(jìn)行測(cè)試是不恰當(dāng)?shù)摹R虼?,在綜合測(cè)試階段通常由其他人員組成測(cè)試小組來完成測(cè)試工作。此外,應(yīng)該認(rèn)識(shí)到測(cè)試決不能證明程序是正確的。即使經(jīng)過了最嚴(yán)格的測(cè)試之后,仍然可能還有沒被發(fā)現(xiàn)的錯(cuò)誤潛藏在程序中。測(cè)試只能查找出程序中的錯(cuò)誤,不能證明程序中沒有錯(cuò)誤。 術(shù)語、名詞定義 1. 黑盒測(cè)試 2. 白盒測(cè)試 3. 灰盒測(cè)試 4. 文檔測(cè)試 5. 命名規(guī)范測(cè)試 6. 需求完整性測(cè)試 7. 鏈接完整性測(cè)試 8. 頁面完整性測(cè)試 9. UI合理性測(cè)試 o 提示、菜單、幫助的格式是否一致; o 提示、菜單、幫助中的術(shù)語是否一致; o 各個(gè)控件之間的對(duì)齊方式是否一致; o 輸入界面和輸出界面在外觀、布局、交互方式上是否一致; o 功能類似的相關(guān)界面在外觀、布局、交互方式上是否一致; o 同一層次的文字在同一種提示場(chǎng)合(一般情況、特殊字體、警告等)在文字大小、字體、顏色、對(duì)齊方式方面是否一致,字體大小是否與界面的大小比例協(xié)調(diào); o 多個(gè)連續(xù)界面依次出現(xiàn)的情況下,界面的外觀、操作方式是否一致; o 系統(tǒng)是否拒絕客戶的錯(cuò)誤輸入并做出提示; o 系統(tǒng)是否在用戶完成操作時(shí)給出操作成功的提示; o 用戶界面是否存在空白空間,沒有空白空間的界面是雜亂無章的,易用性差; o 各個(gè)控件的間隔是否一致,垂直和水平方向上是否對(duì)齊; o 是否允許動(dòng)作的可逆性,返回原有操做; 10. 數(shù)據(jù)和數(shù)據(jù)庫完整性測(cè)試 11. 功能測(cè)試 12. 壓力測(cè)試 13. 安全性測(cè)試 o 執(zhí)行添加、刪除、修改等動(dòng)作中是否做過登錄檢測(cè)。 o 退出系統(tǒng)之后的操作是否可以完成。 o 所有插入表單操作中輸入特殊字符是否可以正常輸正常存儲(chǔ),特殊字符為:!?#¥%……—*()~——-+=[]{}、|;:‘”?/《》<>,。 o 在帶有參數(shù)的回顯數(shù)據(jù)的動(dòng)作中更改參數(shù),把參數(shù)改為特殊字符并加入操作語句看是否出錯(cuò)。 o 測(cè)試表單中有沒有做標(biāo)簽檢測(cè),標(biāo)簽檢測(cè)是否完整。 o 在插入表單中加入特殊的HTML代碼,例如:<marquee>表單中的字本是否移動(dòng)?</marquee>。 14. 頁面腳本測(cè)試 15. 提示文本測(cè)試 16. 瀏覽器測(cè)試 17. 安裝測(cè)試 自定義測(cè)試 在常規(guī)測(cè)試時(shí)可能表中的測(cè)試項(xiàng)不能滿足測(cè)試要求,如果有特殊測(cè)試項(xiàng)請(qǐng)測(cè)試人員自己定義修改測(cè)試的類型。 軟件命名規(guī)范 1. 軟件版本階段說明 o Base版: 此版本表示該軟件僅僅是一個(gè)假頁面鏈接,通常包括所有的功能和頁面布局,但是頁面中的功能都沒有做完整的實(shí)現(xiàn),只是做為整體網(wǎng)站的一個(gè)基礎(chǔ)架構(gòu)。 o Alpha版: 此版本表示該軟件在此階段主要是以實(shí)現(xiàn)軟件功能為主,通常只在軟件開發(fā)者內(nèi)部交流,一般而言,該版本軟件的Bug較多,需要繼續(xù)修改。 o Beta版: 該版本相對(duì)于α版已有了很大的改進(jìn),消除了嚴(yán)重的錯(cuò)誤,但還是存在著一些缺陷,需要經(jīng)過多次測(cè)試來進(jìn)一步消除,此版本主要的修改對(duì)像是軟件的UI。 o RC版: 該版本已經(jīng)相當(dāng)成熟了,基本上不存在導(dǎo)致錯(cuò)誤的BUG,與即將發(fā)行的正式版相差無幾。 o Release版: 該版本意味“最終版本”,在前面版本的一系列測(cè)試版之后,終歸會(huì)有一個(gè)正式版本,是最終交付用戶使用的一個(gè)版本。該版本有時(shí)也稱為標(biāo)準(zhǔn)版。一般情況下,Release不會(huì)以單詞形式出現(xiàn)在軟件封面上,取而代之的是符號(hào)(R)。 2. 版本命名規(guī)范 版本號(hào)定修改規(guī)則: o 主版本號(hào)(1):當(dāng)功能模塊有較大的變動(dòng),比如增加多個(gè)模塊或者整體架構(gòu)發(fā)生變化。此版本號(hào)由項(xiàng)目決定是否修改。 o 子版本號(hào)(1):當(dāng)功能有一定的增加或變化,比如增加了對(duì)權(quán)限控制、增加自定義視圖等功能。此版本號(hào)由項(xiàng)目決定是否修改。 o 階段版本號(hào)(1):一般是 Bug 修復(fù)或是一些小的變動(dòng),要經(jīng)常發(fā)布修訂版,時(shí)間間隔不限,修復(fù)一個(gè)嚴(yán)重的bug即可發(fā)布一個(gè)修訂版。此版本號(hào)由項(xiàng)目經(jīng)理決定是否修改。 o 日期版本號(hào)(051021):用于記錄修改項(xiàng)目的當(dāng)前日期,每天對(duì)項(xiàng)目的修改都需要更改日期版本號(hào)。此版本號(hào)由開發(fā)人員決定是否修改。 o 希臘字母版本號(hào)(beta):此版本號(hào)用于標(biāo)注當(dāng)前版本的軟件處于哪個(gè)開發(fā)階段,當(dāng)軟件進(jìn)入到另一個(gè)階段時(shí)需要修改此版本號(hào)。此版本號(hào)由項(xiàng)目決定是否修改。 3. 文件命名規(guī)范 如果是同一版本同一階段的文件修改過兩次以上,則在階段標(biāo)識(shí)后面加以數(shù)字標(biāo)識(shí),每次修改數(shù)字加1,項(xiàng)目外包平臺(tái)測(cè)試報(bào)告 4. 版本號(hào)的階段標(biāo)識(shí)
測(cè)試任務(wù)描述 在軟件的開發(fā)過程中每個(gè)版本都會(huì)經(jīng)歷四次測(cè)試任務(wù),分別為:?jiǎn)卧獪y(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試,在這四次測(cè)試任務(wù)中,每次測(cè)試都有不同的測(cè)試方向和重點(diǎn)。 1. 單元測(cè)試 2. 集成測(cè)試 3. 系統(tǒng)測(cè)試 驗(yàn)收測(cè)試 驗(yàn)收測(cè)試屬于黑盒測(cè)試范圍,是對(duì)系統(tǒng)測(cè)試修改后的復(fù)審,這方面和集成測(cè)試有些類似,首先確認(rèn)系統(tǒng)測(cè)試中的BUG已經(jīng)按要求修改完成,然后檢測(cè)一下功能是否符合用戶的需求、文檔是否完整、有沒有前面測(cè)試中遺漏沒有測(cè)試出來的BUG。要說明的一點(diǎn)是,此處的驗(yàn)收測(cè)試并非客戶驗(yàn)收測(cè)試,這里沒有客戶參與測(cè)試,只有測(cè)試人員參與測(cè)試。驗(yàn)收測(cè)試是開發(fā)結(jié)束或進(jìn)入下一版本的標(biāo)志性測(cè)試。 驗(yàn)收測(cè)試的重點(diǎn)測(cè)試內(nèi)容包括:鏈接完整性測(cè)試、UI合理性測(cè)試、功能測(cè)試、壓力測(cè)試、頁面完整性測(cè)試、提示文本測(cè)試、瀏覽器測(cè)試、安裝測(cè)試。 測(cè)試工作流程圖 軟件在開發(fā)過程中共有五個(gè)版本,分別是Base版、Alpha版、Beta版、RC版、Release版,每個(gè)版本的開發(fā)中都需要經(jīng)過上述四次測(cè)試,但是每個(gè)版本中各階段的測(cè)試重點(diǎn)是不一樣的,詳細(xì)的測(cè)試流程和重點(diǎn)請(qǐng)看下面各版本流程圖: 1. Base版各個(gè)測(cè)試階段流程圖 測(cè)試提交文檔 測(cè)試文檔使用方法 在測(cè)試的過程中測(cè)試人員會(huì)用到三張表,第一張表是“測(cè)試任務(wù)表”,這張表中記錄的是軟件在每個(gè)版本的每個(gè)階段中需要做的具體測(cè)試任務(wù),如果測(cè)試中不確定需要做哪些測(cè)試,在這張表中可以查詢各個(gè)階段中所要進(jìn)行的測(cè)試項(xiàng)。 測(cè)試文檔下載 黑盒缺陷測(cè)試報(bào)告 注: 在每次的測(cè)試中測(cè)試人員需要按表中的要求進(jìn)行添寫測(cè)試報(bào)告,然后由項(xiàng)目經(jīng)理來分配給開發(fā)人員處理,開發(fā)人員修改完BUG之后再交由項(xiàng)目經(jīng)理來分配給測(cè)試人進(jìn)行修改后的復(fù)審,檢查前面測(cè)試出來的BUG是否已經(jīng)修改完成,在此要特別說明的一點(diǎn)是:為了讓測(cè)試報(bào)告更方便查看,如果在復(fù)審過程中查出還有BUG沒有修改完或是根本沒有修改,則在復(fù)審描述中說明原因,然后把此處標(biāo)注成新的BUG索引項(xiàng)指到新的BUG編號(hào)上,詳細(xì)情況請(qǐng)看下面截圖: 測(cè)試方法和方式 測(cè)試方式主要以手工測(cè)試為主,在條件允許的情況下使用自動(dòng)化測(cè)試工具進(jìn)行測(cè)試。
說明:黑盒測(cè)試是依據(jù)用戶能看到的規(guī)格說明,即針對(duì)命令、信息、報(bào)表等用戶界面及體現(xiàn)他們的輸入數(shù)據(jù)與輸出數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系,特別是針對(duì)功能進(jìn)行測(cè)試。主要由客戶或系統(tǒng)使用者完成執(zhí)行黑盒測(cè)試。
· 測(cè)試用例覆蓋:測(cè)試的每一個(gè)用例都被測(cè)試過。 · 輸入覆蓋:測(cè)試過程中所輸入的數(shù)據(jù)或資料必須一再的試驗(yàn),如在程序安裝過程中輸入用戶名時(shí),測(cè)試者必須反復(fù)輸入不同長(zhǎng)度的中文、英文或數(shù)字等來做測(cè)試。 輸出覆蓋:測(cè)試過程中程序所產(chǎn)生的行為、反映及數(shù)據(jù)必須都一再的試驗(yàn),如不同情況的對(duì)話窗口的內(nèi)容、運(yùn)算結(jié)果數(shù)據(jù)等都必須反復(fù)地測(cè)試審核。 通過測(cè)試的標(biāo)準(zhǔn) 一般有“基于測(cè)試用例”和“基于缺陷密度”兩種評(píng)比準(zhǔn)則,在這里我們采用前者。
實(shí)施建議 對(duì)于系統(tǒng)的一些實(shí)施建議: o 對(duì)系統(tǒng)測(cè)試人員進(jìn)行必要的培訓(xùn),提高他們的測(cè)試效率。 項(xiàng)目經(jīng)理和測(cè)試小組根據(jù)項(xiàng)目的資源、時(shí)間等限制因素,設(shè)法合理地減少測(cè)試的工作量,例如減少“冗余或無效”的測(cè)試。
附錄一:缺陷分類
附錄三:優(yōu)先級(jí)
附錄四:測(cè)試計(jì)劃審批意見
該文章在 2010/12/14 14:49:26 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |