1. 程式人生 > >軟體測試中的43個功能測試點總結

軟體測試中的43個功能測試點總結

針對web系統的常用測試方法如下:

1. 頁面連結檢查:

每一個連結是否都有對應的頁面,並且頁面之間切換正確。可以使用一些工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支援中文,中文字元顯示為亂碼;HTML Link Validater只能測試以Html或者htm結尾的網頁連結;Xenu無需安裝,支援asp、do、jsp等結尾的網頁,xenu測試連結包括內部連結和外部連結,在使用的時候應該注意,同時能夠生成html格式的測試報告。如果系統用QTP進行自動化測試,也可以使用QTP的頁面檢查點檢查連結。

2. 相關性檢查:

功能相關性:刪除/增加一項會不會對其他項產生影響,如果產生影響,這些影響是否都正確,常見的情況是,增加某個資料記錄以後,如果該資料記錄某個欄位內容較長,可能會在查詢的時候讓資料列表變形。
資料相關性:下來列表預設值檢查,下來列表值檢查,如果某個列表的資料項依賴於其他模組中的資料,同樣需要檢查,比如,某個資料如果被禁用了,可能在引用該資料項的列表中不可見。

3. 檢查按鈕的功能是否正確:

如新建、編輯、刪除、關閉、返回、儲存、匯入,上一頁,下一頁,頁面跳轉,重置等功能是否正確。常見的錯誤會出現在重置按鈕上,表現為功能失效。

4. 字串長度檢查: 

輸入超出需求所說明的字串長度的內容, 看系統是否檢查字串長度。還要檢查需求規定的字串長度是否是正確的,有時候會出現,需求規定的字串長度太短而無法輸入業務資料。

5. 字元型別檢查: 

在應該輸入指定型別的內容的地方輸入其他型別的內容(如在應該輸入整型的地方輸入其他字元型別),看系統是否檢查字元型別。

6. 標點符號檢查: 

輸入內容包括各種標點符號,特別是空格,各種引號,回車鍵。看系統處理是否正確。常見的錯誤是系統對空格的處理,可能新增的時候,將空格當作一個字元,而在查詢的時候空格被遮蔽,導致無法查詢到新增的內容。

7.特殊字元檢查:

輸入特殊符號,如@、#、$、%、!等,看系統處理是否正確。常見的錯誤是出現在% ‘ ” 這幾個特殊字元

8. 中文字元處理: 

在可以輸入中、英文的系統輸入中文,看會否出現亂碼或出錯。

9. 檢查資訊的完整性:

在檢視資訊和更新資訊時,檢視所填寫的資訊是不是全部更新,更新資訊和新增資訊是否一致。要注意檢查的時候每個欄位都應該檢查,有時候,會出現部分欄位更新了而個別欄位沒有更新的情況。

10. 資訊重複: 

在一些需要命名,且名字應該唯一的資訊輸入重複的名字或ID,看系統有沒有處理,會否報錯,重名包括是否區分大小寫,以及在輸入內容的前後輸入空格,系統是否作出正確處理。

11. 檢查刪除功能:

在一些可以一次刪除多個資訊的地方,不選擇任何資訊,按“delete”,看系統如何處理,會否出錯;然後選擇一個和多個資訊,進行刪除, 看是否正確處理。如果有多頁,翻頁選,看系統是否都正確刪除,並且要注意,刪除的時候是否有提示,讓使用者能夠更正錯誤,不誤刪除。

12. 檢查新增和修改是否一致: 

檢查新增和修改資訊的要求是否一致,例如新增要求必填的項,修改也應該必填;新增規定為整型的項,修改也必須為整型.

13. 檢查修改重名:

修改時把不能重名的項改為已存在的內容,看會否處理,報錯.同時,也要注意,會不會報和自己重名的錯.

14. 重複提交表單:

一條已經成功提交的紀錄,返回後再提交,看看系統是否做了處理。對於Web系統來說,可以通過瀏覽器返回鍵或者系統提供的返回功能。

15. 檢查多次使用返回鍵的情況:

 在有返回鍵的地方,返回到原來頁面,重複多次,看會否出錯。

16. 搜尋檢查: 

有搜尋功能的地方輸入系統存在和不存在的內容,看搜尋結果是否正確.如果可以輸入多個搜尋條件,可以同時新增合理和不合理的條件,看系統處理是否正確,搜尋的時候同樣要注意特殊字元,某些系統會在輸入特殊字元的時候,將系統中所有的資訊都搜尋到。

