※ 引述《atpx (秋雨的心情)》之銘言:
: 本文先發在java板, 不過回應不多, 所以轉發本版希望能夠找到比較多指導.
: 有違反板規請推文或站內信, 看到會馬上刪.
: 這個問題我們自己也很難重現, 都是user回報之後觀察到.
: 所以任何方法包括怎麼去測試找問題都歡迎指導.
: ---------------------------------
: 目前碰到一個棘手的問題.
: 查詢出來的資料, 轉化為物件呈現在頁面上時, 會有部分loss的狀況.
: 例如銷售系統的建立訂單畫面, 可以在欄位內輸入統編,
: 元件用統編查出廠商詳細資料後再帶到前端自動填入其餘欄位.
: 例如廠商名稱/ 地址/ 票期....
: 但是在極少的狀況下, 會發生帶到前端的資料loss(損毀),
: 例如廠商名稱: ABC公司, 呈現在頁面上變成AB, 後面的字都不見了.
: user按下儲存後, 就會寫入錯誤的資料, 連帶影響後續功能.
: 頁面已經有檢核必填且不可輸入只能用點選帶值.
: 發生率約幾百分之一, 數百列訂單資料錯一筆.
這我覺得可用二個方法雙管齊下:
1.把批量資料列出來觀察例外值出現的情況,猜測可能的特徵,
2.把程式按照流程分成一段一段路線,分別看每一段有沒有問題.
從第一個辦法所做的猜測,是幫助限制你猜問題出現在哪邊的範圍.
第二個辦法,則是限定於那個範圍之內,用直接有效的步驟來找問題.
以 "資料看起來loss" 這個問題來看,分析方法大概是:
1.看資料儲存有沒有錯誤: 如果沒有錯誤,走下列2. 如果有錯誤,走下列3.
2.檢查從資料庫輸出到前端的程式.
3.看看新輸入的資料有沒有錯誤,以目前來說,什麼都沒改,而錯誤仍存在,所以是
無條件做4.
4.檢查輸入到資料庫的程式有沒有問題.
5. ......
至於,資料看起來隨機出現一些改變,通常不會是隨機,而是程式中隱含了一些你
沒有想到的規則,使資料誤植生效.
是Java程式,可以準備一些業務中會遭遇的資料,並將程式單元拆出來用JUnit或
簡單的assert檢測檢測. 細處著手,應該過得去的.
祝
完成工作.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.110.179
推
06/02 20:30, , 1F
06/02 20:30, 1F
→
06/02 21:28, , 2F
06/02 21:28, 2F
討論串 (同標題文章)