不少測試是和後臺代碼邏輯相關的,好比:前端
接口文檔裏面包含了接口的url、用途、一些上行參數和下行參數的描述信息。web
可是要想知道這些參數取值的前因後果,仍是要回歸到後臺項目代碼中,咱們能夠對上行參數和下行參數是如何處理和生成的有一個全面的瞭解。瀏覽器
咱們拿到需求,根據需求文檔、交互視覺設計文檔來編寫測試用例。服務器
在測試的過程當中,須要瞭解後臺功能是如何實現的。例如一些wap頁發送的請求,咱們經過抓包捕捉到請求的url,經過請求的url在後臺找到相應的接口代碼,最終仍是會落到接口的邏輯實現上。網絡
只有清楚了後臺代碼的邏輯,才能更好的設計測試用例。這就是針對後臺的一些測試。框架
和前端測試不一樣,前端的代碼咱們經過瀏覽器就能夠看到。後臺的代碼更要求咱們能對IDE熟練使用並掌握如何查看代碼邏輯的能力。工具
任何的測試涉及到後臺,最終無非是落到接口的測試上。測試
步驟:加密
1. 經過抓包能夠獲得接口的基本信息,經過url中的內容咱們能夠在後臺項目代碼裏找到相應的Controller,方便咱們查看接口的邏輯;url
2. 對於上行參數的處理通常有對應的攔截器,咱們能夠在對應的web.xml文件中查到相應url段的過濾器名稱,而後查到對應的過濾器;
3. 在過濾器裏咱們能夠看到對上行參數的預處理邏輯(包括對一些加密參數的解密邏輯),從而找到和Controller裏面的入參的對應關係。
一些關鍵點:
1. 由於咱們抓包抓到的上行參數可能是通過攔截器預處理後再傳給Controller處理的,因此Controller中的入參名稱和咱們抓包抓到的上行參數名稱可能會不一樣。
2. 在攔截器中咱們經過request.getParameter方法獲取到上行參數,而後經過request.setAttribute方法設置處理後的上行參數並傳遞給對應的Controller做爲入參。
1. Eclipse/Intellij(IDE)中按關鍵字、方法名、文件名進行查找;
2. 瞭解SpringMVC框架結構,例如web.xml等文件的做用;
3. 對後臺代碼邏輯的查看能力,知道方法的調用與被調用關係。可以理清代碼邏輯;
4. 可以在理解代碼邏輯的基礎上,知道在哪裏打log排查問題;
5. 能夠經過SecureCRT等遠程軟件在後臺服務器指定項目路徑下查看log輸出;
6. 可以經過Fiddler/Charles/Mitxproxy等代理抓包工具對http/https類型的網絡請求(PC/移動端)進行抓包、攔截、改包;
7. 對於須要加密和解密的參數可以根據後臺項目代碼中的加密解密邏輯進行提取使用並製做相應工具;
8. Git工具使用(建立、合併、拉取、推送分支),及時將開發修改後的開發分支代碼合併到測試分支並部署到測試環境進行測試。