測試設計中需要考慮的22種測試類型

黑盒測試:不基于內部設計和代碼的任何知識,而是基于需求和功能性。

白盒測試:基于一個應用代碼的內部邏輯知識,測試是基于覆蓋全部代碼、分支、路徑、條件。

單元測試:最微小規模的測試;以測試某個功能或代碼塊。典型地由程序員而非測試員來做,因為它需要知道內部程序設計和編碼的細節知識。這個工作不容易作好,除非應用系統有一個設計很好的體系結構; 還可能需要開發測試驅動器模塊或測試套具。

累積綜合測試:當一個新功能增加后,對應用系統所做的連續測試。它要求應用系統的不同形態的功能能夠足夠獨立以可以在全部系統完成前能分別工作,或當需要時那些測試驅動器已被開發出來; 這種測試可由程序員或測試員來做。

集成測試:一個應用系統的各個部件的聯合測試,以決定他們能否在一起共同工作。部件可以是代碼塊、獨立的應用、網絡上的客戶端或服務器端程序。這種類型的測試尤其與客戶服務器和分布式系統有關。

功能測試:用于測試應用系統的功能需求的黑盒測試方法。這類測試應由測試員做,這并不意味著程序員在發布前不必檢查他們的代碼能否工作(自然他能用于測試的各個階段)。

系統測試:基于系統整體需求說明書的黑盒類測試;應覆蓋系統所有聯合的部件。

端到端測試:類似于系統測試;測試級的“宏大”的端點;涉及整個應用系統環境在一個現實世界使用時的模擬情形的所有測試。例如與數據庫對話,用網絡通訊,或與外部硬件、應用系統或適當的系統對話。

健全測試:典型地是指一個初始化的測試工作,以決定一個新的軟件版本測試是否足以執行下一步大的測試努力。例如,如果一個新版軟件每5分鐘與系統沖突,使系統陷于泥潭,說明該軟件不夠“健全”,目前不具備進一步測試的條件。

衰竭測試:軟件或環境的修復或更正后的“再測試”。可能很難確定需要多少遍再次測試。尤其在接近開發周期結束時。自動測試工具對這類測試尤其有用。

接受測試:基于客戶或最終用戶的規格書的最終測試,或基于用戶一段時間的使用后,看軟件是否滿足客戶要求。

負載測試:測試一個應用在重負荷下的表現,例如測試一個 Web 站點在大量的負荷下,何時系統的響應會退化或失敗。

強迫測試:在交替進行負荷和性能測試時常用的術語。也用于描述象在異乎尋常的重載下的系統功能測試之類的測試,如某個動作或輸入大量的重復,大量數據的輸入,對一個數據庫系統大量的復雜查詢等。

性能測試:在交替進行負荷和強迫測試時常用的術語。理想的“性能測試”(和其他類型的測試)應在需求文檔或質量保證、測試計劃中定義。

可用性測試:對“用戶友好性”的測試。顯然這是主觀的,且將取決于目標最終用戶或客戶。用戶面談、調查、用戶對話的錄象和其他一些技術都可使用。程序員和測試員通常都不宜作可用性測試員。

安裝/卸載測試:對軟件的全部、部分或升級安裝/卸載處理過程的測試。

恢復測試:測試一個系統從如下災難中能否很好地恢復,如遇到系統崩潰、硬件損壞或其他災難性問題。

安全測試:測試系統在防止非授權的內部或外部用戶的訪問或故意破壞等情況時怎么樣。這可能需要復雜的測試技術。

兼容測試:測試軟件在一個特定的硬件/軟件/操作系統/網絡等環境下的性能如何。

比較測試:與競爭伙伴的產品的比較測試,如軟件的弱點、優點或實力。

Alpha 測試:在系統開發接近完成時對應用系統的測試;測試后,仍然會有少量的設計變更。這種測試一般由最終用戶或其他人員員完成,不能由程序員或測試員完成。

Beta 測試:當開發和測試根本完成時所做的測試,而最終的錯誤和問題需要在最終發行前找到。這種測試一般由最終用戶或其他人員員完成,不能由程序員或測試員完成。

<2>進一步擴展

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

1 數據和數據庫完整性測試

