功能測試就是對產品的各功能進行php?name=%D1%E9%D6%A4">驗證,根據功能測試用例,逐項測試,檢查產品是否達到用戶要求的功能。針對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 php