鄭重聲明:本文出自領測網,非本人原創。
基于實際測試的功能測試點總結
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. 标點符号檢查: 輸入内容包括各種标點符号,特别是空格,各種引号,Enter鍵。看系統處理是否正确。常見的錯誤是系統對空格的處理,可能添加的時候,将空格當作一個字元,而在查詢的時候空格被屏蔽,導緻無法查詢到添加的内容。
7.特殊字元檢查:輸入特殊符号,如@、#、$、%、!等,看系統處理是否正确。常見的錯誤是出現在% ‘ \ 這幾個特殊字元
8. 中文字元處理: 在可以輸入中、英文的系統輸入中文,看會否出現亂碼或出錯。
9. 檢查資訊的完整性: 在檢視資訊和更新資訊時,檢視所填寫的資訊是不是全部更新,更新資訊和添加資訊是否一緻。要注意檢查的時候每個字段都應該檢查,有時候,會出現部分字段更新了而個别字段沒有更新的情況。
10. 資訊重複: 在一些需要命名,且名字應該唯一的資訊輸入重複的名字或ID,看系統有沒有處理,會否報錯,重名包括是否區分大小寫,以及在輸入内容的前後輸入空格,系統是否作出正确處理。
11. 檢查删除功能:在一些可以一次删除多個資訊的地方,不選擇任何資訊,按“delete”,看系統如何處理,會否出錯;然後選擇一個和多個資訊,進行删除, 看是否正确處理。如果有多頁,翻頁選,看系統是否都正确删除,并且要注意,删除的時候是否有提示,讓使用者能夠更正錯誤,不誤删除。
12. 檢查添加和修改是否一緻: 檢查添加和修改資訊的要求是否一緻,例如添加要求必填的項,修改也應該必填;添加規定為整型的項,修改也必須為整型.
13. 檢查修改重名:修改時把不能重名的項改為已存在的内容,看會否處理,報錯.同時,也要注意,會不會報和自己重名的錯.
14. 重複送出表單:一條已經成功送出的紀錄,傳回後再送出,看看系統是否做了處理。對于Web系統來說,可以通過浏覽器傳回鍵或者系統提供的傳回功能。
15. 檢查多次使用傳回鍵的情況: 在有傳回鍵的地方,傳回到原來頁面,重複多次,看會否出錯。
16. 搜尋檢查: 有搜尋功能的地方輸入系統存在和不存在的内容,看搜尋結果是否正确.如果可以輸入多個搜尋條件,可以同時添加合理和不合理的條件,看系統處理是否正确,搜尋的時候同樣要注意特殊字元,某些系統會在輸入特殊字元的時候,将系統中所有的資訊都搜尋到。
17. 輸入資訊位置: 注意在光标停留的地方輸入資訊時,光标和所輸入的資訊會否跳到别的地方。
18. 上傳下載下傳檔案檢查:上傳下載下傳檔案的功能是否實作,上傳檔案是否能打開。對上傳檔案的格式有何規定,系統是否有解釋資訊,并檢查系統是否能夠做到。下載下傳檔案能否打開或者儲存,下載下傳的檔案是否有格式要求,如需要特殊工具才可以打開等。上傳檔案測試同時應該測試,如果将不能上傳的檔案字尾名修改為可以上傳檔案的字尾名,看是否能夠上傳成功,并且,上傳檔案後,重新修改,看上傳的檔案是否存在。
19. 必填項檢查:應該填寫的項沒有填寫時系統是否都做了處理,對必填項是否有提示資訊,如在必填項前加“*”;對必填項提示傳回後,焦點是否會自動定位到必填項。
20. 快捷鍵檢查:是否支援常用快捷鍵,如Ctrl+C、 Ctrl+V、 Backspace等,對一些不允許輸入資訊的字段,如選人,選日期對快捷方式是否也做了限制。
21. Enter鍵檢查: 在輸入結束後直接按Enter鍵,看系統處理如何,會否報錯。這個地方很有可能會出現錯誤。
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系統中,可能會出現腳本錯誤。同時,腳本錯誤造成的後果可大、可小,不能忽視。