17. 輸入資訊位置: 

注意在游標停留的地方輸入資訊時,游標和所輸入的資訊會否跳到別的地方。

18. 上傳下載檔案檢查:

上傳下載檔案的功能是否實現,上傳檔案是否能開啟。對上傳檔案的格式有何規定,系統是否有解釋資訊,並檢查系統是否能夠做到。下載檔案能否開啟或者儲存,下載的檔案是否有格式要求,如需要特殊工具才可以開啟等。上傳檔案測試同時應該測試,如果將不能上傳的檔案字尾名修改為可以上傳檔案的字尾名,看是否能夠上傳成功,並且,上傳檔案後,重新修改,看上傳的檔案是否存在。

19. 必填項檢查:

應該填寫的項沒有填寫時系統是否都做了處理,對必填項是否有提示資訊,如在必填項前加“*”;對必填項提示返回後,焦點是否會自動定位到必填項。

20. 快捷鍵檢查:

是否支援常用快捷鍵,如Ctrl+C、 Ctrl+V、 Backspace等,對一些不允許輸入資訊的欄位,如選人,選日期對快捷方式是否也做了限制。

21. 回車鍵檢查: 

在輸入結束後直接按回車鍵,看系統處理如何,會否報錯。這個地方很有可能會出現錯誤。

22.重新整理鍵檢查:

在Web系統中,使用瀏覽器的重新整理鍵,看系統處理如何,會否報錯。

23.回退鍵檢查:

在Web系統中,使用瀏覽器的回退鍵,看系統處理如何,會否報錯。對於需要使用者驗證的系統,在退出登入後,使用回退鍵,看系統處理如何;多次使用回退鍵,多次使用前進鍵,看系統如何處理。

24.直接URL連結檢查:

在Web系統中,直接輸入各功能頁面的URL地址,看系統如何處理,對於需要使用者驗證的系統更為重要。如果系統安全性設計的不好,直接輸入各功能頁面的URL地址,很有可能會正常開啟頁面。

25.空格檢查:

在輸入資訊項中,輸入一個或連串空格,檢視系統如何處理。如對於要求輸入整型、符點型變數的項中,輸入空格,既不是空值,又不是標準輸入。

26.輸入法半形全形檢查:

在輸入資訊項中,輸入半形或全形的資訊,檢視系統如何處理。如對於要求輸入符點型資料的項中,輸入全形的小數點(“。”或“.”,如4.5);輸入全形的空格等。

27.密碼檢查:

一些系統的加密方法採用對字元Ascii碼移位的方式,處理密碼加密相對較為簡單,且安全性較高,對於區域網系統來說,此種方式完全可以起到加密的作用,但同時,會造成一些問題,即大於128的Ascii對應的字元在解密時無法解析,嘗試使用“uvwxyz”等一些碼值較大的字元作為密碼,同時,密碼儘可能的長,如17位密碼等,造成加密後的密碼出現無法解析的字元。

28.使用者檢查:

任何一個系統,都有各類不同的使用者,同樣具有一個或多個管理員使用者,檢查各個管理員之間是否可以相互管理,編輯、刪除管理員使用者。同時,對於一般使用者,嘗試刪除,並重建同名的使用者,檢查該使用者其它資訊是否重現。同樣,提供登出功能的系統,此使用者再次註冊時,是否作為一個新的使用者。而且還要檢查該使用者的有效日期,過了有效日期的使用者是不能登入系統的。容易出現錯誤的情況是,可能有使用者管理許可權的非超級管理員,能夠修改超級管理員的許可權。

29.系統資料檢查:

這是功能測試最重要的,如果系統資料計算不正確,那麼功能測試肯定是通不過的。資料檢查根據不同的系統,方法不同對於業務管理平臺,資料隨業務過程、狀態的變化保持正確,不能因為某個過程出現垃圾資料,也不能因為某個過程而丟失資料。

30.系統可恢復性檢查:

以各種方式把系統搞癱,測試系統是否可正常迅速恢復。

31.確認提示檢查:

系統中的更新、刪除操作,是否提示使用者確認更新或刪除,操作是否可以回退(即是否可以選擇取消操作),提示資訊是否準確。事前或事後提示,對於Update或Delete操作,要求進行事前提示。

