1. 程式人生 > >從菜鳥到測試架構師-筆記

從菜鳥到測試架構師-筆記

發現,解決問題其實是一種藝術。

單元測試是粒度最小的軟體測試,小粒度能保證複雜系統中的每個“螺絲釘”都質量合格。通過了單元測試的程式碼才可以繼承到系統中, 進行進一步測試。

單元測試關注的是一個最小的程式碼片段,如一個類或介面,而功能測試關注的是一個完整的業務務功能。

效能測試是重點驗證軟體的非功能性需求的測試,軟體測試與安裝過程有許多體現效能的細節,包括吞吐率,穩定性,可靠性等。通過了效能測試的軟體系統從根本上保證了使用者的體驗和長遠利益。

中介軟體是提供系統軟體和應用軟體之間連線的軟體,以便於各種部件之間的溝通,特別是應用軟體對於系統軟體的集中的邏輯。 中介軟體不提供具體的功能,但它卻是系統中各個部件有機連線的橋樑。中介軟體可以提供對外圍伺服器,包括資料庫伺服器,應用伺服器,web伺服器等的支援和管理。中介軟體技術建立在對應用軟體部分常用功能的抽象上,將常用且重要的過程呼叫,分散式元件,訊息佇列,事務,安全,聯結器,商業流程,網路併發,HTTP伺服器,web服務等功能集中一身或者分別在不同品牌的不同產品中分別完成。

在瀑布開發模型中,整個系統的開發被劃分成需求分析,設計,實現,整合和維護等階段,這種劃分本質上是把不同性質的專案內容分隔到不同階段,而某個階段則專注的進行某種任務。

測試計劃詳細描述了測試的環境,場景,執行要點,依賴等內容。專案執行完全依賴計劃實施,因此,好的計劃是專案成功的基礎。

軟體測試,從巨集觀角度而言,是指標對被測試的產品或服務進行的一系列關於軟 件質量的調查,軟體測試結果對軟體的擁有者(Product Owner)負責。軟體測試 還從一種獨立的視角為業務運作提供客觀評估,這種評估包括軟體的質量達標程 度及因為某種相應的實現方式而存在的風險等。

細緻 的分工有利於凝聚人的注意力,提高熟練程度的同時減少切換帶來的開銷。

軟體質量包括功能性質量和結構性質量;功能性質量反映的是軟體是否按照設計實現並滿足相應功 能性需求;結構性質量反映的是軟體是否滿足相關的非功能性 需求。

正確性反映了實現的功能達到設計規範並滿足使用者需求的程度,這是功能行質量的基本指標。正確性可通過功能測試來驗證。

可靠性衡量在規定的時間和條件下,系統維持其效能水準的程度,這是結構性需求的重要指標,對於企業級應用系統對可靠性較高要求,通過系統可靠性測試獲取。

易用性反映使用者掌握軟體操作及理解軟體事務所需付出的時間及努力程度,具體指標介面是否有好,是否有線上幫助,是否提供容易理解的異常資訊等,由功能測試獲得。

可移植性衡量系統從一個平臺轉移到另一個平臺的容易程度,高可移植性應該容易安裝和更新,且企業級系統對多國語言的支援程度也是可移植性的衡量指標。在多平臺的功能,系統測試,安裝測試,多國語言測試中得到驗證。

可遷移性需要通過遷移測試來驗證。

效率衡量系統執行某功能所需的計算機資源和時間有效程度,包括功能 和效能是否經過優化,是否檢驗記憶體洩漏或溢位問題等。效率是系統測試的一個重要檢 測點。

可維護性、可擴充套件性反映當環境改變或出現錯誤時, 執行修改或修復的難易程度。系統的設計是否很好地考慮日後擴充套件的需求,架構是否靈活 等因素決定可維護性和可擴充套件性。系統測試可以獲得系統的可擴充套件性指標。

健壯性衡量系統在接受異常或錯誤輸入後能否返回正確的提示資訊且不影響正確運作的指標。

安全性衡量系統對攻擊性或不當的訪問的抵禦能力,檢測的方向包括在 受到沒有授權的訪問時系統對自身及資料的保護程度,系統的安全機制是否正確地實現,系 統在受到攻擊時是否能保持正常的業務運作等。系統測試有專門的測試涵蓋安全性的稽核。

問題分析常用的系統方法有兩種,自頂向下和自底向上。其本質都是準確重現和定位問題。