軟件測試是指使用人工或者自動的手段來運行或測定某個軟件產品系統的過程,其目的是在于檢驗是否滿足規定的需求或者弄清預期的結果與實際結果的區別。本文主要描述軟件測試的類型。
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產生。
原文轉自:http://www.anti-gravitydesign.com