成就系統實現(四) 測試和總結

2021-08-15 18:33:35 字數 672 閱讀 5438

完成架構設計之後,就開始進入了開發階段,後續經過聯調測試的調整,大概花了兩個禮拜的時間,完成了開發和自測,**已在github開源:

單元測試:

@test

public void finishwelcomeachievementtest() throws exception

自測過程中對於**進行debug,然後發現怎麼都斷點進不到事件處理類,為了解決這個問題,還是想了很久,最後發現,是因為單元測試的主線程提前關閉,而消費者執行緒是非同步開啟,從佇列裡面取事件進行消費,加了個thread.sleep(5000)保證主線程一直處理執行的狀態,就可以進入斷點了。

上線後觀察:

發布上線之後,過一段時間就出現了佇列裡面的事件消費阻塞問題,即消費者執行緒讀取到某個序號的事件之後,就不再從佇列裡面取下乙個事件了。同時伴隨伺服器的load公升高,一開始沒有定位到具體原因,伺服器重啟之後就恢復正常,然後過一段時間又阻塞,經過***定位如下,發現異常處理這塊有問題,捕捉到異常之後,又重新拋了出去,導致消費者執行緒阻塞了,由於ringbuffer環形讀取消費,其它的消費者執行緒也一併開始卡死。

具體定位的過程可以看這篇文章:記一次線上伺服器load高問題定位和解決

對於外部引入的框架,一定要謹慎小心,必須了解其中的原理和原始碼實現,才能放心投入到專案中使用,發現問題可以及時定位原因

成就系統實現(一) 概述

在乙個完整的業務流程鏈路中,使用者的某種行為可能會觸發成就的達成,如果成就達成了,推送乙個彈窗讓使用者感知。一期功能有11種可以達成的成就。第11種成就 達成條件是完成前面10中成就,每個成就都有對應的獎勵。這11種成就都歸屬新手成就包,二期考慮拓展成就系統,引入多種成就包。1.成就達成的條件分析,...

系統測試總結

一 系統測試的定義 系統測試,英文是system testing。是將已經確認的軟體 計算機硬體 外設 網路等其他元素結合在一起,進行資訊系統的各種組裝測試和確認測試,系統測試是針對整個產品系統進行的測試,目的是驗證系統是否滿足了需求規格的定義,找出與需求規格不符或與之矛盾的地方,從而提出更加完善的...

系統測試計畫編寫(四)

迭代是根據客戶每個階段的需求來進行一系列的軟體活動,回歸測試可以穿插在迭代的各個版本之間 確定系統測試計畫執行過程中組織結構與結構之間的關係 確定系統測試過程與其他過程如開發,專案管理,配置管理,質量保證之間的關係 確定系統測試中的溝通渠道和匯報關係 角色和職責 角色 職責 擔任人員 測試經理 1....