背景
由于最近比較多暴露出來由于漏測導致在site測試階段才發現的bug,特別是一些涉及身份核查、認證鑒權、支付、交易動賬之類的問題,產生的后果是非常嚴重的。因此,對bug漏測進行一些思考,并進行總結。
原因分析
BUG其實是任何產品都無法避免的一個問題,不是所有的bug都能被發現,包括資深測試,或多或少的會出現線上缺陷,誰也不能把軟件所有的功能操作、運用場景想周全。雖說不能做到完全零缺陷,但是每次發布的產品,我們需要追求缺陷越來越少,產品投訴越來越少。
為什么會出現缺陷漏測,主要有以下幾點:
需求評審階段,對業務需求細節理解不明確,未深入挖掘隱含拓展需求
問題分析
在實際產品研發過程中,產品需求其實處于一個細化過程中,在需求prd文檔交互文檔輸出進行評審時,未能把一些產品細節問題、隱含需求暴漏出來,而測試用例的編寫是基于prd交互文檔。
改進措施
需求評審前,我們應該先仔細閱讀prd及交互文檔,先形成自己對產品的思考,通過腦圖的方式列出對產品設計的疑問點,從用戶或者從行業角度找出產品設計缺陷點;
需求評審會議中,帶著列出的疑問點向產品、開發溝通自己對產品的疑惑和質疑點,多提幾個為什么?如何實現?數據獲取來源?超出預期的數據怎么處理?緩存處理機制如何?數據保存何處?邏輯由前端處理還是后端服務?后端服務邏輯是否跟第三方關聯?
需求評審完成后,按照一定的功能,將需求拆分成若干大模塊,大模塊拆分成小功能點,然后考慮功能點的具體實現流程
測試用例覆蓋不全面,場景出現遺漏
問題分析
在測試用例設計過程中,容易出現思維受限或者需求盲區,我們不可能完全覆蓋用戶使用的所有場景,編寫測試用例的同事不可能把所有的場景都能想周全,把所有的場景下的情況都寫成測試用例這也是不大現實的。
改進措施
用例設計開始之前,列思維導圖
通過思維導圖列出業務流程,前后端接口邏輯。然后按照prd和交互文檔,依照ui界面切分成大的功能塊,然后在大功能塊,然后在大功能塊再切成小功能塊,最后到功能點,每個功能點通過ui、基本功能、邊界、內存、交互、網絡、異常、接口邏輯等維度開展用例設計導圖,并列出需找產品、開發確認的疑點。
用例設計完成后組織用例評審
(1)組織開發、產品進行測試用例評審,并拋出用例設計時的疑問,通過產品實現角度、數據存儲、產品體驗角度對用例進行評審完善。
(2)如時間充裕,組織測試組內用例評審也是非常必須的,特別是一些經驗老道或者業務熟悉的老司機們,可以在用例評審上快速的幫忙指出用例的遺漏點,有助于測試人員打開思路,盡可能多的覆蓋用戶場景,值得注意的是用例評審上遇到不確定的,應立即記錄下來,結束后及時找相關人員確認,避免猜測。
根據線上用戶反饋缺陷完善用例
產品測試發布上線后,對于用戶反饋的缺陷,如果缺陷是因為場景設計不全引起的,我們先分析出現問題的場景是必現還是偶現,如果是必現,我們可以通過和技術接口人溝通,確認該場景的一些具體復現步驟,確認引入原因,解決方案。然后進行測試用例完善:除了補充該場景case外,考慮一些和該場景相關聯的場景,將多種場景下測試用例及時完善、評審,增加到用例庫中去。
測試階段未嚴格按照測試用例執行
問題分析
按照測試用例執行測試,可以讓我們盡可能的不出現遺漏一些測試點。但是我們一些同學,不嚴格按照測試用例來執行測試,這樣出現了一些遺漏BUG實在是不應該。
改進措施
測試用例不一定能保證所有的場景和功能點都能覆蓋到,但是嚴格按照測試用例執行測試,能大程度上保證產品質量,盡量避免出現缺陷。
另外養成測試紀錄習慣:對于測試阻塞用例、測試fail用例,應該重點關注并記錄,在回歸測試階段進行精準回歸測試,確保修復bug導致關聯功能引入的新bug也能被發現。
測試環境、測試資源受限,導致缺陷漏測
問題分析
互聯網金融類產品的環境是及其復雜的,業務系統不是孤立存在的,關聯方環環相扣,而且關聯系統常常出現不穩定的情況,另外涉及×××、銀行卡等稀缺資源的使用有限,往往測試完一個有效數據廢棄一個有效數據,所以我們可以盡可能通過mock、還原客戶的實際環境(比如聯網核查mock,銀行卡鑒權mock),但是畢竟不是真實的環境,由于環境的差異,可能出現很多意想不到的問題,這些問題可能只在特性的環境、特定的操作步驟下才會暴露出來,在我們的測試環境還原不出來,只能基于生產環境來驗證問題。
改進措施
引入灰度發布(預發布)測試
測試組在預發布環境上進行回歸測試,能基本模擬真實環境執行測試環境無法測試的用例,又不影響線上用戶的正常使用。
生產驗證環節做好case篩選
首先進行生產驗證case梳理,生產驗證case除了篩選p0+p1級別case進行回歸外,還應該包含測試環境mock or擋板阻塞的測試case,以及后端接口對前端響應的case,在生產回歸階段嚴格按照生產驗證case執行去覆蓋真實線上環境場景
加強后端及關聯方業務邏輯的了解
前端不僅需要了解前端與后端接口的交互業務邏輯,還需了解后端接口與其它關聯方的接×××互邏輯,對測試環境測試用例的覆蓋程度有整體的把控度,以確保生產環境的測試用例覆蓋做到全面性。
開發人員引入的新BUG
問題分析
有一些開發人員只會針對你所提交的BUG中問題的描敘步驟解決,并不會去排查該問題有可能涉及的所有點,有可能出現解決了這個問題,而引入了一個新的問題。
另外,一個不熟悉功能模塊的開發人員來修復BUG,因為業務不熟悉,考慮不周全導致無意識的引入新的BUG。
改進措施
代碼review
從代碼管理層面:開發修復一個bug提交代碼自測通過準備提測時,開發團隊提交代碼進行代碼review,引入新BUG的可能性較小。
精準回歸測試
從測試自我修養層面:在開發提測后,通過diff代碼的方式,了解代碼改動點,精準分析改動點對相關聯的功能點的影響,將開發人員修復的BUG確認驗證,并將相關聯的功能點盡可能的遍歷回歸測試到。
找開發聊聊開發是如何修復這個功能。
跟開發聊實現很容易從開發的設計中你可以把握到測試的注意點,并記錄體現在用例中。例如A開發曾經用某種方式做了a功能,出現了某個bug,現在b功能用了同樣方式實現,那么極有可能之前的bug還會出現在b功能。
ET測試(探索性測試)環節欠缺
問題分析
我們發現的很多BUG都不是按測試用例執行發現出來的,都是在測試過程中隨意測試發現的,而這些步驟在測試用例中并未體現,我們的測試用例不可能覆蓋所有的場景
改進措施
準入測試通過后進行ET測試
在測試準入測試完成進入SIT測試階段:一般來說,ET測試是最容易發現bug的,所以在測試準入測試完成進入SIT測試階段,先進行一輪探索性測試,使的大部分的bug先在測試前期暴露出來,讓bug累計數量達到一定的峰值,盡早發現bug,質量越高。
UAT測試之前進行組內ET測試
SIT測試進入尾聲,UAT測試之前組織一次組內ET測試,讓組內不同的測試用不同的測試方式,測試思維,測試經驗,測試習慣進行探索測試,能發現一些由于思維定勢局限原因導致漏測的bug、詭異的bug或者使用不合理的地方
總結
缺陷漏測是不能杜絕的,缺陷漏測發生后,我們需要學會思考,吸取經驗教訓,盡可能的降低缺陷的漏測量。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享題目:移動APP測試過程中對于BUG漏測的思考-創新互聯
分享網址:http://vcdvsql.cn/article30/pgppo.html
成都網站建設公司_創新互聯,為您提供軟件開發、靜態網站、網站維護、虛擬主機、網站改版、響應式網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