天天看點

軟體測試基礎 - 系統測試

系統測試(System Testing),是将已經确認的軟體、計算機硬體、外設、網絡等其他元素結合在一起,進行資訊系統的各種組裝測試和确認測試。系統測試是針對整個産品系統進行的測試,目的是驗證系統是否滿足了需求規格的定義,找出與需求規格不符或與之沖突的地方,進而提出更加完善的方案。

1.功能測試(Functionality Testing)***

概念:根據産品的需求規格說明書和功能測試需求清單,驗證産品的功能實作是否符合産品的需求規格。

測試思路:a.确定功能需求清單;

              b.分析功能測試項得出功能測試子項;

              c.根據測試子項分析輸入(個數、類型、範圍、長度)、處理(有效-計算方式,公式,無效)和輸出(結果格式、使用者接口)

              d.采用測試用例方法設計用例——等價類,邊界值,因果圖,判定表...

軟體測試基礎 - 系統測試

首先,确定功能需求清單:使用者名  密碼  确認密碼  Email 

其次,确定功能需求子項:由于隻有一種注冊方式  因而沒有注冊子項(若可以通過郵箱、QQ、微信等其它多種方式注冊,可以列出子項)

然後,根據需求列進行輸入:使用者名(6~20字母數字特殊字元組合),密碼,确認密碼(6~20字母數字特殊字元組合),郵箱(字母或者數字組合,同時包含@)(知道每個需求的範圍、類型、長度)

處理過程:系統會進行使用者名唯一性檢查;有效性檢查;密碼和确認密碼一緻性檢查等等;

輸出提示:可能會提示“使用者名不唯一”;格式不正确;密碼和确認密碼不一緻等等;

最後,設計測試用例:例如使用者名:w0_men1 密碼:w0_men1 确認密碼:w0_men1  郵箱:[email protected]

2.GUI測試(Graphical User Interface)

概念:GUI測試是針對軟體系統GUI界面進行的測試,主要包括兩方面:一是界面實作與界面設計的吻合情況;二是确認界面處理的正确性——控件的功能(結合業務功能關注控件功能)。

測試對象:

              a.簡單界面元素:指功能和屬性相對比較單一的界面區域,即通常所指的各種控件;

              b.組合類界面元素:主要指一些複雜的界面元素,如工具欄,組合框,表格,菜單欄等;

              c.完整界面(視窗):由一系列界面元素通過适當的形式組合而成的界面形式,最為常見的為各種視窗。包括各種對話框、單文檔視窗、多文檔父視窗,多文檔子視窗等;

測試内容:外觀、界面元素行為、布局、友好功能;

測試方法:

              ---對于簡單界面元素,主要關注它的外觀、表現的行為;

              ---對于組合類界面元素:可以将其分解為一系列的簡單界面元素,然後再進行處理;

              ---對于完整界面:需要關注他的外觀、布局以及行為

3.易用性測試(Usability Testing)

概念:驗證産品是否符合實際應用情況,是否符合使用者習慣或特殊要求,操作方式是否友善合理、裝置和使用者間的互動資訊是否準确易于了解、是否遵從行業習慣、外觀/界面是否美觀等。

測試内容:涉及到所有和使用者有互動的功能或子系統。這包括系統功能、系統釋出、幫助文本和過程,以保證使用者能夠舒适的和系統互動。

4.國際化測試(Internationalization Testing)

     簡稱l18N測試,使産品或軟體具有不同國際市場的普遍适應性,進而無需重新設計就可以适應多種語言和文化習俗的過程;真正的國際化要在軟體設計和文檔開發過程中,使産品或軟體的功能和代碼設計能處理多種語言和文化習俗,具有良好的本地化能力。

5.本地化測試(Localization Testing)

    簡稱L10N,是指将産品或軟體針對特定國際語言和文化進行加工,使之符合特定區域市場的過程,真正的本地化要考慮目标區域市場的語言、文化、習俗、特征和标準。通常包括改變軟體的書寫系統(輸入法)、鍵盤使用、字型、日期、時間和貨币等。

6.可通路性測試(Accessibility Testing)

    是指允許聽力、視力或行動有障礙的使用者能夠通路正常人能夠通路的相同資訊,例如:

         ---支援鍵盤操作(Tab/Enter)

         ---對比度(色弱人群)

         ---螢幕閱讀器可以讀取到的文本标記

         ---大字型/放大縮小(不同的浏覽器有相關的設定)

         ---工具:Cytnhia Says

