朝陽專案・交件明細
版本 1.0.5.5
螢幕側錄第 1 部分:VNC 連線側錄(告知同意、加密存放、網頁播放)+ ACL 舊格式空白電腦名稱略過
VNC 連線可錄影:連線前告知並一次問同意,連線中顯示「● 錄影中」,錄影加密存放,網頁可播放;ACL 舊格式空白電腦名稱改為略過。
James 在後台網頁用管理者帳號就能播回錄影(網址與測試帳密放在您機器上的交件資料夾 README 裡)
已知限制:連線開頭可能多存一張遠端尚未畫出的灰畫面(只第一張、不影響其後錄影),下一版修。
- 自測
- 全部通過
- 獨立驗收
- 驗收中
- 改壞紅幾格
- 故意改壞會變紅
- 正反案例
- —
- 本版用量
- 67%→(交件時填)
要 James 定的題目
畫面在動時照現在每秒 2 張、品質 75,約每分鐘 22MB(1 小時約 1.3GB),保存 90 天;要維持,還是改每秒 1 張(張數減半,大小約減半,此為推算未實測)?
建議建議先看附的錄影清晰度再定;維持每秒 2 張為預設。
使用者那端
管理者在後台網頁打開連接紀錄的錄影、播放並看到被連端畫面;只有 Admin 能下載
- 被連端按「同意連線並錄影」的那次連線,網頁連接紀錄那一筆有錄影可播。
- 播放頁的段數=連線結束時顯示的送出段數。
- 管理者帳號能播放但不能下載;Admin 可下載,下載的檔案解得開。
- 每次打開觀看,存取紀錄都多一筆。
- 被連端按「只同意連線」或「不同意」時,網頁沒有錄影。
測試明細過 24不過 0待驗收 9
| 情況 | 預期 | 案例 | 結果 |
|---|---|---|---|
| 被連端按「同意連線並錄影」 | 接通並開始錄影;被連端顯示「● 錄影中」;網頁連接紀錄有這段錄影 | 實機 | 過 |
| 反向:被連端按「只同意連線」 | 照常接通、不錄影;不顯示「● 錄影中」;網頁沒有錄影 | 實機 | 過 |
| 反向:被連端按「不同意」 | 不連線;紀錄為對方拒絕 | 實機 | 過 |
| 設定「不同意錄影就不連線」=是 | 同意視窗只剩兩鈕(不同意/同意連線並錄影);改這個設定時修改紀錄多一筆 | 實機 | 過 |
| 反向:「不同意錄影就不連線」=否 | 同意視窗三鈕(不同意/只同意連線/同意連線並錄影) | 實機 | 過 |
| 合併同意視窗直接按 Enter 或 Esc | 都落在「不同意」,不會誤同意 | 實機 | 過 |
| Admin 在網頁播放並下載錄影 | 播得出被連端畫面;下載的 zip 解得開 | 實機 | 過 |
| 反向:管理者帳號在網頁看錄影 | 播得回真錄影;按下載被拒(無權限 403) | 實機 | 過 |
| Admin 刪除單一筆錄影 | 只刪那一筆、其他錄影還在;刪除留紀錄 | 實機 | 待驗收 |
| 反向:管理者帳號刪除錄影 | 沒有刪除鈕,直接呼叫也被拒(403) | 實機 | 待驗收 |
| 每次打開錄影觀看 | 存取紀錄多一筆(誰、何時、看哪段) | 實機 | 過 |
| 連線中畫面持續在動 | 每秒 2 張、每張約 242KB(約每分鐘 22MB);CF 約單核 15%;結束時送出段數=播放頁段數 | 實機 | 過 |
| 反向:連線中畫面靜止不動 | 畫面沒變不存;CF 靜止時 CPU ≤ 單核 4%(上一版實測 5.4%,修正中) | 實機 | 待驗收 |
| 單張畫面太大 | 先降品質,仍太大再縮解析度,不丟張 | 自測 | 過 |
| 錄影存放 | 資料庫裡全是密文;下載的 zip 解得開;後台重開後照常播放 | 實機 | 過 |
| 新版 CF 發起連線 | 被連端出現合併同意視窗(連線與錄影一次問) | 實機 | 過 |
| 反向:舊版 CF 發起連線 | 退回分開問(先問連線、再問錄影),不當掉 | 實機 | 過 |
| 反向:舊版 CF+「不同意錄影就不連線」=是 | 依設定不連線,並向發起端說明原因 | 實機 | 待驗收 |
| 被連端還沒按,發起端取消(三鈕、兩鈕、舊版分開問三種同意視窗各一次) | 被連端的同意視窗立即關掉;不連線、不錄影 | 實機 | 待驗收 |
| 錄影中把 viewer 縮小 | 錄影持續、不中斷 | 實機 | 過 |
| 錄影中斷線後自動重連 | 接著錄;段數跨重連累計,結束值=後台段數 | 實機 | 過 |
| CF 與 CB 之間管道閒置 30 分鐘 | 不斷線(每 5 分鐘保活) | 實機 | 過 |
| 被連端顯示比例 125%/150% | 擷取畫面完整、不被切 | 實機 | 過 |
| Admin 在參數頁改錄影設定(強制錄影、要不要問、不同意就不連線、例外清單、告知文字) | 存得進去;修改紀錄多一筆 | 實機 | 過 |
| 反向:一般帳號讀或改錄影設定 | 被拒(403),設定不變 | 實機 | 過 |
| 用 DLL 改錄影設定 | 參數頁讀回與 DLL 寫入的值一致 | 實機 | 待驗收 |
| 例外清單寫 @群組,被連端在群組內 | 照例外處理 | 實機 | 待驗收 |
| 反向:例外清單寫 @群組,被連端不在群組內 | 照一般錄影設定 | 實機 | 待驗收 |
| 參數頁四語系,手機寬 390 與電腦寬 1280 | 錄影設定欄位與說明都不被裁切 | 實機 | 過 |
| 越南文、英文的預設告知文字 | 同意視窗顯示該語系的預設告知文字 | 實機 | 待驗收 |
| ACL 舊格式有一行電腦名稱空白 | 那一行略過、不當掉,其他規則照套 | 自測 | 過 |
| 反向:ACL 舊格式電腦名稱都有填 | 照舊比對,結果跟上一版一樣 | 自測 | 過 |
| 安裝這版前後對照 | 版本號顯示新版;防火牆規則與服務跑前跑後不變 | 實機 | 過 |
代表案例 33 列,全表在交件包。
自我總結錯誤 → 原因 → 背後原因 → 對策
畫面不動時,CF 仍吃約單核 21% CPU。
每擷取一次就新建一張大點陣圖,再整張拿來比對有沒有變。
效能只量了「畫面在動」那一半,沒有量「畫面靜止」的反向情境;擷取迴圈不分有沒有變化都做同樣的重工。
改逐點比對、重用點陣圖、靜止時降低擷取頻率;靜止 CPU 目標 ≤ 單核 4% 列為驗收格,每版實機量。
連線結束時顯示的「送出段數」與後台段數不符。
算的是每分鐘一段的段數,不是實際切段後送出的段數;重連後又從零算。
計數與後台存的不是同一個東西,也沒有一格拿兩邊數字對照。
改成跨重連累計實際送出的段,結束值=後台段數;驗收固定比「送出段數=播放頁段數」。
CF 與 CB 之間的管道閒置 30 分鐘就逾時斷線。
管道沒有任何保活,閒置超過逾時就被關掉。
長時間連線只測了有資料在跑的情況,沒測「閒置很久」的反向情境。
加 5 分鐘保活;實機閒置 30 分不斷列為驗收格。