[專案心得]測試記錄單CheckList
當專案進行至「程式撰寫」階段完成後,接著通常就是Code Review,交互稽核,測試,完成後方能出貨。    
以我們公司一般專案組織成員來區分的話,與這幾個階段有關的成員,有SA、PA、PGR(含APGR)。     
    
通常PGR與APGR撰寫完的程式,時間允許的話,應撰寫Unit Test,若為核心功能模組,甚至得撰寫Web的自動測試。     
    
由於一般來說,PGR撰寫的程式,通常都是單一功能網頁,所以只會針對前頁傳遞過來的測試參數值來模擬SIT(系統整合測試),     
等到單支程式測試無誤,PA Code review且過版至測試機覆測完畢無誤後,才會出貨給SA作整個系統的整合測試(含操作流程或完整的測試腳本)。     
    
而除了撰寫自動測試程式外,PGR和PA在Code Review與自我檢測程式品質,該注意的check point有哪些呢?     
    
這邊列出一些普遍需要檢查到的要點(我們通常是使用excel來記錄),     
倘若該支程式擁有特別需要測試的功能或特別的說明,則額外附在這些共同測試要點下方的各別功能。     
供各位寫程式或review程式的同好,作個參考。
|             測試類別  |                       測試模組  |                       測試項目編號  |                       測試規格內容  |                       測試結果  |        ||
|             測試步驟/輸入資料  |                       預期結果  |                       實際結果(或異常說明)  |                       通過(Y/N)  |        |||
|             共同  |                       基本  |                       
  |                       程式按Coding Guidline撰寫  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       程式按本系統的Coding Rule 方式撰寫  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       程式各功能操作及狀態需符合共用規格書的規範及要求  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       程式是否可正常啟動執行  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       各功能鍵點選執行是否有誤  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       操作流程合於系統設計標準規定  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       程式碼對齊、內縮排、模組化及有必要的註解  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       各功能鍵點選執行是否有誤  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       程式及物件(function, control)符合命名原則  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       物件類型及大小合乎系統設計標準規定  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       日期物件正確性的檢查  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       按下功能鍵時,必要輸入項目的檢查  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       起迄物件的合理性檢查  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       適當及正確的使用訊息清單的訊息代號來顯示  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       查詢結果畫面,Grid的換頁功能正常,包括:上一頁、1|2|3|4|5、下一頁  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       畫面清除時,需保留預設值  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       查詢結果依據查詢條件產生  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       各選取條件若為空白, 若Program SPEC 沒有特別註明, 則此條件略過不判斷, 其餘都是用’AND’來做連接  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       權限控管的檢查  |                       
  |                       
  |                       
  |        
|             共同  |                       基本  |                       
  |                       對於畫面上的特殊驗證 , 如依某值的改變後再去檢查( 即非一般的必要輸入或欄位合理性的驗證)為postback 回server 端 , 實作時要使用UpdatePanel 的方式  |                       
  |                       
  |                       
  |        
|             共同  |                       UI  |                       
  |                       Tab Index設定由左而右, 由上而下  |                       
  |                       
  |                       
  |        
|             共同  |                       UI  |                       
  |                       操作流程合於系統設計標準規定  |                       
  |                       
  |                       
  |        
|             共同  |                       UI  |                       
  |                       畫面上,Label中的文字靠右,必要輸入項目前顯示 * 號  |                       
  |                       
  |                       
  |        
|             共同  |                       UI  |                       
  |                       查詢畫面及Grid內的欄位,文字靠左; 數字靠右 (依DB欄位型態)  |                       
  |                       
  |                       
  |        
|             共同  |                       UI  |                       
  |                       查詢畫面的欄位標題文字置中  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       金額欄位顯示需要以三位一撇呈現 ,小數位以4拾五入取至整數  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       檢查訊息是否合理 : 如每個有檢查Error的欄位,均要輸入錯誤值測試  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       是否帶入正確的預設值  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       查詢結果依據查詢條件產生  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       檢查畫面條件是否都有判斷: 如 ‘讀取’時,每一個條件欄位都要Key,並檢查Sql語法  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       檢查欄位是否都有存入資料庫 : 各欄位均要Key 上值,並用最大長度的欄位值(明細區每一欄位都要KEY滿),資料存檔後,再讀出,檢查資料是否有誤  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       增刪改時需使用交易處理 (BeginTrans 及 CommitTrans/RollBackTrans 包住)  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       Master-Detail類程式, Master Table刪除時, 應一併刪除Detail Table.  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       檢查程式不會當機 : 每一行程式均要執行過. (如 IF …. ELSE ….或 While …Loop 及Exit loop…或 某欄位的Setfoucs..等)  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       畫面條件若允許多選,則必須測試全不選、單選、多選等情況,並檢查結果  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       畫面條件需測試:全部輸入、全部不輸入、單一條件輸入等情況  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       資料存檔時必須去空白  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       程式結果驗算 : 程式Run出之結果要與另一隻程式或用SQL_QA 做比對.(如報表中的加總值,利用SQL_QA做驗算,查看是否正確)(或用另一隻程式的結果做比對)  |                       
  |                       
  |                       
  |        
|             共同  |                       資料正確性一致性  |                       
  |                       檢查每一個有SQL 語法的部份 : 檢查SQL 語法是否有誤(如 Update Delete 時 Where 的條件是否有少 )  |                       
  |                       
  |                       
  |        
|             共同  |                       報表  |                       
  |                       出現時,必須要最大化, 並要依照所規定的報表排序及跳頁  |                       
  |                       
  |                       
  |        
|             共同  |                       報表  |                       
  |                       測試時必須測試跳頁是否正常,並測試單頁、多頁的情況  |                       
  |                       
  |                       
  |        
|             共同  |                       報表  |                       
  |                       換頁時重複列印標題  |                       
  |                       
  |                       
  |        
|             共同  |                       報表  |                       
  |                       報表內容超過該欄位的右邊界時,皆折行到下一行  |                       
  |                       
  |                       
  |        
|             共同  |                       報表  |                       
  |                       報表預覽時是否縮印在同一頁  |                       
  |                       
  |                       
  |        
|             共同  |                       物件  |                       
  |                       新增  |                       
  |                       
  |                       
  |        
|             共同  |                       物件  |                       
  |                       刪除  |                       
  |                       
  |                       
  |        
|             共同  |                       物件  |                       
  |                       查詢  |                       
  |                       
  |                       
  |        
|             共同  |                       物件  |                       
  |                       修改  |                       
  |                       
  |                       
  |        
|             共同  |                       物件  |                       
  |                       複製  |                       
  |                       
  |                       
  |        
|             共同  |                       物件  |                       
  |                       存檔  |                       
  |                       
  |                       
  |        
|             共同  |                       物件  |                       
  |                       清畫面  |                       
  |                       
  |                       
  |        
|             共同  |                       物件  |                       
  |                       列印  |                       
  |                       
  |                       
  |        
|             共同  |                       Template-TQ1  |                       
  |                       
  |                       
  |                       
  |                       
  |        
|             各別功能  |                       
  |                       
  |                       
  |                       
  |                       
  |                       
  |        
         
blog 與課程更新內容,請前往新站位置:http://tdd.best/
