作者:謝品安/白國巍
企業客製化系列課程今年最後一場實體課程,負責壓軸的是詮隼科技技術長劉恩與他的好伙伴,詮隼科技特別助理齊若堯,兩位在10/21於 digiBlock C 數位新創基地,跟大家分享 5G SDN/NFV軟體測試與管理。
軟體測試簡介
詮隼科技的特別助理齊若堯首先介紹了軟體測試的目的。即測試為評估產品的功能性。其目的為找出產品是否符合需求說明、確認預期與實際結果間的差異以及發現缺失漏洞,以確保產品無缺陷,進而產出高品質產品的過程。和常見的故常排除比起,軟體測試屬於預防性的錯誤排除,可以避免事故發生後才做修改。
測試又可以從是否執行待測試程式中,分成靜態測試與動態測試。靜態測試透過五大審核步驟(Planning、Initiate Review、Individual Review、Issue Communication/Analysis、Fixing & Reporting),在不執行程式的前提下,對程式的語法、結構、介面等,進行完整的審查與修改,進而提升測試程式的質量。動態測試則是執行程式,並比較預期與實際執行結的差異性。通過黑盒、白盒和灰盒測試,對程式碼的功能進行驗證,從而改善其功能性。
軟體測試流程
了解了軟體測試的基本知識後,詮隼科技技術長劉恩成講述了軟體開發的模型與生命週期、測試驅動的開發和5G垂直應用測試實務。
軟體開發從 Pul Rook 於1980後期提出的V模型,一路出現了W、H、X模型。雖然每種模型都有一定程度的差異性,但共同的目的都是為了組織專案管理提高生產高質量軟體的效率。軟體測試的生命週期從需求分析、測試規劃、測試項目開發、測試環境設置、執行測試一直到結束生命週期,最後便是一個符合需求且可以執行的程式。
為了能夠順利測試軟體,測試驅動開發(Test-Driven Development, TDD)便成為重要的關鍵。測試驅動的要點在於選定一個功能並新增測試案例,若執行測試失敗則做最低限度實作,當執行測試成功時,便可以重構程式達到可讀、可擴充和更好效能的成果。
而軟體測試在5G的實務應用上,功能性、互通性、效能和安全性的測試成為了主流的測試趨勢。透過ORANge 5G測試系,統整合測試手法與工具,提供標準與非標準測試行為。並協助解決接入場域問題、5G系統穩定性品質與效能量測。提供協定分析工具和標準行為諮詢,以及資安測試與分析,確保整體垂直應用場域安全性。
軟體測試管理
最後同樣是由詮隼科技技術長劉恩成解釋行為驅動開發、軟體生命週期、安全的軟體生命週期和測試管理與CI/CD。
行為驅動開發(Behavior Driven Development, BDD)著重在實務上軟體是否府符合設計需求,不同於TDD,BDD選定一個「有商業價值的期望行為」並新增測試案例,進而產出大家都滿意的軟體。
軟體生命週期(System Development Life Cycle, SDLC)描述了一個資訊系統從規劃、建立、測試到最終完成部署的全過程。SDLC屬於功能性導向,如何在最短的時間,完成系統的開發與上線是主要的考量。因此,缺乏安全性考量的設計,面對日新月異的攻擊手難以建立有效的防護方法,保護系統的安全,如:資料隱碼攻擊。安全的軟體生命週期(Security System Development Life Cycle, SSDLC)在SDLC的關鍵五步驟中(系統設計、開發、整合與測試、驗收安裝部署、維護),添加了必要的資安措施考量,以降低後續維護的成本及減少攻擊損失。最後,再結合CI/CD釋出一個構建過程一系列自動化測試來驗證程式碼的準確性。
小結
軟體測試鑑定了軟體本身的功能性、效能和安全性,達到不同使用者的需求。詮隼科技的兩位講師分別講述了開發軟體中測試軟體的重要性,以及如何測試。並詳細解釋了軟體測試的生命週期和測試驅動的開發。
- 【活動報導】5G SDN/NFV軟體測試與管理 - 2021/10/24
- 【活動報導】5G SDN/NFV網路設計實務 - 2021/10/19
- 【活動報導】SDN網路技術與Mininet實現分析 - 2021/10/11