趙亞清
天津環投數字科技有限公司 天津 300452
軟件測試是驗證交付的軟件能夠達到預期的功能需求,或者檢測軟件的實際輸出功能與預期的功能之間是否存在差異,以及軟件在安全性、功能性、容錯性、穩定性方面是否滿足要求。軟件測試最終目標是發現開發的軟件是否存在錯誤。一般來說,是從用戶使用的視角出發,通過測試發現軟件中存在不符合預期的功能、隱藏的錯誤與缺陷。從開發者的視角出發分析,希望開發的軟件不存在錯誤、具有容錯異常處理能力,是一個成熟可靠,具有高質量的“藝術品”,以保證開發的軟件能夠滿足客戶的要求,對用戶是友好易操作的,以此來提高用戶對軟件使用的信心[1]。
隨著軟件開發領域的需求日益增加,軟件測試已經是其開發過程中重要的一部分,國家也越來越注重對軟件測試人員的培養。軟件測試是發現軟件程序中隱藏的錯誤而施行的操作過程,換而言之軟件測試就是為軟件可靠性而生的,只有軟件通過測試系統才能擁有高可靠性。如果一個沒有通過測試的軟件就給用戶使用,那就不能保證在使用過程中是否會出現的各種錯誤,甚至會影響整個計算機系統的運行,這樣用戶體驗極差,同時用戶的信賴度也隨之下降。怎么樣才能保證軟件的質量,我們需要通過軟件測試來得到保證,而且要保證測試用例一定是合理與適當的,并且一定要按照軟件開發的生命周期來進行:首先是需求分析、依次是系統設計、再次編碼實現、然后是軟件測試、最后是運行維護。軟件測試在整個軟件開發過程中充當的是校驗者,有了這個校驗者工作才不會出差錯,做出來的成品質量也是有保證的[2]。
單元測試法是軟件測試方法中的一種,它先對軟件測試進行分塊,然后針對不同的單元設計相應的測試方式。這種方法可以實現對計算機軟件的詳細檢查,使得軟件運行的質效得到有效保障。值得注意的是,采用該方法需要具備良好的計算機和軟件技術基礎,這是因為單元測試法需要對軟件運行的每一個細節都進行檢查,盡可能發現細微處的漏洞。如果對計算機系統和軟件各個模塊的功能以及原理不能準確掌握,那么在劃分測試單元和設計單元測試方式時就難免存在疏漏,進而會影響到測試結果的可靠性[3]。
集成測試法主要是指在單元測試結束后,對軟件整體進行測試時用到的一種方法。它主要是對相關的接口進行檢測,因為接口出錯會影響到軟件的正常運行,此方法一般需要通過大面積的元件檢測來實現。通過集成測試,可以發現軟件運行中的一些不足之處,然后再對其進行進一步的探究,使得軟件的運行漸趨完善。集成測試時需要按照一定的次序開展,這可以使對軟件的檢測更加細致,很多細節問題尤其是接口問題也更易于被發現。
所謂邏輯驅動測試法,也就是常說的白盒測試法,它主要是對軟件的程序進行測試。在實踐應用中,邏輯驅動測試就是對程序的運行路徑進行測試,并在此基礎上對軟件進行系統性分析。采用該方法前,應該對軟件的整體結構和運行功能進行系統的調研分析,然后再開展測試。
測試過程中主要是對軟件程序的執行速率和相關路徑信息進行獲取,然后在這些獲取信息數據的基礎上對其進行系統性的整理和分析。值得注意的一點是,該方法主要是對軟件代碼的執行路徑和速率進行測試,對軟件程序的功能實現缺乏有效關注,所以在實踐應用中還存在一些不足之處。比如軟件程序如果不完整,那么采用邏輯驅動測試法一般難以找到原因;又比如軟件數據出錯,該方法也難以發現軟件中存在的問題。因此,在采用該方法時,要求測試人員應該對軟件程序的要求進行明確掌握,并在應用中輔助采用一些相關的技術手段,這樣才能最大限度地確保軟件測試結果的有效性。
一是標準化軟件測試規范及體系。明確規定軟件測試工作流程、團隊建設模式、軟件測試不同階段工作內容以及預期取得的成果,統一化軟件測試工作文檔格式及內容,對軟件測試工作的不同階段內容制定可行性較高的標準體系。二是構建軟件測試案例庫。持續完善軟件測試案例庫,有助于提升軟件測試案例的利用率,能夠盡早確定系統問題的來源,縮短問題分析及問題解決方案制定所需要的時間,避免此類問題再次發生,真正提升軟件測試效率,保障軟件質量。
可以從兩方面入手:一是加強溝通交流。就調查發現,很多軟件項目的測試工作介入時間相對較晚,并且開發人員和測試人員基本不存在溝通交流,為了避免上述問題,就要加強溝通交流,這樣可以讓測試人員更快了解測試內容,快速找到軟件存在的問題點,與同事分享發現的問題,將所有的問題歸類處理,錄入案例庫,設計人員在受到測試報告以后,可以與測試人員溝通交流,共同討論出一個科學的解決方案,這樣可以加快開發進度,提高軟件質量。二是加強測試團隊的建設。軟件測試面臨的最大的問題就是“重開發輕測試”,甚至出現測試資金不足的現象,為此要摒棄這種不合理的思想,加強對測試人員的合理培訓,引進一些先進的測試技術及方法,不斷提高測試人員綜合素養,掌握更多的專業測試技能。
計算機軟件在各行各業的應用,使得生產的效率得以大大提高,人們的生活質量也有了顯著提升。與此同時,我們也要清醒地認識到,當前計算機軟件的普及應用,人們的生活和工作已經對其形成了較強的依賴,一旦出現故障或設計缺陷,造成的影響將十分巨大,所以有必要對計算機軟件開展測試工作,以確保其投入運用后的運行可靠性。