數據與數據庫完整測試是指測試關系型數據庫完整性原則以及數據合理性測試。
數據庫完整性原即:
主碼完整性:主碼不能為空;
外碼完整性:外碼必須等于對應的主碼或者為空。
數據合理性指數據在數據庫中的類型,長度,索引等是否建的比較合理。
在項目名稱中,數據庫和數據庫進程應作為一個子系統來進行測試。在測試這些子系統時,不應將測試對象的用戶界面用作數據的接口。對于數據庫管理系統 (DBMS),還需要進行深入的研究,以確定可以支1持測試的工具和技術。

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

2 白盒測試

白盒測試是基于代碼的測試,測試人員通過閱讀程序代碼或者通過使用開發工具中的單步調試來判斷軟件的質量,一般黑盒測試由項目經理在程序員開發中來實現。白盒測試分為動態白盒測試和靜態白盒測試
2.1 靜態白盒測試
利用眼睛,瀏覽代碼,憑借經驗,找出代碼中的錯誤或者代碼中不符合書寫規范的地方。比如,代碼規范中規定,函數必須為動賓結構。而黑盒測試發現一個函數定義如下:
Function NameGet(){
….
}
這是屬于不符合開發規范的錯誤。
有這樣一段代碼:

if (i<0) & (i>=0)
…
這段代碼交集為整個數軸,IF語句沒有必要
I=0;
while(I>100){
J=J+100;
T=J*PI;
}

在循環體內沒有I的增加,bug產生。
2.2 動態白盒測試
利用開發工具中的調式工具進行測試。比如一段代碼有4個分支,輸入4組不同的測試數據使4組分支都可以走通而且結果必須正確。
看一段代碼

if(I<0){
P1
}else{
P2
}

在調試中輸入I=-1,P1程序段通過, P2程序段未通過,屬于動態黑盒測試的缺陷

3.功能測試

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

4.UI測試

UI測試指測試用戶界面的風格是否滿足客戶要求,文字是否正確,頁面美工是否好看,文字,圖片組合是否完美,背景是否美觀,操作是否友好等等
用戶界面 (UI) 測試用于核實用戶與軟件之間的交互。UI 測試的目標是確保用戶界面會通過測試對象的功能來為用戶提供相應的訪問或瀏覽功能。另外,UI 測試還可確保 UI 中的對象按照預期的方式運行,并符合公司或行業的標準。包括用戶友好性,人性化,易操作性測試。UI測試比較主觀,與測試人員的喜好有關
比如:頁面基調顏色刺眼;用戶登入頁面比較難于找到,文字中出現錯別字,頁面圖片范圍太廣等都屬于UI測試中的缺陷,但是這些缺陷都不太嚴重。

5.性能測試

