1. 程式人生 > >測試中--“死鎖”

測試中--“死鎖”

死鎖:

定義:指兩個或兩個以上的程序在執行過程中,由於競爭資源或者由於彼此通訊而造成的一種阻塞的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的程序稱為死鎖進。

產生條件:

  •    互斥條件
  • 請求和保持條件
  • 不剝奪條件
  • 環路等待條件

產生原因:

  •     競爭資源引起程序死鎖
  • 可剝奪資源和不可剝奪資源
  • 競爭臨時資源

 

測試中遇到的例子:

在和團貸聯調的時候因為存在存管戶餘額沒有被消費,然後介面就一直顯示充值中

 

 處理方法是團貸清了資料;

發生的原因後期沒有復現,因為團貸方的邏輯和資料系統,不清楚也無法查詢,只是團貸反饋未被消費的原因是:餘額不足,但實際還款金額足夠,因為導致無法復現和解決,只有等平臺(團貸)方反饋。

 

通過此問題,得出結論,測試不是萬能的不是什麼問題都能測試到,比如以下原因導致:

1、實際操作的,在測試環境是模擬操作,比如扣款,充值之類的,設計到實際的賬務處理

2、第三方的問題,比如和團貸方聯調,(不能操作和發現其他關聯絡統導致的問題,比如平臺,存管)

3、細節金額考慮不全(涉及金額類)

 

總之,涉及到金額類的,都不是善茬兒