測試工程師不僅是負責發現問題,除了發現問題這種基本功外,定位問題,提出解決方案,提出預防方案也是要掌握的技能。這裏先說定位問題的要求,定位問題要向深刻,前提固然是對功能、產品的流程、開發方案、開發人員很是熟悉了,以咱們部門爲例,定位bug至少要到下面這種程度。
首先肯定是界面顯示問題仍是功能問題html
若是是界面問題,如貼圖錯誤,文字錯誤,樣式錯誤,則須要截圖。
若是是功能問題,控制檯的問題至少定位到:www的問題仍是數據庫問題,若是是www問題至少要定位到是前端仍是後端問題;若是是數據庫問題至少要定位到是服務端接口問題仍是中間件問題。
客戶端的問題至少定位到:哪一個dll模塊或者邏輯出的問題
服務端的問題至少定位到:什麼接口出的問題,致使數據庫哪裏不對,另外,前端
測試時不要全按照用例走,要多發散思惟
測試時要儘可能考慮得更全面,把一些多用戶多終端或其餘極端的狀況都考慮到。
最後,跟進重點問題的修改進度和方案,詢問開發時如何修改的,反思開發的修改方案是否存在漏洞。redis
爲什麼要學會區分前端和後臺BUG?
若是是一個多人開發的系統,不能明肯定位到這個bug是誰形成的,容易提交給錯誤的開發人員,因而bug會像皮球同樣被開發踢來踢去,耽誤開發解決bug的時間。
即使提交給對的開發,開發也未必能查到bug產生的緣由和代碼有問題的地方,所以不必定能修復bug,每每修改了本身認爲可能有問題的地方,而後測試發現還有問題,繼續發回給開發,開發繼續查,來來回回耽誤解決bug的時間。
再退一步來講,若是開發水平很高,沒有1和2的問題,對於測試來講也很容易提交重複的bug,由於可能不少bug都是因爲一個地方引發的,只是表現出問題不同,但本質倒是同樣的,這樣也是耽誤了測試時間。
固然能遇到的遠遠不止以上3種狀況,因此對於測試來講僅僅提交bug是不夠的,不管對於測試自身的提升積累,仍是對於項目進度推動都是很是重要的。
數據庫
測試工程師如何區分前端和後臺的BUG
前臺的bug一般是功能、界面和兼容性等有關;後臺的bug與邏輯、性能和安全性有關。與數據相關的錯誤、排序問題大可能是後臺問題,對於APP頁面toast提示多是後臺給的,多是APP給的
一般狀況下,咱們能夠經過請求接口、傳參和響應三部分來判斷Bug,另外,也能夠在瀏覽器的控制檯進行代碼調試定位。後端
請求接口URL是否正確,若是請求接口URL不正確,爲前端Bug
http請求中的參數是否正確,若是http請求中的參數不正確,爲前端Bug
若是接口URL和參數都正確,查看響應內容是否正確,若是這種狀況下響應內容不正確,則爲後端Bug
若是JS基礎比較好的話,也能夠在瀏覽器的控制檯中輸入JS代碼進行調試瀏覽器
根據接口的文件,檢查數據是否正確,至於如何分析,這個就看我的的基礎了,若是發送的數據是正確的,可是後臺反饋的數據是不符合需求的,那就是後臺的問題;若是前端沒有請求接口,或者請求的時候發送數據與需求不符,那這個時候就是前端的問題了。
前臺bug定位:按F12在console中查看報錯信息,對於出錯的js能夠在Sources下查看對應報錯的資源文件,寫入禪道提交給開發便可。
後端的Bug,如何準確的定位問題在哪裏,如何精準的描述Bug?緩存
1 查看報錯日誌,經過日誌分析,須要有必定的經驗,而且有必定的代碼基礎,才能更好地定位問題。
2 查看數據庫的數據,瞭解所測功能的數據表結構,測試過程當中,查看數據庫的數據,確認數據的正確性。
3 查看緩存(如Memcache、apc、redis等緩存)是否正確安全
前臺bug注意如下三個方面:性能
網站前臺的權限控制:沒有權限的用戶是不能直接輸入url的方式來進行訪問的,必須進行登陸。之後涉及到權限的測試,必定不能漏掉url的方式也須要驗證一下。而在單個頁面進行W3C測試時則須要去掉該權限控制。
網站前臺的title,對於這個也很容易忽視。進入到不一樣的功能頁面,title顯示應該是有,而且要和你進入的頁面一致。title就是在瀏覽器最左上角看到的那些文字
http和https的注意點:https是一種安全連接,它是須要證書的,而http就是普通連接,因此在你的系統中客戶會要求某些關鍵的地方但願加上這種安全鏈接,那麼此時你須要注意的是,對於不須要的安全連接的地方千萬也要去重點測試,有些開發會很容易忽略這一點。
你要打開HTTPS開頭的網站,前提是該網站安裝了SSL證書,只有安裝了SSL證書的網站,而且開啓了443端口,你才能夠經過HTTPS加密協議無訪問。若是沒有則不能訪問。測試
你可要測試,好比在某個網站http協議後面加個s去訪問,看可否訪問成功,能成功,會顯示綠色安全小鎖,不然就不能訪問。給你舉幾個安裝了ssl證書,可要https訪問的網站,1號店,天貓,淘寶,支付寶,百度,沃通CA,工信部網站等等
前端bug主要分爲3個類別:HTML,CSS,Javascript三類問題
給個最大的區別方式方法:
1 出現樣式的問題基本都是CSS的bug2 出現文本的問題基本都是html的bug3 出現交互類的問題基本都是Javascript的bug