軟體測試的14中型別 詳解

2021-08-30 17:35:11 字數 4287 閱讀 5444

軟體測試是指使用人工或者自動的手段來執行或測定某個軟體產品系統的過程,其目的是在於檢驗是否滿足規定的需求或者弄清預期的結果與實際結果的區別。本文主要描述軟體測試的型別。 

資料與資料庫完整測試是指測試關係型資料庫完整性原則以及資料合理性測試。 

在專案名稱中,資料庫和資料庫程序應作為乙個子系統來進行測試。在測試這些子系統時,不應將測試物件的使用者介面用作資料的介面。對於資料庫管理系統 (dbms),還需要進行深入的研究,以確定可以支援測試的工具和技術。

比如,有兩張表:部門和員工。部門中有部門編號,部門名稱,部門經理等字段,主碼為部門編號;員工表中有員工編號,員工所屬部門編號,員工名稱,員工型別等字段,主碼為員工編號,外碼為員工所屬部門編號,對應部門表。  —— 如果在某條部門記錄中部門編號或員工記錄員工編號為空,他就違反主碼完整性原則。如果某個員工所屬部門的編號為##,但是##在部門編號中確找不到,這就違反外碼完整性原則。 員工型別如下定義:0:職工,1:職員,2:實習生。但資料型別為int,我們都知道int占有4個位元組,如果定義成char(1).就比原來節約空間。

白盒測試是基於**的測試,測試人員通過閱讀程式**或者通過使用開發工具中的單步除錯來判斷軟體的質量,一般黑盒測試由專案經理在程式設計師開發中來實現。白盒測試分為動態白盒測試和靜態白盒測試。

利用眼睛,瀏覽**,憑藉經驗,找出**中的錯誤或者**中不符合書寫規範的地方。比如,**規範中規定,函式必須為動賓結構。而黑盒測試發現乙個函式定義如下:

function nameget() 這是屬於不符合開發規範的錯誤。 有這樣一段**: if (i<0) & (i>=0) … 這段**交集為整個數軸,if語句沒有必要 i=0; while(i>100)   在迴圈體內沒有i的增加,bug產生。 

利用開發工具中的調式工具進行測試。比如一段**有4個分支,輸入4組不同的測試資料使4組分支都可以走通而且結果必須正確。

看一段**  if(i<0)else   在除錯中輸入i=-1,p1程式段通過, p2程式段未通過,屬於動態黑盒測試的缺陷 。

功能測試指測試軟體各個功能模組是否正確,邏輯是否正確。  

對測試物件的功能測試應側重於所有可直接追蹤到用例或業務功能和業務規則的測試需求。這種測試的目標是核實資料的接受、處理和檢索是否正確,以及業務規則的實施是否恰當。此類測試基於黑盒技術,該技術通過圖形使用者介面 (gui) 與應用程式進行互動,並對互動的輸出或結果進行分析,以此來核實應用程式及其內部程序。功能測試的主要參考為類似於功能說明書之類的文件。   比如乙個對電子商務系統,前台使用者瀏覽商品-放入購物車-進入結賬臺,後台處理訂單,配貨,付款,發貨,這一系列流程必須正確無誤的走通,不能存在任何的錯誤。    

ui測試指測試使用者介面的風格是否滿足客戶要求,文字是否正確,頁面美工是否好看,文字,組合是否完美,背景是否美觀,操作是否友好等等。  使用者介面 (ui) 測試用於核實使用者與軟體之間的互動。ui 測試的目標是確保使用者介面會通過測試物件的功能來為使用者提供相應的訪問或瀏覽功能。另外,ui 測試還可確保 ui 中的物件按照預期的方式執行,並符合公司或行業的標準。包括使用者友好性,人性化,易操作性測試。

效能測試主要測試軟體測試的效能,包括負載測試,強度測試,資料庫容量測試,基準測試以及競爭測試。