7.性能測試(Performance Testing)***

概念:驗證系統在不同的業務場景下的響應時間和資源使用率等性能名額是否符合預期定義的标準。

目的:驗證系統的性能名額是否符合要求;發現系統的性能瓶頸和性能調優;

性能名額:

---CPU使用情況

---記憶體使用情況

---系統響應時間

---系統吞吐量,即每個時間單元的處理數量(例如:系統必須在不超過10s的響應時間,處理20起登入任務)

測試思路:

           a.根據SRS确定性能需求;

           b.構造業務場景,确定其性能測試名額;

           c.測試設計(腳本設計開發、調試和優化)

           d.确定并執行測試場景;

           e.測試結果分析;

           f.分析性能問題或者瓶頸;

           h.進行性能調優 ;     

8.壓力測試(Stress Testing)*

概念:測試在一定負載下系統長時間運作的穩定性,尤其關注大業務量情況下長時間運作系統性能的變化。通過極限測試方法,發現系統在極限或惡劣環境中自我保護能力,主要驗證系統的可靠性。壓力測試的目的是調查系統在其資源超負荷的情況下的表現。尤其感興趣的是這些對系統的處理時間有什麼影響。這類測試在一種需要反常數量、頻率或資源的方式下執行系統。

分類:

a.穩定性壓力測試

      在標明的壓力值下,長時間持續運作。通過這種壓力測試,可以考察各項性能名額是否在指定範圍内,有無記憶體洩漏、有無功能性故障等;

b.破壞性壓力測試

       在穩定性壓力測試中可能會出現一些問題,如系統性能明顯降低,但很難暴露出其真實的原因。通過破壞性不斷加壓的手段,往往能快速造成系統的崩潰或讓問題明顯的暴露出來;

9.負載測試(Load Testing)*

      測試在一定負載情況下系統性能(不關注穩定性,也就是說不關注長時間運作,隻是得到不同負載下相關性能名額即可);實際中通常從比較小的負載開始,逐漸增加模拟使用者的數量(增加負載),觀察不同負載下應用程式響應時間、所耗資源,直到逾時或關鍵資源耗盡,這就是所說的負載測試,它是測試系統的不同負載情況下的性能名額;

10.容量測試(Volume Testing)*

     目的是使系統承受超額的資料容量來發現它是否能夠正确處理。容量測試是面向資料的,并且它的目的是顯示系統可以處理目标内确定的資料容量。容量測試可以确定整個系統能夠處理的業務容量,包括不同配置、不同場景下的最大使用者數、最大處理資料記錄數、最大處理檔案容量、最大事務量等。它測試的是系統的極限容量。

11.安全性測試(Security Testing)***

     用來驗證內建在系統内的保護機制是否能夠在實際中保護系統不受到非法的侵入。用來保證系統本身資料的完整性和保密性。如當受到惡意***時,裝置的自我保護能力,病毒防護能力,自定義通信協定安全性等。廣義的還包括實體安全性測試、業務安全性測試。

主要是邏輯安全性→業務資料安全性,一般可以從以下方面考慮安全性:權限管理、資訊儲存、資料庫、協定、其他。

認證和權限

認證:a.注冊登入才可以通路;

      b.注冊密碼加密;

      c.密碼的複雜度;

資訊儲存:

---Log日志

---cookie(類似會員卡) session(類似手機号)

資料庫:

-----預設使用者名和密碼:禁用

Oracle:  Scott, Tiger

-----SQL注入,利用使用者在前端輸入的資料資訊和背景的sql語句進行拼接。

協定

http: 透明的,不加密的協定,預設端口:80

https:加密的,安全的http+ssl  預設端口:443     網銀、支付寶

Tcp/IP:三次握手協定  DDOS

安全性測試政策:

      ---分析該功能所有步驟

      ---根據步驟列出所有需要的元件-處理使用者資料部分

      ---畫出元件之間資料是如何傳遞的

      ---确定資料流的傳輸路徑

      ---稽核潛在的風險,建立測試用例

軟體測試基礎 - 系統測試

12.安裝性測試(Installability Testing)

