功能測試就是對產(chǎn)品的各功能進行驗證国夜,根據(jù)功能測試用例米愿,逐項測試厦凤,檢查產(chǎn)品是否達到用戶要求的功能。
常用的測試方法如下:
1育苟、頁面鏈接檢查:
每一個鏈接是否都有對應(yīng)的頁面较鼓,并且頁面之間切換正確∥グ兀可以使用一些工具博烂,如LinkBotPro、File-AIDCS漱竖、HTML Link Validater禽篱、Xenu等工具。(LinkBotPro不支持中文闲孤,中文字符顯示為亂碼谆级;HTML Link Validater只能測試以Html或者htm結(jié)尾的網(wǎng)頁鏈接烤礁;Xenu無需安裝,支持asp肥照、do脚仔、jsp等結(jié)尾的網(wǎng)頁,xenu測試鏈接包括內(nèi)部鏈接和外部鏈接舆绎,在使用的時候應(yīng)該注意鲤脏,同時能夠生成html格式的測試報告。如果系統(tǒng)用QTP進行自動化測試吕朵,也可以使用QTP的頁面檢查點檢查鏈接)
2猎醇、相關(guān)性檢查:
(1)功能相關(guān)性:刪除/增加一項會不會對其他項產(chǎn)生影響,如果產(chǎn)生影響努溃,這些影響是否都正確硫嘶。常見的情況是,增加某個數(shù)據(jù)記錄以后梧税,如果該數(shù)據(jù)記錄某個字段內(nèi)容較長沦疾,可能會在查詢的時候讓數(shù)據(jù)列表變形。
(2)數(shù)據(jù)相關(guān)性:下來列表默認值檢查第队,下來列表值檢查哮塞,如果某個列表的數(shù)據(jù)項依賴于其他模塊中的數(shù)據(jù),同樣需要檢查凳谦,比如忆畅,某個數(shù)據(jù)如果被禁用了,可能在引用該數(shù)據(jù)項的列表中不可見尸执。
3家凯、檢查按鈕的功能是否正確:
如新建、編輯如失、刪除肆饶、關(guān)閉、返回岖常、保存驯镊、導入,上一頁竭鞍,下一頁板惑,頁面跳轉(zhuǎn),重置等功能是否正確偎快。常見的錯誤會出現(xiàn)在重置按鈕上冯乘,表現(xiàn)為功能失效。
4晒夹、字符串長度檢查:
輸入超出需求所說明的字符串長度的內(nèi)容, 看系統(tǒng)是否檢查字符串長度,會不會出錯裆馒。還要檢查需求規(guī)定的字符串長度是否是正確的姊氓,有時候會出現(xiàn),需求規(guī)定的字符串長度太短而無法輸入業(yè)務(wù)數(shù)據(jù)喷好。
5翔横、字符類型檢查:
在應(yīng)該輸入指定類型的內(nèi)容的地方輸入其他類型的內(nèi)容(如在應(yīng)該輸入整型的地方輸入其他字符類型),看系統(tǒng)是否檢查字符類型,會否報錯.
6、標點符號檢查:
輸入內(nèi)容包括各種標點符號,特別是空格,各種引號,回車鍵.看系統(tǒng)處理是否正確梗搅。常見的錯誤是系統(tǒng)對空格的處理禾唁,可能添加的時候,將空格當作一個字符无切,而在查詢的時候空格被屏蔽荡短,導致無法查詢到添加的內(nèi)容。
7哆键、特殊字符檢查:
輸入特殊符號掘托,如@、#籍嘹、$烫映、%、!等噩峦,看系統(tǒng)處理是否正確。常見的錯誤是出現(xiàn)在% ‘ \ 這幾個特殊字符抽兆。
8识补、中文字符處理:
在可以輸入中文的系統(tǒng)輸入中文,看會否出現(xiàn)亂碼或出錯.
9、在查看信息和更新信息時,查看所填寫的信息是不是全部更新,更新信息和添加信息是否一致辫红。要注意檢查的時候每個字段都應(yīng)該檢查凭涂,有時候,會出現(xiàn)部分字段更新了而個別字段沒有更新的情況贴妻。
10切油、信息重復:
在一些需要命名,且名字應(yīng)該唯一的信息輸入重復的名字或ID,看系統(tǒng)有沒有處理,會否報錯,重名包括是否區(qū)分大小寫,以及在輸入內(nèi)容的前后輸入空格,系統(tǒng)是否作出正確處理.
11、檢查刪除功能:
在一些可以一次刪除多個信息的地方,不選擇任何信息,按“delete”,看系統(tǒng)如何處理,會否出錯;然后選擇一個和多個信息,進行刪除,看是否正確處理名惩。如果有多頁澎胡,翻頁選,看系統(tǒng)是否都正確刪除娩鹉,并且要注意攻谁,刪除的時候是否有提示,讓用戶能夠更正錯誤弯予,不誤刪除戚宦。
12、檢查添加和修改是否一致:
檢查添加和修改信息的要求是否一致,例如添加要求必填的項,修改也應(yīng)該必填;添加規(guī)定為整型的項,修改也必須為整型.
13锈嫩、檢查修改重名:
修改時把不能重名的項改為已存在的內(nèi)容,看會否處理,報錯.同時,也要注意,會不會報和自己重名的錯.
14受楼、重復提交表單:
一條已經(jīng)成功提交的紀錄垦搬,back后再提交,看看系統(tǒng)是否做了處理艳汽。對于Web測試系統(tǒng)來說猴贰,可以通過瀏覽器返回鍵或者系統(tǒng)提供的返回功能。
15骚灸、檢查多次使用back鍵的情況:
在有back的地方,back,回到原來頁面,再back,重復多次,看會否出錯.對于需要驗證的系統(tǒng)糟趾,退出賬號之后使用back鍵。
16甚牲、search檢查:
在有search功能的地方輸入系統(tǒng)存在和不存在的內(nèi)容,看search結(jié)果是否正確.如果可以輸入多個search條件,可以同時添加合理和不合理的條件,看系統(tǒng)處理是否正確义郑,搜索的時候同樣要注意特殊字符,某些系統(tǒng)會在輸入特殊字符的時候丈钙,將系統(tǒng)中所有的信息都搜索到非驮。
17、輸入信息位置:
注意在光標停留的地方輸入信息時,光標和所輸入的信息會否跳到別的地方.
18雏赦、上傳下載文件檢查:
上傳下載文件的功能是否實現(xiàn)劫笙,上傳文件是否能打開。對上傳文件的格式有何規(guī)定星岗,系統(tǒng)是否有解釋信息填大,并檢查系統(tǒng)是否能夠做到。下載文件能否打開或者保存俏橘,下載的文件是否有格式要求允华,如需要特殊工具才可以打開等。上傳文件測試同時應(yīng)該測試寥掐,如果將不能上傳的文件后綴名修改為可以上傳文件的后綴名靴寂,看是否能夠上傳成功,并且召耘,上傳文件后百炬,重新修改,看上傳的文件是否存在污它。
19剖踊、必填項檢查:
應(yīng)該填寫的項沒有填寫時系統(tǒng)是否都做了處理,對必填項是否有提示信息衫贬,如在必填項前加*蜜宪;對必填項提示返回后,焦點是否會自動定位到必填項祥山。
20圃验、快捷鍵檢查:
是否支持常用快捷鍵,如Ctrl+C Ctrl+V Backspace等缝呕,對一些不允許輸入信息的字段澳窑,如選人斧散,選日期對快捷方式是否也做了限制。
21摊聋、回車鍵檢查:
在輸入結(jié)束后直接按回車鍵,看系統(tǒng)處理如何,會否報錯.
22鸡捐、刷新鍵檢查:
在Web系統(tǒng)中,使用瀏覽器的刷新鍵麻裁,看系統(tǒng)處理如何箍镜,會否報錯。
23煎源、tab鍵檢查色迂,是否可以正常切換輸入框,定位焦點
24手销、密碼copy出來是否加密.
25歇僧、下拉框選擇后的回車,是否可以直接選中所選項
26锋拖、回退鍵檢查:
在Web系統(tǒng)中诈悍,使用瀏覽器的回退鍵,看系統(tǒng)處理如何兽埃,會否報錯侥钳。對于需要用戶驗證的系統(tǒng),在退出登錄后柄错,使用回退鍵舷夺,看系統(tǒng)處理如何;多次使用回退鍵鄙陡,多次使用前進鍵,看系統(tǒng)如何處理躏啰。
27趁矾、直接URL鏈接檢查:
在Web系統(tǒng)中,直接輸入各功能頁面的URL地址给僵,看系統(tǒng)如何處理毫捣,對于需要用戶驗證的系統(tǒng)更為重要。如果系統(tǒng)安全性設(shè)計的不好帝际,直接輸入各功能頁面的URL地址蔓同,很有可能會正常打開頁面。
28蹲诀、空格檢查:
在輸入信息項中斑粱,輸入一個或連串空格,查看系統(tǒng)如何處理脯爪。如對于要求輸入整型则北、符點型變量的項中矿微,輸入空格,既不是空值尚揣,又不是標準輸入涌矢。
29、輸入法半角全角檢查:
在輸入信息項中快骗,輸入半角或全角的信息娜庇,查看系統(tǒng)如何處理。如對于要求輸入符點型數(shù)據(jù)的項中方篮,輸入全角的小數(shù)點(“名秀。”或“.”恭取,如4.5)泰偿;輸入全角的空格等。
30蜈垮、密碼檢查:
一些系統(tǒng)的加密方法采用對字符Ascii碼移位的方式耗跛,處理密碼加密相對較為簡單,且安全性較高攒发,對于局域網(wǎng)系統(tǒng)來說调塌,此種方式完全可以起到加密的作用,但同時惠猿,會造成一些問題羔砾,即大于128的Ascii對應(yīng)的字符在解密時無法解析,嘗試使用“uvwxyz”等一些碼值較大的字符作為密碼偶妖,同時姜凄,密碼盡可能的長,如17位密碼等趾访,造成加密后的密碼出現(xiàn)無法解析的字符态秧。
31、用戶檢查:
任何一個系統(tǒng)扼鞋,都有各類不同的用戶申鱼,同樣具有一個或多個管理員用戶,檢查各個管理員之間是否可以相互管理云头,編輯捐友、刪除管理員用戶。同時溃槐,對于一般用戶匣砖,嘗試刪除,并重建同名的用戶,檢查該用戶其它信息是否重現(xiàn)脆粥。同樣砌溺,提供注銷功能的系統(tǒng),此用戶再次注冊時变隔,是否作為一個新的用戶规伐。
32、系統(tǒng)數(shù)據(jù)檢查:
這是功能測試最重要的匣缘,如果系統(tǒng)數(shù)據(jù)計算不正確猖闪,那么功能測試肯定是通不過的。數(shù)據(jù)檢查根據(jù)不同的系統(tǒng)肌厨,方法不同培慌。對于業(yè)務(wù)管理平臺,數(shù)據(jù)隨業(yè)務(wù)過程柑爸、狀態(tài)的變化保持正確吵护,不能因為某個過程出現(xiàn)垃圾數(shù)據(jù),也不能因為某個過程而丟失數(shù)據(jù)表鳍。
33馅而、系統(tǒng)可恢復性檢查:
以各種方式把系統(tǒng)搞癱,測試系統(tǒng)是否可正常迅速恢復譬圣。
34瓮恭、確認提示檢查:
系統(tǒng)中的更新、刪除操作厘熟,是否提示用戶確認更新或刪除屯蹦,操作是否可以回退(即是否可以選擇取消操作),提示信息是否準確绳姨。事前或事后提示登澜,對于Update或Delete操作,要求進行事前提示飘庄。
35脑蠕、刷新檢查:
web系統(tǒng)中的WebForm控件實時刷新功能,在系統(tǒng)應(yīng)用中有利有弊竭宰,給系統(tǒng)的性能帶來較大的影響空郊。測試過程中檢測刷新功能對系統(tǒng)或應(yīng)用造成的影響(白屏)份招,檢查控件是否回歸默認初始值切揭,檢查是否對系統(tǒng)的性能產(chǎn)生較大影響(如每次刷新都連接數(shù)據(jù)庫查詢等)。
36锁摔、時間日期檢查:
時間廓旬、日期驗證是每個系統(tǒng)都必須的,如2006-2-29、2006-6-31等錯誤日期孕豹,同時涩盾,對于管理、財務(wù)類系統(tǒng)励背,每年的1月與前一年的12月(同理春霍,每年的第1季度與前一年的第4季度)。另外叶眉,對于日期址儒、時間格式的驗證,如2006年2月28日衅疙、2006-2-28莲趣、20060228等。日期檢查還要檢查日期范圍是否符合實際的業(yè)務(wù)饱溢,對于不符合時間業(yè)務(wù)的日期喧伞,系統(tǒng)是否會有提示或者有限制
37、多瀏覽器驗證:
越來越多的各類瀏覽器的出現(xiàn)绩郎,用戶訪問Web程序不再單單依賴于Microsoft Internet Explorer潘鲫,而是有了更多的選擇:Maxthon、Firefox嗽上、Tencent Traveler等次舌,考慮使用多種瀏覽器訪問系統(tǒng),驗證效果兽愤。
38彼念、編寫測試用例要學會質(zhì)疑需求,不要完全按照需求來寫測試用例浅萧,要從客戶和產(chǎn)品的角度來理解需求逐沙,看到需求之外的功能和體驗,這樣也能減少不必要的時間支出洼畅。
......
當然吩案,還有很多測試相關(guān)內(nèi)容我沒有提及到,也有許多新的測試技術(shù)和方法去琢磨帝簇,再接再厲徘郭。