性能測試主要測試軟件測試的性能,包括負載測試,強度測試,數據庫容量測試,基準測試以及基準測試
5.1負載測試
負載測試是一種性能測試指數據在超負荷環境中運行,程序是否能夠承擔。
在這種測試中,將使測試對象承擔不同的工作量,以評測和評估測試對象在不同工作量條件下的性能行為,以及持續正常運行的能力。負載測試的目標是確定并確保系統在超出最大預期工作量的情況下仍能正常運行。此外,負載測試還要評估性能特征,例如,響應時間、事務處理速率和其他與時間相關的方面。
比如,在B/S結構中用戶并發量測試就是屬于負載測試的用戶,可以使用webload工具,模擬上百人客戶同時訪問網站,看系統響應時間,處理速度如何?
5.2強度測試
強度測試是一種性能測試,他在系統資源特別低的情況下軟件系統運行情況。這類測試往往可以書寫系統要求的軟硬件水平要求。
實施和執行此類測試的目的是找出因資源不足或資源爭用而導致的錯誤。如果內存或磁盤空間不足,測試對象就可能會表現出一些在正常條件下并不明顯的缺陷。而其他缺陷則可能由于爭用共享資源(如數據庫鎖或網絡帶寬)而造成的。強度測試還可用于確定測試對象能夠處理的最大工作量。
比如:一個系統在內存366M下可以正常運行,但是降低到258M下不可以運行,告訴內存不足,這個系統對內存的要求就是366M。
5.3數據庫容量測試
數據庫容量測試指通過存儲過程往數據庫表中插入一定數量的數據,看看相關頁面是否能夠及時顯示數據。
數據庫容量測試使測試對象處理大量的數據,以確定是否達到了將使軟件發生故障的極限。容量測試還將確定測試對象在給定時間內能夠持續處理的最大負載或工作量。例如,如果測試對象正在為生成一份報表而處理一組數據庫記錄,那么容量測試就會使用一個大型的測試數據庫,檢驗該軟件是否正常運行并生成了正確的報表。做這種測試通常通過書寫存儲過程向數據庫某個表中插入一定數量的記錄,計算相關頁面的調用時間。
比如,在電子商務系統中,通過insert customer 往user表中插入10 000數據,看其是否可以正常顯示顧客信息列表頁面,如果要求達到最多可以處理100 000個客戶,但是顧客信息列表頁面不能夠在規定的時間內顯示出來,就需要調整程序中的SQL查詢語句;如果在規定的時間內顯示出來,可以將用戶數分別提高到20 000 , 50 000, 100 000進行測試。
5.4基準測試
基準測試與已知現有的系統進行比較,主要檢驗是否與類似的產品具有競爭性的一種測試。
如果你要開發一套財務系統軟件并且你已經獲得用友財務系統的性能等數據,你可以測試你這套系統,看看哪些地方比用友財務系統好,哪些地方差?以便改進自己的系統,也可為產品廣告提供數據。
5.5競爭測試
軟件競爭使用各種資源(數據紀錄,內存等),看他與其他相關系統對資源的爭奪能力。比如:一臺機器上即安裝您的財務系統,又安裝用友財務系統。當CPU占有率下降后,看看是否能夠強過用友財務系統,而是自己的系統能夠正常運行?

6. 安全性和訪問控制測試

安全性和訪問控制測試側重于安全性的兩個關鍵方面:
應用程序級別的安全性,包括對數據或業務功能的訪問
系統級別的安全性,包括對系統的登錄或遠程訪問。
6.1應用程序級別的安全性
可確保:在預期的安全性情況下,主角只能訪問特定的功能或用例,或者只能訪問有限的數據。例如,可能會允許所有人輸入數據,創建新賬戶,但只有管理員才能刪除這些數據或賬戶。如果具有數據級別的安全性,測試就可確保“用戶類型一”能夠看到所有客戶消息(包括財務數據),而“用戶二”只能看見同一客戶的統計數據。
比如B/S系統,不通過登入頁面,直接輸入URL,看其是否能夠進入系統?
6.2系統級別的安全性
可確保只有具備系統訪問權限的用戶才能訪問應用程序,而且只能通過相應的網關來訪問。
比如輸入管理員賬戶,檢查其密碼是否容易猜取,或者可以從數據庫中獲得?

7.故障轉移和恢復測試

故障轉移和恢復測試指當主機軟硬件發生災難時候,備份機器是否能夠正常啟動,使系統是否可以正常運行,這對于電信,銀行等領域的軟件是十分重要的。
故障轉移和恢復測試可確保測試對象能成功完成故障轉移,并能從導致意外數據損失或數據完整性破壞的各種硬件、軟件或網絡故障中恢復。
故障轉移測試可確保:對于必須持續運行的系統,一旦發生故障,備用系統就將不失時機地“頂替”發生故障的系統,以避免丟失任何數據或事務。
恢復測試是一種對抗性的測試過程。在這種測試中,將把應用程序或系統置于極端的條件下(或者是模擬的極端條件下),以產生故障(例如設備輸入/輸出 (I/O) 故障或無效的數據庫指針和關健字)。然后調用恢復進程并監測和檢查應用程序和系統,核實應用程序或系統和數據已得到了正確的恢復。一定要注意主備定時備份
比如電信系統,突然主機程序發生死機,備份機器是否能夠啟動,使系統能夠正常運行,從而不影響用戶打電話?

8.配置測試

