軟件分為系統軟件、應用軟件,支持軟件
軟件分為單機和分布式軟件
分布式的軟件架構有兩種,
CS(client server)架構:需要安裝客戶端的(eg:qq)
BS架構:沒有客戶端的(只需安裝一個瀏覽器與數據庫交換數據如論壇)。
軟件測試的定義:
- 軟件測試是為了發現錯誤而運行程序的過程。
- 使用人工或自動手段來運行或測試某個系統的過程,其目的在于檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別。
軟件測試的目的
- 軟件測試是程序的執行過程,目的在于發現錯誤。
- 通過分析錯誤,發現當前所采用的軟件過程缺陷,改進軟件過程。
- 通過對測試業務的深入了解,對新產品的改進提出有意義的建議。
- 驗證產品符合質量標準。
軟件測試的必備素質
- 溝通能力
- 責任心
- 懂得尊重
- 探索精神
- 洞察力
- 自信力
軟件測試工程師的必備技能
- 測試知識
- 編程技能
- 數據庫知識
- 網絡知識
軟件測試的分類
按測試技術劃分,分為黑盒測試和白盒測試
黑盒測試:黑盒測試是指不基于內部設計和代碼的任何知識,而基于需求和功能性的測試,黑盒測試也也稱功能測試或數據驅動測試。
黑盒測試依據:需求規格說明書。
黑盒測試的優點:能夠站在用戶的立場上進行測試。
黑盒測試的缺點:不能測試程序內部的特定部位,如果需求規格說明書有誤,則無法發現。白盒測試:白盒測試是基于一個應用代碼的內部邏輯知識,即基于覆蓋全部代碼、分支、路徑、條件的測試。白盒測試也稱結構測試或邏輯驅動測試。
白盒測試依據:程序內部結構。
白盒測試的優點:能夠對程序內部的特地部位進行覆蓋測試。
白盒測試的缺點:無法檢驗程序的外特性,無法對未實現規格說明的程序內部欠缺部分進行測試。
按照測試階段分類劃分
-
單元測試:又稱為模塊測試,是針對程序模塊(軟件設計的最小單位)來進行正確性檢驗的測試工作。
單元測試的目的:
- 驗證單元代碼和詳細設計文檔的一致性。
- 發現在編碼過程中引入的錯誤。
- 減少開發人員的調試代碼時間。
- 大幅度減少后期缺陷的數量。
-
集成測試:是在單元測試的基礎上,將所有模塊按照概要設計要求(如根據流程圖)組裝成為子系統或系統而進行的測試。
集成測試的目的
- 驗證各個子模塊組合起來,能否達到預期要求的功能。
- 驗證一個模塊的功能是否會對另一個模塊的功能產生不利的影響。
-
系統測試:是將通過集成測試的軟件,作為整個基于計算機系統的一個元素,與計算機硬件、外設、某些支持軟件、數據和人員等其他系統元素結合在一起,在實際運行環境下,對計算機系統進行全面的功能覆蓋。
系統測試的目的
- 驗證軟件產品是否滿足用戶需求。
系統測試的分類(不止這些,常見的分類而已)
- 性能測試:對產品的各個功能進行驗證,檢查產品是否達到了用戶要求的功能。
- 性能測試:通過自動化工具模式正常、峰值及異常負債條件,檢查系統各項性能指標是否滿足需求。
- 安全性測試:驗證應用程序的安全級別和識別潛在安全性缺陷。
- 易用性測試:測試用戶在使用軟件時,軟件交互的適應性、功能性和有效性。
- 兼容性測試:測試軟件在不同的平臺、不同的網絡環境、不同的應用軟件之間能否友好的運行。
- 驗收測試
軟件開發模型
軟件開發模型:是指軟件開發全部過程、活動和任務的結構框架。它能清晰、直觀地表達軟件開發全過程,明確規定了要完成的主要活動和任務。
瀑布模型:計劃->需求分析->設計->編碼->測試->運行.維護(從上到下)(當前活動接受上一項活動的工作結果)(當前活動的工作結果需要進行驗證)。
缺點:由于開發模型是線性的,增加開發風險,早期的錯誤可能要等到開發后期的階段才能發現。V模型:
用戶需求->需求分析->概要設計->詳細設計->編碼->單元測試->集成測試->系統測試->驗收測試
。敏捷模型:先把最重要的功能做出來,然后將新功能迭代在新版本上,不斷增加軟件內容。
軟件測試流程
需求分析和討論->編寫測試計劃->測試設計->測試執行->缺陷管理->測試報告。
測試用例的設計方法
- 等價類劃分法:一種最典型的黑盒測試方法,把程序的輸入劃分成若干個部分,從每個部分中選取少數代表性數據作為測試用例,每一類的代表性數據在測試中的作用等價于這一類中的其他值。
- 設計測試用例:設計一個測試用例,使他能夠盡量覆蓋尚未覆蓋的有效等價類,重復該操作,從而使所有有效等價類均被覆蓋,設計一個測試用,使它能夠覆蓋一個無效等價類,重復該操作,從而使所有無效等價類均被覆蓋。
- 在輸入條件規定了取值范圍或值的個數的情況下,可以確定一個有效等價類、兩個無效等價類。
- 在輸入條件規定了輸入值的集合或者規定了“必須如何”的條件下,可以確立一個有效等價類、一個無效等價類。
- 在輸入條件是一個布爾量(不是這個就是那個)的情況下,可以確定一個有效等價類、一個無效等價類。
- 在規定了輸入數據的一組值(假定N個),并且程序要求對每一個輸入值分別處理的情況下,可以確定N個有效等價類和一個無效等價類
- 在規定了輸入數據必須遵守的規則的情況下,可以確定一個有效等價類,若干個無效等價類。
2. 邊界值分析法:一種與等價類劃分相關的黑盒測試方法,錯誤隱藏在角落里,問題聚集在邊界上。
- 應當選取正好等于、剛剛大于或剛剛小于邊界值作為測試數據,重點測試最后一個肯定合法的數據和剛剛超過邊界的非法數據,通常和等價類劃分一起使用,產生一套完整的測試用例。
- 如果輸入條件對取值范圍進行了界定,則應對邊界內部以及恰巧超出邊界外的值來作為測試用例。
- 如果對取值的個數進行了界定,則應當分別以最大個數、最小個數、比最大個數大1或小1、比最小個數大1或小1作為測試用例。