概念:系統的可安裝性測試,主要是根據軟體的測試特性清單,軟體安裝、配置文檔,設計安裝過程的測試用例,發現軟體在安裝過程中的錯誤。

目的:系統可安裝性測試的目的不僅是找安裝軟體本身的錯誤,而且還要找安裝文檔的錯誤。在安裝軟體系統時,會有多種選擇,要配置設定和裝入檔案與程式,布置适當的配置,進行程式的聯結。而安裝測試就要找出這些安裝過程中出現的錯誤。

安裝測試前檢查工作:

---檢查安裝文檔是否齊全;

---檢查被測試軟體的安裝檔案是否齊全;

---檢查軟體的檔案格式是否與安裝指導中要求的檔案格式相符;

安裝過程中的檢查工作:

---所有的預置資料是否齊全;

---軟體環境配置是否合理;

---硬體環境配置是否合理;

---使用者選擇的一套任選方案是否相容;

---安裝的過程測試:安裝過程中,系統要提供預設的參數值,測試過程中要對預設的參數值得情況進行安裝測試;指定由人工完成的安裝過程,要列出每一安裝步驟所需的工作,并仔細檢查每一安裝步驟所完成工作的正确性;在安裝測試過程中要設計異常的安裝測試用例,包括配置參數的異常,安裝選項和安裝路徑的異常

---安裝文檔的測試

安裝後要做的檢查工作:

---所有檔案是否都已産生并确認有所需的内容;

    程式檔案的目錄及子目錄是否正确産生

    各目錄及子目錄下的程式檔案是否都正确産生

    是否存在無用的目錄、子目錄、程式檔案和無用的臨時檔案

    程式檔案的目錄及子目錄,以及程式檔案本身的權限是否正确

    對于PC Windows下的軟體,還要檢查與應用軟體相配套的動态聯接庫檔案是否齊全

---安裝日志的檢查;

---在安裝完成後,要進行程式的運作聯接驗證;

---軟體的解除安裝測試;

13.配置測試(Configuration Testing)

概念:配置測試主要測試系統在各種軟硬體配置、不同的參數配置下系統具有的功能和性能。

目标:驗證全部配置的可操作性和有效性。特别需要對最大配置、最小配置或特殊配置進行測試。一般包括:

a.軟體在不同主機平台上的運作情況;

b.軟體在不同的元件是運作的情況;

c.在不同的外設和不同的接口下的運作情況;

d.不同的可選項的運作情況;

14.相容性測試(Compatibility Testing)

概念:相容性測試是測試軟體能否與不同的軟體正确協作。

目标:測試軟體能否在不同的作業系統上相容,或者在同一作業系統的不同版本上相容;

         軟體本身能否向前向後相容;

         軟體能否與其他軟體相容;

15.異常測試(Exception Testing)***

概念:系統異常測試又叫系統容錯和可恢複性測試,它是通過人工幹預手段使系統産生軟、硬體異常,通過驗證系統異常前後的功能和運作狀态,達到檢驗系統的容錯排錯和恢複能力。它是系統可靠性評價的重要手段。

容錯處理:系統自動處理;人工幹預處理

注意:

---系統異常測試還與系統的名額測試有關系,當系統需要提供的服務能力大于系統的設計名額時,也屬于系統異常的情況,是以應該結合起來加以考慮;

---系統的可靠性是設計出來的,而不是測試出來的。測試出來的資料有助于為我們進行進一步的系統優化設計積累經驗,設計和測試時一個互為回報的過程;

系統可靠性名額和設計技術:

a.系統可靠性名額

系統平均失效時間間隔(MTBF)---Mean Time Between Failure:兩個失效點之間的時間

系統平均恢複時間(MTTR)---Mean Time To Restore   越短系統可靠性越好

平均無故障時間 (MTTF)---Mean Time To Failure  越長越好

b.設計技術

1)避開錯誤:主動規避錯誤,對可以預見的錯誤通過程式進行主動的出錯處理,避免作業系統幹預。

測試點:故意構造錯誤的異常的輸入資料;

           邊界條件;

           壓力測試;---發現功能性故障

2)容錯技術(備援技術)

---結構備援:對整機進行備份(動态備份---熱備份,上電;靜态備份---冷備份,不上電)

等同于人才儲備

    測試點: 強制斷電; 接入新裝置;