負載測試是一種效能測試指資料在超負荷環境中執行,程式是否能夠承擔。  在這種測試中,將使測試物件承擔不同的工作量,以評測和評估測試物件在不同工作量條件下的效能行為,以及持續正常執行的能力。負載測試的目標是確定並確保系統在超出最大預期工作量的情況下仍能正常執行。此外,負載測試還要評估效能特徵,例如,響應時間、事務處理速率和其他與時間相關的方面。   比如,在b/s結構中使用者併發量測試就是屬於負載測試的使用者,可以使用webload工具,模擬上百人客戶同時訪問**,看系統響應時間,處理速度如何?  

強度測試是一種效能測試,他在系統資源特別低的情況下軟體系統運**況。這類測試往往可以書寫系統要求的軟硬體水平要求。  實施和執行此類測試的目的是找出因資源不足或資源爭用而導致的錯誤。如果記憶體或磁碟空間不足,測試物件就可能會表現出一些在正常條件下並不明顯的缺陷。而其他缺陷則可能由於爭用共享資源(如資料庫鎖或網路頻寬)而造成的。強度測試還可用於確定測試物件能夠處理的最大工作量。   比如:乙個系統在記憶體366m下可以正常執行,但是降低到258m下不可以執行,告訴記憶體不足,這個系統對記憶體的要求就是366m。  

資料庫容量測試指通過儲存過程往資料庫表中插入一定數量的資料,看看相關頁面是否能夠及時顯示資料。   資料庫容量測試使測試物件處理大量的資料,以確定是否達到了將使軟體發生故障的極限。容量測試還將確定測試物件在給定時間內能夠持續處理的最大負載或工作量。

例如,如果測試物件正在為生成乙份報表而處理一組資料庫記錄,那麼容量測試就會使用乙個大型的測試資料庫,檢驗該軟體是否正常執行並生成了正確的報表。做這種測試通常通過書寫儲存過程向資料庫某個表中插入一定數量的記錄,計算相關頁面的呼叫時間。   比如,在電子商務系統中,通過insert customer 往user表中插入10 000資料,看其是否可以正常顯示顧客資訊列表頁面,如果要求達到最多可以處理100 000個客戶,但是顧客資訊列表頁面不能夠在規定的時間內顯示出來,就需要調整程式中的sql查詢語句;如果在規定的時間內顯示出來,可以將使用者數分別提高到20 000 , 50 000, 100 000進行測試。  

基準測試與已知現有的系統進行比較,主要檢驗是否與類似的產品具有競爭性的一種測試。  如果你要開發一套財務系統軟體並且你已經獲得用友財務系統的效能等資料,你可以測試你這套系統,看看哪些地方比用友財務系統好,哪些地方差?以便改進自己的系統,也可為產品廣告提供資料。   

軟體競爭使用各種資源(資料紀錄,記憶體等),看他與其他相關系統對資源的爭奪能力。比如:一台機器上即安裝您的財務系統,又安裝用友財務系統。當cpu占有率下降後,看看是否能夠強過用友財務系統,而是自己的系統能夠正常執行?    

安全性和訪問控制測試側重於安全性的兩個關鍵方面:  應用程式級別的安全性(包括對資料或業務功能的訪問)、系統級別的安全性(包括對系統的登入或遠端訪問)。  

可確保:在預期的安全性情況下,主角只能訪問特定的功能或用例,或者只能訪問有限的資料。例如,可能會允許所有人輸入資料,建立新賬戶,但只有管理員才能刪除這些資料或賬戶。如果具有資料級別的安全性,測試就可確保「使用者型別一」能夠看到所有客戶訊息(包括財務資料),而「使用者二」只能看見同一客戶的統計資料。 比如b/s系統,不通過登入頁面,直接輸入url,看其是否能夠進入系統? 

可確保只有具備系統訪問許可權的使用者才能訪問應用程式,而且只能通過相應的閘道器來訪問。 比如輸入管理員賬戶,檢查其密碼是否容易猜取,或者可以從資料庫中獲得? 

故障轉移和恢復測試指當主機軟硬體發生災難時候,備份機器是否能夠正常啟動,使系統是否可以正常執行,這對於電信,銀行等領域的軟體是十分重要的。 故障轉移和恢復測試可確保測試物件能成功完成故障轉移,並能從導致意外資料損失或資料完整性破壞的各種硬體、軟體或網路故障中恢復。

