如果說前面資訊系統建置程序前導階段為建設過程,則系統測試則可歸屬於破壞階段,為甚麼呢?
因為系統測試重點並非消極的證明系統的正確性,而是積極找尋程式的錯誤與不足之處為首要目標!
系統測試程序
一般醫院資訊系統是由多個系統相互組成而成,而系統內部又包含眾多子系統、元件及程式模組,因此,在此複雜的架構下,為了有效測試目的,必須遵循的執行所規劃的測試步驟,有五個步驟:
- 單元測試(Unit Testing)
是系統中最小單位,著重於檢測程式撰寫階段所完成的單一程式模組可否執行預期要求功能,一般採用白箱測試技術來驗證系統規格書中細部設計所描述的正確性。
- 整合測試(Integration Testing)
是單元測試完成之後續執行步驟,主要檢查系統設計階段所規劃的系統功能組合的流程與架構正確性,一般以黑箱測試為主導,組合模組並且進行期間介面測試為此階段關鍵性重點。
- 驗收測試(Validation Testing)
在整合測試完成階段,模組間的介面錯誤與問題已被發現與校正,此系統正式組合成可執行功能軟體,此時正是進入驗收測試階段,此階段以α-測試與β-測試執行方式,以驗證系統功能符合並滿足使用者的真正需求。
- 整體測試(System Testing)
目的是在系統正式上線作業執行前,確保整合後的醫院資訊系統在上線後能順利運轉,介面間對資訊的傳輸與溝通順暢,並將初期系統間不穩定得潛在因素與危機風險降到最低。
- 平行測試(Parallel Testing)
在醫院資訊系統運作執行中,同時需要導入新資訊系統的階段,又必須讓舊資訊系統繼續正常運作,因此新、舊系統必須進行平行測試,以比較兩者之間系統所產生數據的對應關係,或相互串連的流暢性與介面間溝通的正確性,以作為新系統執行順暢與否的重要參考依據。
補充:
白箱測試:著重於程式模組內的流程細節的確認,包含所撰寫的程式語言中的條件結構及迴圈結構等。
黑箱測試:主要觀察軟體元件的外部介面功能,是否與其他軟體元件間正確地相互溝通,作用範圍是集中於對程式模組輸入正確資料時,可否獲得正確資料輸出。
α-測試: 一般均由使用者親臨系統開發場所,並親自進行測試,而開發人員地須隨行於旁指導。
β-測試:一般是使用者於實際作業環境下操作系統,而開發人員不在現場,使用者必須自己獨立紀錄所發生的問題或錯誤。
參考:醫學資訊管理學(華杏出版)