(1)軟體測試的目標:發現程式中的錯誤,是為 了證明程式有錯,而不是證明程式無錯。保證軟體質量,提高軟體可靠 性的關鍵。
(2)軟體測試的任務:軟體測試是軟體開發工作的最後乙個環節。 由於人認識客觀事物的主觀性,難免在開發 的軟體產品中產生錯誤。 為了給使用者交付乙個高質量的軟體系統, 必須對開發的系統進行嚴格的測試,以便盡 可能多的發現錯誤。
(3)軟體測試的策略:白盒測試、黑盒測試
(1)軟體測試的步驟:單元測試、整合測試、確認測試、系統測試
單元測試: 要對模組的五個基本特性進行評價
整合測試: 檢驗概要設計中模組介面設計問題
確認測試: 以需求規格說明書為檢驗尺度
系統測試: 綜合檢驗,平行執行:新舊兩套系統並行執行,對照檢驗,測試可視為分析、設計、編碼三個階段的最終複審,以保證軟體質量。
(2)單元測試:
主要測試以下五個方面:
a、模組介面:
內部檢查:傳輸引數的數目、屬性、單位、 次序是否匹配;全程變數的定義是否一致; 只做輸入的變元有無被修改,等等。
外部檢查:開啟、結束、關閉檔案的操作; 檔案和屬性;i\o錯誤處理;輸出拼寫,等。
b、區域性資料結構
資料說明(declaration);初始化與預設 值的設定;變數名拼寫;資料型別的相容性; 上\下溢位及位址異常,等等。
c、重要的執行通路:
由於窮盡測試不可能,故通常針對最常見 的錯誤設計測試方案。較常見的錯誤有:
計算次序問題;
不同型別混合運算(如比較型別不同的量);
初值設定錯誤;
精度問題(例:精度不夠導致兩變數不可能 相等,而程式中等待相等條件的出現;
表示式錯誤;
迴圈終止條件錯誤(例:次數差1,或陷入 死迴圈)。
d、出錯處理通路
預見出現錯誤的條件,設定處理。較常見的問題有
輸出的錯誤資訊難以理解,不能確定錯誤位置
描述的錯誤與實際錯誤不符
處理之前系統已經干預
處理不正確
e、邊界條件
單元測試中最後,也可能是 最重要的任務,因為軟體常在其邊界失效。
(3)軟體測試的方法:
(1):靜態測試方法:人工測試方法 計算機輔助靜態分析方法
(2):動態測試方法:白盒測試方法 黑盒測試方法 窮舉測試方法
靜態測試:
基本特徵是在對軟體進行分析、檢 查和測試,不實際執行被測試的軟體.
靜態測試約可找出30~70%的邏輯 設計錯誤. 對需求規格說明書、軟體設計說明 書、源程式做結構分析、流程圖分析 、符號執行來找錯。
動態測試:
通過執行軟體來檢驗軟體的動 態行為和執行結果的正確性.
動態測試的兩個基本要素:被測試程式測試資料(測試用例)
(1)測試工具的分類:
自動化軟體測試工具:通過計算機執行測試工具自動地進行指令碼測試
測試管理工具:通過資料庫共享測試用例,管理軟體缺陷
兩者相結合提高會讓軟體測試效率
(2)自動化軟體測試工具:提高測試效率,用軟體 來代替人工輸入。
適應於的場合:軟體需求變化不頻繁、專案 周期長、測試指令碼重複使用的情況
提高執行速度,縮短測試週期,多次執行;
自動化測試只能發現15%-30%的缺陷;
軟體功能測試、驗收測試等不適合自動化測試;
單元測試、整合測試、負載效能測試、回歸測試適合進行自動化測試;
短期專案、需求變化頻繁時,不適合自動 化測試
(3)測試管理工具:通常對測試需求、測試計畫、測試用例和測試實施管理,並跟蹤和管理軟體缺陷。
測試管理工具的測試人員、開發人員及 其他人員共享乙個資料庫,相互交換資訊,提高回歸測試效率、提公升測試質量 、用例復用等。
(4)按照功能分類:
**測試覆蓋率分析器;
記憶體洩露檢測工具;
測試資料生成器;
網路測試工具;
gui測試工具;
負載、效能和強度測試工具。
(5)按照測試技術分類:
黑盒測試工具
功能測試工具
效能測試工具
白盒測試工具
靜態測試工具
動態測試工具
測試管理工具
1、軟體質量評估的定義:
軟體質量評估技術是軟體工程中非常重要的研究領域,由於軟體本身的複雜性和軟體技術發展迅速等原因,軟體質量評估技術在理論上和技術上都很不成熟,對軟體質量更科學、更客觀的評估。 可以促使得到更加可靠、高效的軟體。
2、軟體質量評估的原則:
a、針對性
具體表現就是功能性與高可靠性。
b、可測性
即能夠定量表示,可以通過數學計算、平台測試、經驗統計等方法得到具體資料。
c、簡明性
即易於被各方理解和接受。
d、完備性
即選擇的指標應覆蓋分析目標所涉及的範圍。
e、客觀性
即客觀反映軟體本質特徵,不能因人而異。
3、注意點:
選擇的評估指標不是越多越好,關鍵在於指標在評估中所起的作用的大小。如果評估時指標太多,不僅增加結果的複雜性,有時甚至會影響評估的客觀性。
4、軟體質量評估指標體系:
通常,我們在軟體的測試與評估時,主要側重於功能特徵、可靠特徵、易用特徵和效率特徵等幾個方面。
a、功能性指標:是軟體最重要的質量特徵之一,可以細化成完備性和正確性。對軟體的功能性評價主要採用定性評價方法。
a.完備性
完備性是與軟體功能完整、齊全有關的軟體屬性。如果軟體實際完成的功能少於或不符合研製任務書所規定的明確或隱含的那些功能,則不能說該軟體的功能是完備的。
b.正確性
正確性是與能否得到正確或相符的結果或效果有關的軟體屬性。軟體的正確性在很大程度上與軟體模組的工程模型(直接影響輔助計算的精度與輔助決策方案的優劣)和軟體編制人員的程式設計水平有關。
b、可靠性指標
a.可用度:可用度指軟體執行後在任一隨機時刻需要執行規定任務或完成規定功能時,軟體處於可使用狀態的概率。
b.初期故障率:初期故障率指軟體在初期故障期(一般以軟體交付給使用者後的三個月內為初期故障期)內單位時間的故障數。
c.偶然故障率:指軟體在偶然故障期(一般以軟體交付給使用者後的四個月以後為偶然故障期)內單位時間的故障數。
d.平均失效前時間(mttf):指軟體在失效前正常工作的平均統計時間。
e.平均失效間隔時間(mtbf):指軟體在相繼兩次失效之間正常工作的平均統計時間。
f.缺陷密度(fd):指軟體單位源**中隱藏的缺陷數量。
g.平均失效恢復時間(mttr):指軟體失效後恢復正常工作所需的平均統計時間。
易用性指標:可以細化為易理解性、易學習性和易操作性等。這三個特徵主要是針對使用者而言的。對軟體的易用性評價主要採用定性評價方法。
a.易理解性:與使用者認識軟體的邏輯概念及其應用範圍所花的努力有關的軟體屬性。b.易學習性:與使用者為學習軟體應用(例如執行控制、輸入、輸出)所花的努力有關的軟體屬性。
c.易操作性:與使用者為操作和執行控制所花的努力有關的軟體屬性。
效率特徵指標
漢化軟體的測試綜述
漢化測試與一般測試的異同 軟體測試是軟體質量保證的關鍵步驟。其中,對於不同企業的不同類產品 同一企業的不同類產品 或不同企業的同一類產品,實際操作上都會有很大的不同。漢化軟體的測試工作更有其特殊性,不同於一般軟體的測試。一 測試的目的 1 確保產品完成了它所承諾或公布的功能,並且所有使用者可以訪問到...
軟體測試自學筆記01 入門綜述
一 體系 作業系統基礎 軟體開發知識 軟體測試理論和實戰 自動化測試工具 專案實訓 三 專案 oa辦公自動化系統 網上招聘系統 員工資訊管理系統 crm客戶關係管理系統 電子政務網 進銷存管理系統 基於web的網上購物系統 四 測試目的 發現缺陷 提高軟體質量 改進軟體開發 五 測試流程 編寫測試計...
軟體模式綜述
軟體模式綜述 1 引言 模式 pattern 的概念最早由建築大師christopher alexander於二十世紀七十年代提出,應用於建築領域,八十年代中期由ward cunningham 和kent beck將其思想引入到軟體領域,1994年開始由hillside group 由kent be...