---資訊備援:對資料資訊進行備份,資料庫備份和恢複;

     測試點: 構造資料庫癱瘓;

                  構造不完整的事務;  複制或剪貼中途故意取消,看資料是否會恢複

---時間備援:對出現故障的某個時間點,針對該時間點以後的操作,待系統恢複之後,重新再執行一遍。

    測試點:在某個時間點去構造異常

---硬體備援:對整機中的某個元件進行備份;

 16.備份測試(Backup Testing)

         備份測試是恢複性測試的一個補充,目的是驗證系統在軟體或者硬體失敗的事件中備份它資料的能力。

17.健壯性測試(Robustness Testing)

        使用者測試系統在出現故障時,是否能夠自動恢複或者忽略故障繼續運作。

18.穩定性測試(Stability Testing)

        評價系統在一定負荷情況下,長時間的運作情況。包括系統在一定負荷下,再增加新的業務,原有的業務是否受影響,新的業務是否能正常工作,系統資源有無洩漏,資料有無不一緻的情況,系統性能是夠會降下來,關鍵點是長時間的運作後,系統的狀況如何,系統平均無故障時間MTBF是否滿足系統設計要求。(不變的負載:變化的負載)

19.文檔測試(Documentation Testing)

        目标是驗證使用者文檔是正确的并且保證操作手冊的過程能夠正确工作。

20.線上幫助測試(Online Help Testing)

         主要使用者驗證系統的實時線上幫助的可用性和正确性。

二、系統測試的四個階段

系統測試計劃階段:完成系統測試計劃;

系統測試設計階段:完成系統測試方案;

系統測試實作階段:完成系統測試用例、系統測試教程、系統測試預測試項;

系統測試執行階段:執行系統測試預測試項、系統測試用例,修改發現的問題并進行回歸測試,送出系統預測試報告、系統測試報告、缺陷報告;

三、系統環境測試要素

1.硬體環境

         指測試必須的伺服器、用戶端、網絡連接配接裝置,以及測試儀器、列印機/掃描器等輔助硬體裝置所構成的環境。

2.軟體環境

         指被測軟體運作時的作業系統、資料庫、共享軟體、測試工具及相關手冊給等其他應用軟體構成的環境。

---在實際測試中,軟體環境又可分為主測試環境和輔測試環境;

---主測試環境是測試軟體功能、安全可靠性、性能、易用性等大多數名額的主要環境;

---輔測試環境常常用來滿足不同的測試需求或特殊測試項目。

3.主測試環境配置原則

a.符合軟體運作的最低要求。測試環境首先要保證能支撐軟體正常運作。

b.選用比較普及的作業系統和平台;

c.營造相對簡單、獨立的測試環境。除了作業系統,測試機上隻安裝軟體運作和測試必須的軟體,以免不相關的軟體影響測試實施;

d.無毒的環境:利用有效的正版防毒軟體檢測軟體環境,保證測試環境中沒有病毒;

4.輔測試環境配置原則

a.相容性測試:在滿足軟體運作要求的範圍内,可選擇一些典型的作業系統和常用應用軟體對其安裝解除安裝和主要功能進行驗證;

b.模拟真實環境測試:有些軟體,特别是面向大衆的商品化軟體,在測試時常常需要考察在真實環境中的表現;

c.橫向對比測試:利用輔助測試環境“克隆”出完全一緻的測試環境,進而保證各個被測軟體平等對比;

如果你覺的文章閱讀不過瘾,可以檢視詳細的視訊教程

【軟體測試全棧系列課程】請點選我哦…

 https://edu.51cto.com/course/25359.html

【部落客完整視訊課程系列】請點選我哦…

 https://edu.51cto.com/lecturer/13226632.html

【JMETER基礎和實踐課程】請點選我哦…

 https://edu.51cto.com/course/28017.html

【JMETER 性能測試基礎與項目實戰視訊課程】請點選我哦…

 https://edu.51cto.com/course/16055.html

【Jmeter+ant+jenkins接口層性能與自動化測試課程】請點選我哦…

 https://edu.51cto.com/course/19323.html

【零基礎新手入門軟體測試基礎課程】請點選我哦…

 https://edu.51cto.com/course/27846.html

【軟體測試之移動端測試系列課程】請點選我哦…

繼續閱讀