如何確定軟件測試技術
發表于:2007-12-10來源:作者:點擊數:
標簽:軟件測試
測試是用來確定應用系統屬性的存在、 質量 及其真實性的一種手段。 測試過程 盡量做到結構化。 1、應用程序的有效性取決于該應用程序與其所在環境的適應性。 適應性:指應用程序在幫助用戶執行其日常工作方面的使用、幫助合意義的程度。適應性有如下所述的四
測試是用來確定應用系統屬性的存在、
質量及其真實性的一種手段。
測試過程盡量做到結構化。
1、應用程序的有效性取決于該應用程序與其所在環境的適應性。
適應性:指應用程序在幫助用戶執行其日常工作方面的使用、幫助合意義的程度。適應性有如下所述的四個要素:
(1)數據:數據的
可靠性、及時性、一致性、可用性;
(2)人員:良好技能、相應
培訓、悟性、興趣;
(3)結構:提高技術、滿足
需求的恰當的
開發方法;
(4)規則:按照一定規程處理數據。
應用系統必須與業務環境中的這四個要素相適應。
2、測試技術/工具的選擇過程
2.1、結構測試與
功能測試 基于結構分析的測試,其目的是為了發現程序“編碼”過程中的錯誤;基于功能分析的測試是為了發現實現需求或者設計規格說明時的錯誤。
功能測試確保應用系統恰當地滿足了需求;結構測試用于保證對各功能實現進行了充分的測試。
2.2、
動態測試與
靜態測試 動態測試基于
測試用例運行程序,執行的結果與期望結果值進行比較,看是否一致。
靜態測試不需要執行程序,其手段如語法檢查等。
靜態測試主要用于需求和設計階段,動態測試主要用于測試階段。
2.3、人工測試與
自動測試 由人所執行的測試稱為人工測試,由機器執行的測試稱為自動測試。
開發過程越是自動化,測試過程的自動化也就越容易。
3、測試技術/工具的選擇
過程:選擇測試因素-->確定SDLC階段-->明確測試標準-->選擇測試類型-
(系統結構或功能)->選擇技術-->選擇
測試方法-->動態或靜態
->
單元測試技術-->選擇測試方法-->動態或靜態
4、測試技術與
測試工具的區別
測試工具是執行測試過程的一個設備;測試技術是確保應用系統某方面或單元的功能正確的過程。
5、結構化
系統測試技術:用于驗證所開發的系統及程序的運行情況。目標是要確保產品設計在結構上合理,功能上正確。為確定實現的配置及其各功能共同作用以完成特定任務 提供了一種機制。結構化測試技術由以下幾種:
(1)
壓力測試:確定系統以期望的容量執行。
舉例:分配了足夠的磁盤空間;有充分的通信渠道。
壓力測試技術用于檢查系統面對意外情況下的大數據量時是否可以正常運行。所涉及的方面包括輸入事務、內部表、磁盤空間、輸出、通信、計算機容量以及人機交互等。
當應用系統所能正常處理的工作量并不確定時需要使用壓力測試。壓力測試意圖通過對系統施加超負載事務量來達到破壞系統的目的。弱點在于準備測試的時間與在測試的實際執行過程中所消耗的資源數量都非常之大,通常在應用程序投入使用之前這種技術是無法進行的。
(2)執行測試:系統能達到期望的熟練性。
舉例:事務輪轉時間充分;軟硬件使用良好。
執行測試技術用于檢查系統是否達到了預期在產品狀態下的成熟度。執行測試可以驗證系統的響應時間、輪轉時間及設計性能。
在開發過程的早期就應該進行執行測試,盡早制定已經完成的系統沒有達到
性能指標是非常有價值的。在關鍵時間點進行。關鍵時間點指的是當前的結果會影響甚至改變系統結構的時間點。
(3)恢復測試:系統失效之后可以恢復到可操作狀態。
舉例:引入失??;評估備份數據的充分性。
恢復測試技術用于確保系統在經歷災難后可以繼續正常運行,它不僅可以驗證恢復過程,而且可以驗證過程各組件的有效性。
當用戶認為系統操作的連續性對于其所涉及領域的某些功能至關重要時,需要進行恢復測試。
(4)操作測試:系統以正常操作狀態執行。
舉例:確定系統可以依據文檔進行運行;JCL(工作控制語言)充分。
操作測試技術主要用于檢查系統在正常的操作狀態下是否可以執行。操作測試可以與其它測試聯合執行。
任何應用程序在成為產品之前都應進行操作測試。
(5)(與過程的)一致性測試:系統的開發與標準和規程相一致。
舉例:按標準執行;文檔完整。
一致性測試技術用于驗證應用程序的開發是否與信息技術指標、過程及準則相一致。一致性測試最有效的方法是過程審查。
系統開發標準和過程的一致性程度依賴于管理層對于所需遵循的特定過程和執行標準的重視程度。
(6)
安全性測試:根據組織的重要性對系統進行保護。
舉例:訪問拒絕;規程適當。
安全性測試技術用于評價保護性程序及安全對策的充分性。安全性
缺陷不如其它類型的缺陷那么明顯。安全性測試是測試過程中高度專業化的部分。分物理安全性(針對利用物理方法收集信息的手段)和邏輯安全性(針對使用計算機處理和通信能力進行非法活動信息的手段)。
當系統保護信息和資產對于組織來說意義重大時,需要進行安全性測試。
6、功能性系統測試技術
功能性系統測試用于確保系統需求與定義都得到了滿足。該過程通常包含創建用于評價應用程序正確性的測試條件。
用于執行功能測試的幾種測試技術包括:
(1)需求測試:系統按制定方式執行。
舉例:證明系統需求;與政策、規則相一致。
需求測試技術驗證系統是否正確執行其功能,并且能保證在相當長的一段時間內保持其正確性。需求測試的執行主要通過執行創建的測試條件以及功能檢查單來完成, 通過需求得到測試條件,然后以類似于SDLC這種特定的方式表現,生成用于評價實現的應用系統的測試數據。
任何應用程序都應該對需求進行測試,此過程應該開始于需求階段,并一直持續到系統運行和維護階段。
(2)
回歸測試:驗證系統中沒有改變的部分仍能正確運行。
舉例:未變更的部分正常運行;未變更的人工規程正確。
回歸測試技術對已經測試過的部分進行重新測試,以保證它們在應用程序其它部分發生變更之后仍能正常運行。
當變更會對應用程序中沒有變更的部分產生高風險的影響時需要進行回歸測試。
(3)錯誤處理測試:錯誤可以得到防止或檢測,并被修復。
舉例:將錯誤引入測試;錯誤的再次注入。
人工系統與自動系統之間差別的特點之一就是預定義的錯誤處理特性。錯誤處理測試技術用于檢查應用系統正確處理發生異常的能力。錯誤處理測試需要一組
知識豐富的人員來預見應用系統可能發生的錯誤。它是測試錯誤的引入、錯誤的處理,控制條件以及條件的再次正確輸入。
在系統整個生命周期中都應該進行錯誤測試。在開發過程中,應該識別錯誤帶來的問題并且采取相應的措施將錯誤減少到可以接受的程度。
(4)人工支持測試:人機交互有效。
舉例:具備人工規程;人員接受過培訓。
人工支持測試技術主要包括人員在準備數據以及使用來源于自動程序數據的過程中執行所有功能。
在生命周期的全過程都應該驗證人工系統功能的正確性。
(5)系統間測試:數據可以正確地在系統間傳遞。
舉例:系統間參數變化;系統間文檔更新。
系統間測試技術用于保證應用程序間相互管理的正確性。系統間測試的一個最好的工具是
集成測試工具,它允許在產品環境下進行測試,可以以最小的代價測試系統間的耦合性。
在應用系統間的參數發生變更時需要進行系統間的測試。測試的程度和類型依賴于與出錯的參數相關聯的風險情況。
(6)控制測試:將系統風險控制降低到可以接受的級別。
舉例:文件一致性規程正常;人工控制正確。
控制測試技術包括數據確認、文件完整性控制、評審追蹤、備份和恢復、文檔,以及與系統完整性相關的其它方面。主要用于確保對系統特定功能的檢查??梢杂糜诳刂茰y試的一個方法是生成風險矩陣。
控制測試是系統測試中的一個完整的部分,占測試時間的很大比例。
原文轉自:http://www.kjueaiud.com