項目上線出Bug!為什么我沒有測試出來?故障復盤剖析

                  上一篇 / 下一篇  2023-03-15 17:03:25 / 個人分類:軟件測試

                  材料收集

                  你服務于一個數據庫查詢業務,某次客戶現場反饋查詢某個語句長時間未返回結果,耗時已經遠遠超過項目對外提供的性能報告承諾給用戶最長查詢時間。加我VX:atstudy-js 回復“測試”,進入 自動化測試學習交流群~~

                  問題和相關日志已經傳遞回來,開發人員進行原因分析和故障修復,測試人員進行故障復盤和測試改進。

                  這一切看起來都在正常的進行下去,但是作為測試人員的你是不是會不自主地冒出這么一句:為什么我沒有測試出來呢?

                  那么,為什么會沒有測試出來呢?

                  故障復盤

                  “沒有測試出來”剖析最根本的原因無非可能有兩點:

                  1、缺少對應的測試用例;

                  2、具有相應的測試用例,但測試環境與客戶現場相差太大。

                  那么,你可能還會繼續問自己:為什么會缺少對應的測試用例呢?

                  缺少對應的測試用例

                  至于測試用例的缺失,從客戶需求——>需求方案設計——>開發方案設計——>開發實現——>需求測試——>需求交付。

                  整個流程來看:缺失相應使用場景的客戶需求,或者需求方案設計有誤,或者開發方案設計有誤,或者開發實現偏差等等都可能導致測試人員在設計測試用例時,缺少相應用例的設計和測試執行,從而未能發現類似故障。

                  除此之外呢,有相應測試測試用例,還是因為測試環境與客戶現場環境相差太大而未能發現類似故障。

                  測試環境與客戶現場相差太大

                  為什么會存在測試環境與客戶現場環境相差太大?

                  就數據庫查詢業務而言。測試環境的數據存儲量有可能遙遙不及真實用戶環境,也可能測試環境的測試數據與真實數據不一樣(比如某個存儲字段的長度設置;比如存儲的字段內容解析后包含特殊字符、亂碼等等)……這些都是測試環境與客戶現場不一致的可能情況。

                  梳理完測試缺漏后,下一步理所當然的是進入用例補充和模擬客戶環境穩定性測試。

                  可是,除了補充當前故障對應的測試用例之外,我們還能延展些什么呢?!

                  放大或復制用戶行為

                  不管是開發人員或測試人員,我們都應該珍惜接觸現場日志的機會(當然首要的是需要保密不外傳),因為我們可以從日志中窺探到用戶使用習慣或產品使用方式,從而將這些行為或習慣復制到我們的測試用例中,亦或者在測試中放大用戶行為或習慣。

                  復制用戶行為

                  什么是復制用戶行為?如何復制用戶行為?

                  復制用戶行為在這里指的是,直接將獲取到的用戶使用產品方式在內部測試環境重現。比如:復現用戶的某個數據庫查詢行為,select * from xx where ……

                  但是值得注意的是:

                  1)測試環境數據和真實用戶環境可能存在較大的差異(比如:測試環境的數據庫不存在某個字段abc,而真實用戶行為查詢卻使用到了該字段abc),我們需要根據自己的測試環境進行適當的調整。

                  就數據庫查詢業務為例,這類調整包括但不限于:刪除不存在的字段查詢,修改對應的字段值為測試環境的值查詢……

                  2)獲取到的用戶行為有限,無法支撐大量的查詢比對(比如性能查詢,統計數據庫某類查詢行為的耗時均值)。

                  這個問題應該是可以預見的,畢竟我們能夠接觸到的用戶日志或采集到的用戶行為是有限的。

                  尤其是針對第2)個問題,放大用戶行為就成了我們的可選項。

                  放大用戶行為

                  放大用戶行為在這里指的是,將獲取到的用戶行為作為樣本,復制多份或在用戶行為中增刪其他行為。

                  比如:將select * from index where id=’123’的用戶行為復制100份,替換其中的id值為測試環境中不同的值;或以select * from index where id=’123’為基礎樣本,增加行為數據如select * from index where id=’123’ or id=’456’等。

                  復制或放大用戶行為,對我們的測試有什么意義呢?!——可以讓我們更接近用戶的使用方式,產生更多的測試用例,擴大測試覆蓋率。

                  再來一點思考

                  以上所說想必大多測試人員在工作中也是這樣做的,但是可能缺少部分的思考和總結,F場反饋的問題和收集的資料對補充我們的測試用例、完善我們的測試工作具有很大的幫助,希望每一位測試人員都能好好利用能夠接近“真實”的機會。

                  最后:

                  可以到我的個人V:atstudy-js,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!其中包括了有基礎知識、Linux必備、Mysql數據庫、抓包工具、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試等。

                  這些測試資料,對于做【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!

                  最后:

                  添加微信:atstudy-js  或者掃描下方二維碼,備注“博客”邀請你進入Python自動化測試學習交流群~


                  TAG:

                   

                  評分:0

                  我來說兩句

                  Open Toolbar
                  亚洲欧洲自拍图片专区123_久久久精品人妻无码专区不卡_青青精品视频国产色天使_A免看的日黄亚洲