配置測試核實測試物件在不同的軟體和硬體配置中的運**況。在大多數生產環境中,客戶機工作站、網路連線和資料庫伺服器的具體硬體規格會有所不同。客戶機工作站可能會安裝不同的軟體例如,應用程式、驅動程式等而且在任何時候,都可能執行許多不同的軟體組合,從而占用不同的資源。(如瀏覽器版本,作業系統版本等) 下面列出主要配置測試 

安裝測試有兩個目的。

安裝測試包括測試安裝**以及安裝手冊。安裝手冊提供如何進行安裝,安裝**提供安裝一些程式能夠執行的基礎資料。 

是指為各個地方開發產品的測試,如英文版,中文版等等,包括程式是否能夠正常執行,介面是否符合當地習俗,快捷鍵是否正常起作用等等,特別測試在a語言環境下執行b語言軟體(比如在英文win98下試圖執行中文版的程式),出現現象是否正常。 

本地化測試還要考慮:

文字測試測試軟體中是否拼寫正確,是否易懂,不存在二義性,沒有語法錯誤;文字與內容是否有出入等等,包括文字。 比如:「比如,請輸入正確的證件號碼!」何謂正確的證件號碼,證件可以為身份證,駕駛證,也可為軍官證,如果改為「請輸入正確的身份證號碼!」使用者就比較容易理解了。 

測試在不同解析度下,介面的美觀程度,分為800*600,1024*768,1152*864,1280*768,1280*1024,1200*1600大小字型下測試。乙個好的軟體要有乙個極佳的解析度,而在其他解析度下也都能可以執行。 

主要在產品發布前對一些附帶產品,比如說明書,廣告稿等進行測試 

幫助檔案測試:幫助檔案是否正確、易懂、是否人性化。最好能夠提供檢索功能。 

文件審核測試目前越來越引起人們的重視,軟體質量不是檢查出來的,而是融進軟體開發中來。前置軟體測試發越來越受到重視。請看乙個資料: 文件審核測試主要包括需求文件測試,設計文件測試,為前置軟體測試測試中的一部分。 

總結 據美國軟體質量安全中心2023年對美國一百家知名的軟體廠商統計,得出這樣乙個結論:軟體缺陷在開發前期發現比在開發後期發現資金,人力上節約90%;軟體缺陷在推向市場前發現比在推出後發現資金,人力上節約90%。所以說軟體的缺陷應該盡早發現。不是所有的軟體都要進行任何型別的軟體測試的,可以根據產品的具體情況進行組裝測試不同的型別。

軟體測試的14種型別 zt

8.配置測試 又叫相容性測試。配置測試核實測試物件在不同的軟體和硬體配置中的運 況。在大多數生產環境中,客戶機工作站 網路連線和資料庫伺服器的具體硬體規格會有所不同。客戶機工作站可能會安裝不同的軟體例如,應用程式 驅動程式等而且在任何時候,都可能執行許多不同的軟體組合,從而占用不同的資源。如瀏覽器版...

軟體測試的型別

1 正常測試 測試某個功能是否滿足需求的定義,功能是否正確,完備。2 邊界測試 對某個功能的邊界情況進行測試。3 異常測試 對某些功能來說,其邊界情況無法簡單的了解或某些操作不完全是正確的但又是可能發生的,類似這樣的情況需要書寫相關的異常測試 4 效能測試 檢查系統是否滿足在需求中所規定達到的效能,...

軟體測試中Bug的分類(型別)

是指bug對軟體質量的破壞程度,即此bug的存在將對軟體的功能和效能產生什麼樣的影響。崩潰 blocker 系統無法正常執行。阻礙開發或測試工作的問題 造成系統崩潰 宕機 死迴圈 導致資料庫資料丟失,與資料庫連線錯誤,主要功能喪失,基本模組缺失等問題。如 錯誤 死迴圈 資料庫發生死鎖 重要的一級選單...