使用者名稱密碼的測試方法(別小看哦)
別小看了這個使用者名稱密碼這麼簡單的輸入框。可測試的內容還是很多的,並且引發的問題也有很多種類。下面就說一說他的測試方法。
一、使用者註冊
只從使用者名稱和密碼角度寫了幾個要考慮的測試點,如果需求中明確規定了安全問題,Email,出生日期,地址,性別等等一系列的格式和字元要求,那就都要寫用例測了~
以等價類別劃分和邊界值法來分析
1.填寫符合要求的資料註冊: 使用者名稱字和密碼都為最大長度(邊界值分析,取上點)
2.填寫符合要求的資料註冊 :使用者名稱字和密碼都為最小長度(邊界值分析,取上點)
3.填寫符合要求的資料註冊:使用者名稱字和密碼都是非最大和最小長度的資料(邊界值分析,取內點)
4.必填項分別為空白註冊
5.使用者名稱長度大於要求註冊1位(邊界值分析,取離點)
6.使用者名稱長度小於要求註冊1位(邊界值分析,取離點)
7.密碼長度大於要求註冊1位(邊界值分析,取離點)
8.密碼長度小於要求註冊1位(邊界值分析,取離點)
9.使用者名稱是不符合要求的字元註冊(這個可以劃分幾個無效的等價類別,一般寫一兩個就行了,如含有空格,#等,看需求是否允許吧~)
10.密碼是不符合要求的字元註冊(這個可以劃分幾個無效的等價類別,一般寫一兩個就行了)
11.兩次輸入密碼不一致(如果註冊時候要輸入兩次密碼,那麼這個是必須的)
12.重新註冊存在的使用者
13.改變存在的使用者的使用者名稱和密碼的大小寫,來註冊。(有的需求是區分大小寫,有的不區分)
14.看是否支援tap和enter鍵等;密碼是否可以複製粘貼;密碼是否以* 之類的加秘符號顯示
備忘:邊界值的上點、內點和離點大家應該都知道吧,呵呵,這裡我就不細說了~~
二、修改密碼
當然具體情況具體分析哈~不能一概而論~
實際測試中可能只用到其中幾條而已,比如銀行卡密碼的修改,就不用考慮英文和非法字元,更不用考慮那些TAP之類的快速鍵。而有的需要根據需求具體分析了,比如連續出錯多少次出現的提示,和一些軟體修改密碼要求一定時間內有一定的修改次數限制等等。
1.不輸入舊密碼,直接改密碼
2.輸入錯誤舊密碼
3.不輸入確認新密碼
4.不輸入新密碼
5.新密碼和確認新密碼不一致
6.新密碼中有空格
7.新密碼為空白
8.新密碼為符合要求的最多字元
9.新密碼為符合要求的最少字元
10.新密碼為符合要求的非最多和最少字元
11.新密碼為最多字元-1
12.新密碼為最少字元+1
13.新密碼為最多字元+1
14.新密碼為最少字元-1
15.新密碼為非允許字元(如有的密碼要求必須是英文和數字組成,那麼要試漢字和符號等)
16.看是否支援tap和enter鍵等;密碼是否可以複製粘貼;密碼是否以* 之類的加秘符號
17.看密碼是否區分大小寫,新密碼中英文小寫,確認密碼中英文大寫
18.新密碼與舊密碼一樣能否修改成功
另外一些其他的想法如下:
1.要測試所有規約中約定可以輸入的特殊字元,字母,和數字,要求都可以正常輸入、顯示正常和添加成功
2.關注規約中的各種限制,比如長度,大否支援大小寫。
3.考慮各種特殊情況,比如添加同名使用者,系統是否正確校正給出提示資訊,系統管理員帳戶是否可以刪除,因為有些系統管理員擁有最大許可權,一旦刪除系統管理員帳戶,就不能在前台添加,這給終端使用者會帶來很多麻煩。比較特殊的是,當使用者名稱中包括了特殊字元,那麼對這類使用者名稱的添加同名,修改,刪除,系統是否能夠正確實現,我就遇到了一個系統,添加同名使用者時,如果以前的使用者名稱沒有特殊字元,系統可以給出提示資訊,如果以前的使用者名稱包含特殊字元,就不校正在插入資料庫的時候報錯。後來查到原因了,原來是在java中拼SQL語句的時候,因為有"_",所以就調用了一個方法在“_”,前面加了一個逸出字元,後來發現不該調用這個方法。所以去掉就好了。所以對待輸入框中的特殊字元要多關注。
4.數值上的長度 之類的,包括出錯資訊是否合理
5.特殊字元:比如。 / ' " / </html> 這些是否會造成系統崩潰
6.注入式bug:比如密碼輸入個or 1=1
7.登入後是否會用明文傳遞參數
8.存取控制(不知道這個算不算):登入後儲存裡面的連結,關了瀏覽器直接複製連結看能不能訪問。