软件测试学习(三)
軟件測試流程
- 軟件需求分析
- 軟件測試計劃制定
- 軟件測試用例設計
- 軟件測試環境搭建
- 測試數據準備
- 測試執行及缺陷處理
- 測試總結和報告
- 測試文件歸檔
- 軟件測試的原則
軟件需求分析
軟件需求分析是軟件測試流程中的基礎一環,用來明確軟件測試對象以及測試范圍,并作為測試覆蓋的基礎。其目的是確保所有風險承擔者盡早地對項目功能達成共識并對將來的產品有個相同而清晰的認識。
| 主要負責人 | PM(項目經理/產品經理) |
| 測試人員 | 參與需求評審,提供評審意見,明確產品需求 |
| 輸入文檔 | 需求說明文檔 |
| 輸出文檔 | 《需求規格說明書》 |
軟件測試計劃制定
軟件測試計劃是指導測試過程的綱領性文件,包含了產品概述、測試策略、測試方法、測試范圍、測試配置、測試進度、測試資源、風險分析等內容。借助軟件測試計劃,參與測試的項目成員,尤其是軟件測試管理人員,可以明確測試任務和測試方法,保持測試實施過程的順暢溝通,跟蹤和控制軟件測試進度,應對軟件測試過程中的各種變更。
| 主要負責人 | 測試經理(制定總體測試計劃) |
| 測試人員 | 制定部分測試計劃內容匯報給測試經理 |
| 輸入文檔 | 《需求規格說明書》《項目開發計劃》 |
| 輸出文檔 | 《軟件測試計劃》 |
軟件測試用例設計
軟件測試用例是指導軟件測試工作的一種文檔,它是通過使用在軟件測試計劃中確定的測試技術,對于已確定的軟件測試需求進行逐步推敲而設計出來的。
軟件測試用例設計完成,要進行綜合評審,通過評審可以彌補軟件需求中遺漏的一些因果關系和異常案例,可以改善測試分析和設計的過程。類似地,軟件測試工作的其它產出文檔,如軟件測試計劃、軟件風險分析應該進行評審。
| 主要負責人 | 測試人員全體 |
| 測試人員 | 使用用例設計方法來設計測試用例并進行評審 |
| 輸入文檔 | 《需求規格說明書》《軟件測試計劃》《軟件設計文檔》 |
| 輸出文檔 | 《軟件測試用例》 |
軟件測試環境搭建
要順利執行測試,首先要確定正確地搭建了軟件測試環境。軟件測試環境是指為了完成軟件測試工作所必須的計算機硬件、軟件、網絡設備、歷史數據的總稱。測試環境的搭建是一項非常重要的工作,同時也可能是一項很耗時的工作。有些軟件的測試環境要求比較復雜,需要在測試執行之前做好充分的準備。
在大數據系統的測試過程中,測試環境和數據的準備是測試過程中的重點。
大數據系統由于其自身的特點(數據規模大、數據多樣、計算復雜度高、分布式結構等)使得對它的測試與傳統軟件測試有所不同,包括需要使用大數據測試工具、測試環境和數據的準備等,對測試人員提出了更高的專業要求。
大數據系統通常是分布式架構,測試環境復雜。接下來我們重點講述大數據測試環境搭建時需要考慮的問題。搭建大數據測試,需要我們考慮以下幾點:
而根據對大數據所測場景不同,所需要的測試環境也有所不同,但測試環境的軟硬件配置、軟件模塊的版本應與生產環境一致。
測試數據準備
目前很多互聯網軟件應用,后臺都會有數據庫做支撐,那就需要在測試的時候準備相應的測試數據,準備測試數據是軟件測試工作的一項必備工作。如何快速地創建測試數據,也是測試工程師的重要能力之一。
創建測試數據的過程,往往需要很長的時間,傳統的創建測試數據的方法分為手動創建和自動化創建兩種方法。
手動創建測試數據一般有如下幾種方法:
- 手動模擬用戶的實際操作來創建重要業務流程的測試數據;
- 通過SQL語句中where查詢條件和update方法來創建符合條件的測試數據;
- 導入本地機器上存儲的一些符合條件的測試數據;
- 導入并加工線上數據變成測試數據。
使用自建腳本也可以生成測試數據,比如腳本語言Ruby或Python,Fit或FitNesse等工具以及Shell腳本等。
獲取自有數據當然更好,因為數據準確、實時、高效。根據使用場景的不同,測試數據可以直接使用真實數據,也可以按照某種算法構造。
拿到數據之后,我們要對數據進行預處理。數據預處理是一種數據挖掘技術,本質就是為了把原始數據轉換為可以理解的格式或者符合我們挖掘的格式。為什么要進行預處理呢?因為直接獲取的數據通常質量比較低,主要表現為這些現象:
數據預處理就是解決上面所提到的數據問題的可靠方法。首先要進行數據清洗,數據清洗完成之后接著進行或者同時進行數據集成、轉換、歸一化等一系列處理,這個過程就是數據預處理。一方面是提高數據的質量,另一方面可以讓數據更好的適應特定的項目環境。初學者可以了解以下幾種數據預處理的方法:
測試執行及缺陷處理
提交了測試對象并且測試對象滿足了測試執行的進入準則后(測試的進入準則會在第3章軟件測試計劃中詳細講述,就是滿足了一定的條件,才能開始執行測試),可以開始測試執行。
測試的執行只能有2種結果:Pass或者Fail。測試不通過的話,測試人員就應該把發現的問題及時記錄下來,報告給開發人員做出相應的修改。缺陷記錄是測試人員工作的具體表現形式,是測試人員與開發人員溝通的基礎。因此,如何錄入一個高質量的缺陷報告,是每個測試人員都要重視的問題。
| 主要負責人 | 測試經理(跟蹤實際測試情況,處理疑難問題) |
| 測試人員 | 執行實際測試用例,提交缺陷,回歸缺陷 |
| 輸入文檔 | 《需求規格說明書》《軟件測試計劃》《軟件設計文檔》《測試用例文檔》《測試數據》 |
| 輸出文檔 | 《軟件缺陷報告文檔》 |
測試總結和報告
軟件測試進行到一定程度就要進行測試評估了。測試評估可以在軟件測試過程中階段性進行,也可以是測試整體結束后進行。通過測試評估生成的測試總結報告(又叫測試評估報告)來確定測試是否達到了出口準則。
| 主要負責人 | 測試經理(編寫測試總結報告) |
| 測試人員 | 提供自己負責部分的測試情況總結 |
| 輸入文檔 | 《需求規格說明書》《軟件測試計劃》《軟件設計文檔》《測試用例文檔》《測試數據》《軟件缺陷報告文檔》 |
| 輸出文檔 | 《軟件測試總結報告》 |
測試文件歸檔
軟件測試到此是否就結束了呢?還有最后一個環節,那就是測試文件的歸檔。測試文件歸檔是在測試驗收結束,宣布測試有效及結束測試后,對整個過程中涉及到的各種標準文檔進行歸檔、存檔??梢允褂梦臋n管理工具來完成此項工作。如Ftp、SVN、Git、VSS、Wiki等。
軟件測試的過程,其實是一個完整的PDCA循環。測試不應該在執行完軟件測試后就戛然而止,應該使用這次測試總結出來的經驗和教訓指導下一次測試的設計和執行。軟件測試中到處都體現著PDCA循環的精神。
軟件測試的原則
所有的測試最終都應該以用戶需求為依據
應盡早開展軟件測試工作
軟件測試中的Pareto法則
程序員應該盡量避免測試自己編寫的程序
窮盡測試是不可能的
軟件測試是有風險的
Good-Enough原則
程序中存在軟件缺陷的可能性與該部分已經發現的缺陷成正比
軟件測試經常會有免疫現象發生
無法通過軟件測試發現所有的軟件缺陷
并非所有的軟件缺陷都會修復
前進兩步,后退一步(這是指修復軟件缺陷,總會以20%~50%的幾率引入新的缺陷,所以整個過程是前進兩步,后退一步的。通過合理的回歸測試可以有效的解決部分這種問題.)
總結
- 上一篇: docker安装openldap
- 下一篇: mondrian 源码研究之 缓存