軟體測試 - 存根
開發一個易於使用並確保高質量的軟體需要考慮多個因素。驅動程式和存根在測試過程中起著重要作用。它們被用作尚未準備好開發的模組的替代品。因此,藉助驅動程式和存根,即使軟體開發仍在進行中,也可以開始測試。
驅動程式和存根用於尚未開發、缺失或正在開發的元件。因此,驅動程式和存根都充當軟體原始元件的替代品。它們能夠模擬缺失元件的功能。它們非常有助於最大限度地減少測試周期中的延遲,加快整個測試過程並提高測試效率。
什麼是軟體存根?
軟體存根用於自頂向下整合測試。它們由開發人員實現,作為軟體中缺失或尚未完全開發的特定單元的替代品。它們能夠模擬軟體中不可用模組的所有功能。當需要某些較低級別的元件進行測試但在此時無法訪問時,主要使用它們。
應該開發軟體存根,以便它們顯示跟蹤和顯示的訊息。它們還處理實際模組應該作用於的值。此外,它們獲取在測試時要使用的引數或引數。
當軟體需要與外部系統互動時,也使用存根。
存根流程圖

上圖清楚地表明,模組 1、2 和 3 可用於整合,而下面的模組仍在開發中,此時無法整合。因此,使用存根來測試模組。整合順序將為:
1,2 1,3 2,Stub 1 2,Stub 2 3,Stub 3 3,Stub 4
測試方法
+ Firstly, the integration between the modules 1,2 and 3 + Test the integration between the module 2 and stub 1,stub 2 + Test the integration between the module 3 and stub 3,stub 4
什麼是軟體驅動程式?
軟體驅動程式用於自底向上整合測試。它們建立的目的與存根相同,但是它們比存根複雜得多。當測試時某些模組由於某些原因仍未開發時,使用它們。因此,驅動程式充當這些缺失模組的替代品。當需要某些更高級別的元件進行測試但在此時無法訪問時,主要使用它們。此外,驅動程式和存根可以在測試時同時使用。
讓我們以一個電子商務為例,其元件包括登入、產品搜尋、支付、訂單摘要和幫助。始終建議並行開始所有元件的測試,以便一旦開發出其中一個元件,就可以將其與其他元件結合起來並進行驗證。但是,通常情況下,元件並未完全開發到可以用於測試的程度。在這種情況下,使用驅動程式和存根。
讓我們假設登入模組已準備好,但是產品搜尋模組的開發仍在進行中。此時,可以使用驅動程式或存根來模擬產品搜尋模組的工作。因此,如果某些模組仍然不可用,它們有助於繼續進行測試。同樣,如果從開發角度來看其他模組(如支付、訂單摘要和幫助)尚未完成,則可以使用驅動程式和存根。
驅動程式和存根是否執行相同的功能?
是的,驅動程式和存根執行相同的功能,並且由於一個依賴於另一個模組的模組不可用,因此可以在測試時使用它們。
存根和驅動程式之間的區別
序號 | 存根 | 驅動程式 |
---|---|---|
1 | 用於自頂向下整合測試。 | 用於自底向上整合測試。 |
2 | 被稱為被呼叫程式。 | 被稱為呼叫程式。 |
3 | 當較低級別模組不可用時使用。 | 當較高級別模組不可用時使用。 |
結論
本教程對軟體存根進行了全面的介紹。我們首先描述了什麼是軟體存根,什麼是軟體驅動程式,驅動程式和存根是否執行相同的功能,以及存根和驅動程式之間的區別。這使您掌握了軟體存根的深入知識。明智的做法是不斷練習您所學的內容,並探索與軟體測試相關的其他內容,以加深您的理解並拓寬您的視野。