淺談session測試


Session 是用於保持狀態的基於 Web 服務器的方法,在 Web 服務器上保持用戶的狀態信息供在任何時間從任何頁訪問。Session 允許通過將對象存儲在 Web 服務器的內存中在整個用戶會話過程中保持任何對象。當我們使用用戶名和密碼登陸網站,系統會首先驗證當前登陸用戶是否合法,當合法后將用戶名等相關信息保存在Session 中。登陸后點擊進入某功能頁面時,系統也會去判斷當前你是否有訪問權限,判斷的方式是驗證Session 中的內容是否正確。

 

  在測試的過程中,怎樣去測試Session 是否正確呢?

1、直接訪問需要登陸后才能訪問的頁面地址(包含彈出窗口),復制出URL地址直接在粘貼在地址欄訪問,如果能正常訪問表示當前頁面未做Session驗證處理。(有部分程序是判斷你訪問的頁面是否在框架里面,這種方式不是Session問題)

2、登陸后就不再操作頁面,等達到Session過期時間后點擊頁面任意一個鏈接,如果能正常訪問表示Session實效時間設置不正確。(如何設置session的有效期)

3、登陸后點擊[退出]或[重新登陸]按鈕,系統返回到登出界面或者登陸界面后,點擊瀏覽器的后退按鈕,正常情況是不能返回到之前操作的界面直接跳轉到登陸界面。如果能返回到之前操作的界面,或者是出現其它異常信息,表示系統未做Session刪除處理或者系統處理不恰當。

 

Session測試

  (1)Session是客戶端與服務器端建立的會話,總是放在服務器上的,服務器會為每次會話建立一個sessionId,每個客戶會跟一個sessionID對應。

  並不是關閉瀏覽器就結束了本次會話,通常是用戶執行“退出”操作或者會話超時時才會結束。

  (2)測試關注點:

  1)Session互竄

  Session互竄即是用戶A的操作被用戶B執行了。

  驗證Session互竄,其原理還是基於權限控制,如某筆訂單只能是A進行操作,或者只能是A才能看到的頁面,但是B的session竄進來卻能夠獲得A的訂單詳情等。

  Session互竄方法:

  多TAB瀏覽器,在兩個TAB頁中都保留的是用戶A的session記錄,然后在其中一個TAB頁執行退出操作,登陸用戶B, 此時兩個TAB頁都是B的session,然后在另一個A的頁面執行操作,查看是否能成功。 預期結果:有權限控制的操作,B不能執行A頁面的操作,應該報錯,沒有權限控制的操作,B執行了A頁面 操作后,數據記錄是B的而不是A的。

  2)Session超時

  基於Session原理,需要驗證系統session是否有超時機制,還需要驗證session超時后功能是否還能繼續走下去。

  測試方法:

  1、打開一個頁面,等着10分鍾session超時時間到了,然后對頁面進行操作,查看效果。

  2、多TAB瀏覽器,在兩個TAB頁中都保留的是用戶A的session記錄,然后在其中一個TAB頁執行退出操作,馬上在另外一個頁面進行要驗證的操作,查看是能繼續到下一步還是到登錄頁面。

安全測試CheckList:

http://www.51testing.com/?83470/spacelist-blog-itemtypeid-8724.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM