學習web測試bug定位方法總結(借鑒)


在知乎看到這篇文章不錯,為了加強記憶敲了一遍。已將鏈接放在標題中。

前台錯誤

前台的bug通常是功能、界面和兼容性等相關,涉及到jstl,jsp,js,css,html方面比較多。

bug主要有兩塊,一是js寫的有問題,可通過F12在console中查看報錯信息,一般瀏覽器都會顯示報錯的js,對於出錯的js可以在Sources下查看報錯的資源文件,基本上都會找到錯誤原因的變量未定義,參數未定義等,js錯誤都是很好解決的。

第二個頁面中的bug,現在web項目基本上沒有做靜態頁面的都是動態了,所以頁面中要么使用了小腳本要么使用了EL表達式來存值。頁面報錯在控制台可以看到錯誤行號和附近代碼。

圖片不顯示。在瀏覽器輸入地址,如果能打開圖片就是后台問題,如果打不開就是前台問題。

 

可以根據響應的值判斷一些bug所在:

(1)響應中沒有數據,則是后端數據沒有返回,前端展示為空,則為后端問題。例如,

新增一個數據,沒有顯示,通過請求中可以看到數據total為0,則是后端數據沒有返回。

(2)響應中有數據,但是前端顯示錯誤了,可以根據字段值判斷是否前端顯示中取錯了字段顯示,可以判斷是前端綁定字段錯誤問題。

(3)響應中有數據,但是跟自己操作的結果不一致,可以根據數據庫查詢,如果數據庫也沒有記錄,可能是代碼有問題,沒有記錄操作。

 

后台錯誤

根據后台日志文件查找錯誤

后台涉及servlet,jms,ejb,還有很多框架,struts,hibernate,spring,ibatis等。bug比較難改,但是好找。主要就是看控制台報錯,然后定位錯誤行號。如果配置文件沒有問題,那么一般報錯就是空指針,或者數組下標越界。看附近的變量,看方法的參數基本上可以定位錯誤。

 

重啟的一般情況:

(1)熱部署(新增部分功能,或者修改部分bug)

(2)發布新版本(整個系統)

(3)內存溢出,此時重啟服務即可

由於項目中有線程程序,./shutdowm腳本關閉Tomcat程序,不能把啟動的線程全部關閉,造成服務器啟動線程未關閉的錯誤。Linux中重啟Tomcat的一般步驟(一般是先關閉進程,然后進行重啟,如果要刪除某個文件 rm 文件名,或者不為空的文件夾 rm -rf 文件夾名稱)

        cd usr/local/ //測試服務器名稱/bin

  ps -exf //看測試服務器下運行的項目的主進程(最前面的數字為PID進程號)

  kill -9 PID //強制關閉某一項目的主進程

 

 

ps aux和ps -ef命令區別

  ps aux 是用BSD的格式來顯示 java這個進程

  顯示的項目有:USER,PID,%CPU,%MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMAND

  ps -ef 是用標准的格式顯示java這個進程

  顯示的項目有:UID,PID,PPID,C,STIME,TTY,TIME,CMD)

 

如何查看日志

一台服務器可以部署多個應用
cd usr/測試服務器名稱/logs//查看先進入到服務器的logs的目錄下
tail -f catailna.out //監視catalina.out文件的尾部內容(默認10行)
日志中常見問題
獲取日志文件中常遇到的問題

 (1)編碼問題:tomcat是新的,需要改編碼修改tomcat的server.xml文件<Connector port="8080"URIEncoding="UTF-8"/>,特別是windows下的項目重新部署到linux系統下。

(2)空指針:程序問題,一般沒有考慮到為空的情況,或者主外鍵約束的數據為空,或者刪除關聯數據,導致為空。

(3)長度過長:超過最大長度,測試環境修改數據庫字段長度后生產環境未修改,導致報錯。

(4)非法數據

(5)內存溢出:重啟

一般的問題原因總結

程序:為空判斷,增刪改查

數據初始化:數據庫表結構和數據初始化,權限配置

故障無法重現時:

(1)看日志,根據日志定原因,則在測試環境中按照日志提示構造條件相同的測試案例測試,嘗試在測試環境中將問題重現。問開發。

(2)測試環境和配置與實際的工程環境和配置有哪些差異等。同時主動與開發負責人、工程實施人員以及有經驗的項目經理討論,分析可能導致的原因。

 

 

輔助工具:Linux和sql

linux 查看日志

QL用來篩選數據或直接進行數據修改狀態,多用於集成測試過程中前后流程相連接

 

 



作者:王嘉
鏈接:https://zhuanlan.zhihu.com/p/31145844
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

 


免責聲明!

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



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