- 軟件測試的藝術(原書第3版)
- (美)Glenford J.Myers Tom Badgett Corey Sandler
- 492字
- 2021-01-14 16:50:43
3.3.2 數據聲明錯誤
1.是否所有的變量都進行了明確的聲明?雖然沒有明確聲明不一定是錯誤,但通常卻是麻煩的源頭。舉例來說,如果一個程序的子程序接收一個數組參數,卻未將該參數定義為數組(如用DIMENSION語句),對該數組的引用(如C=A(I))會被解釋為一個函數調用,導致計算機試圖將此數組當做程序執行。另外,如果某個變量在一個內部過程或程序塊中沒有明確聲明,是否可以理解為該變量在這個程序塊中被共用?
2.如果變量所有的屬性在聲明中沒有明確說明,那么默認的屬性能否被正確理解?舉例來說,在Java語言中,程序接收到的沒有正確聲明的默認屬性往往是導致意外情況發生的源頭。
3.如果變量在聲明語句中被初始化,那么它的初始化是否正確?在很多語言中,數組和字符串的初始化比較復雜,因此也成為容易出錯的地方。
4.是否每個變量都被賦予了正確的長度和數據類型?
5.變量的初始化是否與其存儲空間的類型一致?舉例來說,如果Fortran語言子程序中的一個變量在每次調用子程序時都需要重新初始化一次,那么必須使用賦值語句對其初始化,而不應該用DATA語句。
6.是否存在著相似名稱的變量(如VOLT和VOLTS)?這種情況不一定是錯誤,但應被視為警告,這些名稱可能會在程序中發生混淆。