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系統中,可能會出現腳本錯誤。同時,腳本錯誤造成的後果可大、可小

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章