32.資料注入檢查:

資料注入主要是對資料庫的注入,通過輸入一些特殊的字元,如“’”,“/”,“-”等或字元組合,完成對SQL語句的破壞,造成系統查詢、插入、刪除操作的SQL因為這些字元而改變原來的意圖。如select * from table where id = ‘ ’ and name = ‘ ’,通過在id輸入框中輸入“12’-”,會造成查詢語句把name條件註釋掉,而只查詢id=12的記錄。同樣,對於update和delete的操作,可能會造成誤刪除資料。當然還有其它一些SQL注入方法,具體可以參考《SQL應用高階SQL注入.doc》,很多程式都是基於頁面對輸入字元進行控制的,可以嘗試跳過介面直接向資料庫中插入資料,比如用Jmeter,來完成資料注入檢查。

33.重新整理檢查:

web系統中的WebForm. 控制元件實時重新整理功能,在系統應用中有利有弊,給系統的效能帶來較大的影響。測試過程中檢測重新整理功能對系統或應用造成的影響(白屏),檢查控制元件是否迴歸預設初始值,檢查是否對系統的效能產生較大影響(如每次重新整理都連線資料庫查詢等)。

34.事務檢查:

對於事務性操作,斷開網路或關閉程式來中斷操作,事務是否回滾。

35.時間日期檢查:

時間、日期驗證是每個系統都必須的,如2006-2-29、2006-6-31等錯誤日期,同時,對於管理、財務類系統,每年的1月與前一年的12月(同理,每年的第1季度與前一年的第4季度)。另外,對於日期、時間格式的驗證,如2006年2月28日、2006-2-28、20060228等。日期檢查還要檢查日期範圍是否符合實際的業務,對於不符合時間業務的日期,系統是否會有提示或者有限制。

36.多瀏覽器驗證:

越來越多的各類瀏覽器的出現,使用者訪問Web程式不再單單依賴於Microsoft Internet Explorer,而是有了更多的選擇:Maxthon、Firefox、Tencent Traveler等,考慮使用多種瀏覽器訪問系統,驗證效果。

37.安裝測試:

對於C/S架構的系統,安裝程式的測試是一個重要方面,安裝程式自動化程度、安裝選項和設定(驗證各種方案是否都能正常安裝)、安裝過程中斷測試、安裝順序測試(分散式系統)、修復安裝及解除安裝測試。

38.文件測試:

主要是對使用者使用手冊、產品手冊進行測試,校驗是否描述正確、完整,是否與當前系統版本對照,是否易理解,是否二義性等。

39.測試資料檢查:

事實告訴我們,測試資料比程式碼更有可能是錯的,因此,當測試結果顯示有錯誤發生的時候,懷疑程式碼錯誤前要先對測試資料檢查一遍。

40.請讓我的機器來執行:

在某些專案中,出現一個病態的問題:系統沒有問題呀,它在我的機器上是能夠通過的。這就說明了其中存在著和環境相關的BUG。“是否所有的一切都受到了版本控制工具的管理?”、“本機的開發環境和伺服器的環境是否一樣?”、“這裡是否存在一個真正的BUG,只不過是在其他的機器裡偶然出現?”。所有的測試必須在所有系統要求的機器上執行通過,否則的話,程式碼就可能存在問題。

41.Ajax技術的應用:

Ajax有很多優點,但也有很多缺點,如果利用優點、避免缺點,是我們對新的Web2.0應用的一個挑戰。而Ajax的應用最直接的問題就是使用者體驗,使用者體驗的效果直接關係到是否使用Ajax技術。“會做,並不意味著應該做、必須做”,這就是對Ajax技術的很重要的註解。

42.Ajax技術的應用:

Ajax採用非同步呼叫的機制實現頁面的部分重新整理功能,非同步呼叫存在異常中斷的可能,嘗試各種方法異常中斷非同步的資料呼叫,檢視是否出現問題。在這裡遇到的一個問題就是對日期控制元件的操作,已經如果頁面資料較多的時候的重新整理。

43.指令碼錯誤:

隨著Ajax、IFrame等非同步呼叫技術的發展,Javascrīpt技術也越來越受到開發人員的重視,但Javascrīpt存在除錯困難、各瀏覽器存在可能不相容等問題,因此在Web系統中