軟體測驗程序中,最主要的就是要掌握好軟體測驗的方法,掌握好了軟體測驗方法,有利于測驗技能的大幅度提高,
軟體測驗方法
== 軟體測驗方法是指測驗軟體的方法,隨著軟體測驗技術的不斷發展,測驗方法也越來越多樣化,針對性更強;選擇合適的軟體測驗方法可以讓我們事半功倍,==
一、根據是否要走查代碼,分為白盒測驗、灰盒測驗、黑盒測驗;
二、分為手工測驗、自動化測驗和性能測驗:
手工測驗:UI測驗、冒煙測驗、隨機測驗、本地化測驗、安裝測驗、卸載測驗;
自動化測驗:
性能測驗:健全測驗、衰竭測驗、負載測驗、強迫測驗、壓力測驗、恢復測驗;
三、根據是否要運行程式,分為靜態測驗和動態測驗;
四、按測驗階段可分為:單元測驗、集成測驗、系統測驗、回歸測驗、驗收測驗、α測驗_Alpha測驗、β測驗,英文是Beta testing,又稱Beta測驗,用戶驗收測驗(UAT);
五、其他測驗方法:端到端測驗、接受測驗、安全測驗、兼容性測驗、可用性測驗、比較測驗、邊界測驗、強力測驗、裝配安裝測驗、隱藏資料測驗、等價劃分測驗、判定表測驗、深度測驗、基于設計、檔案測驗、域測驗、介面測驗、逆向測驗、非功能性測驗、極限測驗等,
其中一些測驗方法的定義
端到端測驗
端到端測驗,英文是End to End Testing,
端到端測驗類似于系統測驗,測驗級的“宏大”的端點,涉及整個應用系統環境在一個現實世界使用時的模擬情形的所有測驗,
例如與資料庫對話,用網路通訊,或與外部硬體、應用系統或適當的系統對話,端到端架構測驗包含所有訪問點的功能測驗及性能測驗,
端到端架構測驗實質上是一種"灰盒"測驗,一種集合了白盒測驗和黑盒測驗的優點的測驗方法,
健全測驗
== 健全測驗,英文是Sanity testing,==
健全測驗是指一個初始化的測驗作業,以決定一個新的軟體版本測驗是否足以執行下一步大的測驗能 力,
例如,如果一個新版軟體每5分鐘與系統沖突,使系統陷于泥潭,說明該軟體不夠“健全”,不具備進一步測驗的條件,
衰竭測驗
衰竭測驗,英文是Failure Testing,
衰竭測驗是指軟體或環境的修復或更正后的“再測驗”,可能很難確定需要多少遍再次測驗,尤其在接近開發周期結束時,自動測驗工具對這類測驗尤其有用,
負載測驗
負載測驗,英文是Load testing,
負載測驗是測驗一個應用在重負荷下的表現,例如測驗一個 Web 站點在大量的負荷下,何時系統的回應會退化或失敗,以發現設計上的錯誤或驗證系統的負載能力,在這種測驗中,將使測驗物件承擔不同的作業量,以評測和評估測驗物件在不同作業量條件下的性能行為,以及持續正常運行的能力,
負載測驗的目標是確定并確保系統在超出最大預期作業量的情況下仍能正常運行,此外,負載測驗還要評估性能特征,例如,回應時間、事務處理速率和其他與時間相關的方面,
強迫測驗
強迫測驗,英文是Force Testing,
強迫測驗是在交替進行負荷和性能測驗時常用的術語,也用于描述物件在異乎尋常的多載下的系統功能測驗之類的測驗,如某個動作或輸入大量的重復,大量資料的輸入,對一個資料庫系統大量的復雜查詢等,
壓力測驗
壓力測驗,英文是Stress Testing,和負載測驗差不多,
壓力測驗是一種基本的質量保證行為,它是每個重要軟體測驗作業的一部分,壓力測驗的基本思路很簡單:不是在常規條件下運行手動或自動測驗,而是在計算機數量較少或系統資源匱乏的條件下運行測驗,通常要進行壓力測驗的資源包括內部記憶體、CPU 可用性、磁盤空間和網路帶寬等,一般用并發來做壓力測驗,
恢復測驗
== 恢復測驗,英文是Recovery testing,==
恢復測驗是測驗一個系統從如下災難中能否很好地恢復,如遇到系統崩潰、硬體損壞或其他災難性問題,恢復測驗指通過人為的讓軟體(或者硬體)出現故障來檢測系統是否能正確的恢復,通常關注恢復所需的時間以及恢復的程度,
==恢復測驗主要檢查系統的容錯能力,==當系統出錯時,能否在指定時間間隔內修正錯誤并重新啟動系統,恢復測驗首先要采用各種辦法強迫系統失敗,然后驗證系統是否能盡快恢復,對于自動恢復需驗證重新初始化(reinitialization)、檢查點(checkpointing mechanisms)、資料恢復(data recovery)和重新啟動 (restart)等機制的正確性;對于人工干預的恢復系統,還需估測平均恢復時間,確定其是否在可接受的范圍內,
可用性測驗
可用性測驗,英文是Practical Usability Testing,
可用性測驗是對“用戶友好性”的測驗,顯然這是主觀的,且將取決于目標最終用戶或客戶,用戶面談、調查、用戶對話的錄象和其他一些技術都可使用,程式員和測驗員通常都不宜作可用性測驗員,
比較測驗
比較測驗,英文是Compare Testing,
比較測驗是指與競爭伙伴的產品的比較測驗,如軟體的弱點、優點或實力,來取長補短,以增強產品的競爭力,
強力測驗
強力測驗,英文是Mightiness Testing,
強力測驗通常驗證軟體的性能在各種極端的環境和系統條件下是否還能正常作業,或者說是驗證軟體的性能在各種極端環境和系統條件下的承受能力,比如,在最低的硬碟驅動器空間或系統記憶容量條件下,驗證程式重復執行打開和保存一個巨大的檔案1000次后也不會崩潰或死機,
裝配安裝
裝配/安裝/配置測驗是驗證軟體程式在不同廠家的硬體上,所支持的不同語言的新舊版本平臺上,和不同方式安裝的軟體都能夠如預期的那樣正確運行,比如,把英文版的 Microsoft Office 2003安裝在韓文版 的Windows Me 上,再驗證所有功能都正常運行,
隱藏資料
隱藏資料測驗在軟體驗收和確認階段是十分必要和重要的一部分,程式的質量不僅僅通過用戶界面的可視化資料來驗證,而且必須包括遍歷系統的所有資料,
假設一個應用程式要求用戶兩條資訊-----用戶名和密碼來創建帳戶,這個用戶輸入這兩條資料后保存,最后,一個確認視窗將通過資料庫中找到這條資料來顯示用戶名和密碼給用戶,為了驗證所有的資料保存是否正確,一個QA測驗人員會在這個確認視窗簡單的查看下用戶名和密碼,如果他們成功了?假設資料庫記錄了第三條資訊----創建日期,它可能不會出現在確認視窗,而只在存檔中才出現,如果創建日期保留的不正確,而QA測驗人員只驗證螢屏上的資料,那么這個問題就不可能被發現,創建日期可能就是一個bug,由于一個用戶帳戶保存了一個錯誤的日期到資料庫中,這個問題也不可能會被引起注意,因為它被用戶界面所隱藏,這只是一個簡單的例子,但是它卻演化出了一點:隱藏資料測驗的重要性,
判定表
判定表的英文是decision table,是指一個表格,用于顯示條件和條件導致動作的集合,
定義:判定表是分析和表達多邏輯條件下執行不同操作的情況的工具,
判定表的優點:能夠將復雜的問題按照各種可能的情況全部列舉出來,簡明并避免遺漏,因此,利用判定表能夠設計出完整的測驗用例集合,
在一些資料處理問題當中,某些操作的實施依賴于多個邏輯條件的組合,即:針對不同邏輯條件的組合值,分別執行不同的操作,判定表很適合于處理這類問題
深度測驗
深度測驗的英文Depth test ,是指執行一個產品的一個特性的所有細節,但不測驗所有特性,
當比較函式回傳真的時候才顯示出效果來,必須啟用“#深度測驗”,才能執行測驗,不使用的時候需要關閉,
基于設計
基于設計的測驗的英文是design-based testing,是根據軟體的構架或詳細設計引出測驗用例的一種方法,
一種基于設計模型的測驗方法(Model Based TestIng System,MATIS).該方法利用用戶界面自動生成方法,把設計模型中的類屬性定義和實作中的控制元件屬性組織在一起,構建描述界面的邏輯對照表,輔助測驗腳本引擎執行自動測驗腳本.借助設計模型中擴展的類定義,MATIS方法可以自動生成測驗用例和測驗資料,
域測驗
== 域測驗的英文是domain testing,定義參考等價劃分測驗(equivalence partition testing);==
一般分為單域測驗和多域測驗,其中單域測驗包括設備測驗和業務測驗,設備測驗包括測驗某個系統的軟交換設備、中繼媒體網關設備、信令網關設備、接入媒體網關和IAD等設備,
等價類劃分有兩種不同的情況:有效等價類和無效等價類,設計時要同時考慮這兩種等價類,因為軟體不僅要能接收合理的資料,也要能經受意外的考驗,
一有效等價類:是指對于程式的規格說明來說是合理的、有意義的輸入資料構成的集合,利用有效等價類可檢驗程式是否實作了規格說明中所規定的功能和性能,
二無效等價類:與有效等價類的定義恰巧相反,
逆向測驗
== 逆向測驗/反向測驗/負面測驗的英文是Negative Testing,測驗瞄準于使系統不能作業,==
負面測驗與正面測驗的比較:
負面測驗(Negative testing)是相對于正面測驗(Positive testing)而言的,
它們也是測驗設計時的兩個非常重要的劃分,簡單點說,正面測驗就是測驗系統是否完成了它應該完成的作業;而負面測驗就是測驗系統是否不執行它不應該完成的操作,形象一點,正面測驗就象一個畢恭畢敬的小學生,老師叫我做什么,我就做什么;而負面測驗就象一個調皮搗蛋的孩子,你叫我這樣做,我偏不這樣做,而且和你對著干,開發人員也是最討厭修改此類bug的,
非功能性
非功能性需求測驗的英文是non-functional requirements testing ,是與功能不相關的需求測驗,如:性能測驗、可用性測驗等,
為什么非功能性需求很重要?
在您設計解決方案的程序中滿足功能性需求當然是很重要的,但是,如果沒有考慮非功能性需求,您的解決方案則很難取得實效,
非功能性需求特點:1.不要脫離實際環境;2.可靠性;3.可用性;4.有效性;5.可維護性;6.可移植性,
極限測驗
簡介:極限測驗本質上是為了滿足極限測驗的思想和流程而設計的一套測驗策略和流程,其本身并不局限于使用特定的測驗技術和方法,
程序
1.單元測驗
2.驗收測驗
要熟記各個測驗方法的意義,并且,靈活的運用它,這樣,測驗技能,將能更上一層樓,
需要領取面試資料,軟體測驗資料全集,點擊鏈接加入群聊【Python自動化測驗交流群】領取!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/123119.html
標籤:其他