又叫兼容性測試。配置測試核實測試對象在不同的軟件和硬件配置中的運行情況。在大多數生產環境中,客戶機工作站、網絡連接和數據庫服務器的具體硬件規格會有所不同。客戶機工作站可能會安裝不同的軟件例如,應用程序、驅動程序等而且在任何時候,都可能運行許多不同的軟件組合,從而占用不同的資源。(如瀏覽器版本,操作系統版本等)
下面列出主要配置測試
8.1瀏覽器兼容性
測試軟件在不同產商的瀏覽器下是否能夠正確顯示與運行;
比如測試IE,Natscape瀏覽器下是否可以運行這套軟件?
8.2操作系統兼容性
測試軟件在不同操作系統下是否能夠正確顯示與運行;
比如測試WINDOWS98,WINDOWS 2000,WINDOWS XP,LINU, UNIX下是否可以運行這套軟件?
8.3硬件兼容性
測試與硬件密切相關的軟件產品與其他硬件產品的兼容性,比如該軟件是少在并口設備中的,測試同時使用其他并口設備,系統是否可以正確使用.
比如在INTER,舒龍CPU芯片下系統是否能夠正常運行?
這樣的測試必須建立測試實驗室,在各種環境下進行測試。

9.安裝測試

安裝測試有兩個目的。第一個目的是確保該軟件在正常情況和異常情況的不同條件下: 例如,進行首次安裝、升級、完整的或自定義的安裝_都能進行安裝。異常情況包括磁盤空間不足、缺少目錄創建權限等。第二個目的是核實軟件在安裝后可立即正常運行。這通常是指運行大量為功能測試制定的測試。
安裝測試包括測試安裝代碼以及安裝手冊。安裝手冊提供如何進行安裝,安裝代碼提供安裝一些程序能夠運行的基礎數據。

10.多語種測試

又稱本地化測試,是指為各個地方開發產品的測試,如英文版,中文版等等,包括程序是否能夠正常運行,界面是否符合當地習俗,快捷鍵是否正常起作用等等, 特別測試在A語言環境下運行B語言軟件(比如在英文win98下試圖運行中文版的程序),出現現象是否正常 。I'm not very sure about this. ( commented by Sherry)
本地化測試還要考慮:
當語言從A翻譯到B,字符長度變化是否影響頁面效果。比如中文軟件中有個按鍵叫“看廣告”,翻譯到英文版本中為 “View advertisement”可能影響頁面的美觀程度。
要考慮同一單詞在各個國家的不同意思,比如football在英文中為足球,而美國人使用中可能理解為美式橄欖球。
要考慮各個國家的民族習慣,比如龍在美國中被理解邪惡的象征,但翻譯到中國,中國人認為是吉祥的象征。

11.文字測試

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

12.分辨率測試

測試在不同分辨率下,界面的美觀程度,分為800600,1024768,1152864,1280768,12801024,12001600大小字體下測試。一個好的軟件要有一個極佳的分辨率,而在其他分辨率下也都能可以運行。

13發布測試

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

13.1說明書測試
主要為語言檢查,功能檢查,圖片檢查
語言檢查:檢查說明書語言是否正確,用詞是否易于理解;
功能檢查:功能是否描述完全,或者描述了并沒有的功能等;
圖片檢查::檢查圖片是否正確
13.2宣傳材料測試
主要測試產品中的附帶的宣傳材料中的語言,描述功能,圖片
13.3幫助文件測試
幫助文件是否正確,易懂,是否人性化。最好能夠提供檢索功能。
13.4廣告用語
產品出公司前的廣告材料文字,功能,圖片,人性化的檢查

14 文檔審核測試

文檔審核測試目前越來越引起人們的重視,軟件質量不是檢查出來的,而是融進軟件開發中來。前置軟件測試發越來越受到重視。請看一個資料:

文檔審核測試主要包括需求文檔測試,設計文檔測試,為前置軟件測試測試中的一部分。

14.1需求文檔測試

主要測試需求中是否存在邏輯矛盾以及需求在技術上是否可以實現;

14.2設計文檔測試

測試設計是否符合全部需求以及設計是否合理。

本文轉自網絡

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,117評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,860評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,128評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,291評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,025評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,421評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,477評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,642評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,177評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,970評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,157評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,717評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,410評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,821評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,053評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,896評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,157評論 2 375

推薦閱讀更多精彩內容