<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 什么是白盒測試? 技術,示例,類型&工具 > 原文: [https://www.guru99.com/white-box-testing.html](https://www.guru99.com/white-box-testing.html) ## 什么是白盒測試? **白盒測試**正在測試軟件解決方案的內部結構,設計和編碼。 它也稱為透明箱測試,開箱測試,結構測試,透明箱測試,基于代碼的測試和玻璃箱測試。 它通常由開發人員執行。 在這種類型的測試中,測試人員可以看到該代碼。 它主要側重于驗證通過應用程序的輸入和輸出流,改善設計和可用性,增強安全性。 它是**盒測試**方法進行軟件測試的兩個部分之一。 其對應的**黑盒測試**涉及從外部或最終用戶類型的角度進行測試。 另一方面,Whitebox 測試基于應用程序的內部工作原理,并圍繞內部測試展開。 因為透明框的概念,所以使用了“ WhiteBox”一詞。 透明框或 WhiteBox 名稱象征著能夠查看軟件外殼(或“框”)進入其內部功能的能力。 同樣,“ [黑盒測試](/black-box-testing.html)”中的“黑盒”表示無法看到軟件的內部工作原理,因此只能測試最終用戶的體驗。 在本教程中,您將學習- * [什么是白盒測試?](#1) * [您在白盒測試中驗證了什么?](#2) * [您如何執行白盒測試?](#3) * [白盒測試示例](#4) * [白盒測試技術](#5) * [白盒測試的類型](#6) * [白盒測試工具](#9) * [白盒測試的優勢](#7) * [白盒測試的缺點](#8) ## 您在白盒測試中驗證了什么? 白盒測試涉及以下軟件代碼的測試: * 內部安全漏洞 * 編碼過程中路徑損壞或結構不良 * 通過代碼的特定輸入流 * 預期產量 * 條件循環的功能 * 分別測試每個語句,對象和功能 測試可以在軟件開發的系統,集成和單元級別進行。 白盒測試的基本目標之一是驗證應用程序的工作流程。 它涉及針對預期或期望的輸出測試一系列預定義的輸入,以便當特定輸入未產生預期的輸出時,您會遇到錯誤。 ## 您如何執行白盒測試? 為了簡化白盒測試的解釋,我們將其分為**兩個基本步驟**。 這是測試人員使用白盒測試技術測試應用程序時所做的事情: 第 1 步)了解源代碼 測試人員經常要做的第一件事是學習和理解應用程序的源代碼。 由于白盒測試涉及對應用程序內部工作的測試,因此測試人員必須非常了解所測試應用程序中使用的編程語言。 另外,測試人員必須高度了解安全的編碼做法。 安全通常是測試軟件的主要目標之一。 測試人員應該能夠發現安全問題,并防止黑客和幼稚用戶的攻擊,他們可能有意或無意將惡意代碼注入應用程序。 **步驟 2)創建測試案例并執行** 白盒測試的第二個基本步驟涉及測試應用程序的源代碼,以獲取正確的流程和結構。 一種方法是編寫更多代碼以測試應用程序的源代碼。 測試人員將為應用程序中的每個過程或一系列過程開發很少的測試。 此方法要求測試人員必須對代碼有深入的了解,并且通常由開發人員完成。 其他方法包括[手動測試](/manual-testing.html),試用和錯誤測試,以及測試工具的使用,我們將在本文中進一步進行解釋。 <center>![](https://img.kancloud.cn/f8/f9/f8f9921635bdc582bfa440399361f91b_265x296.png)</center> ## 白盒測試示例 考慮以下代碼 ``` Printme (int a, int b) { ------------ Printme is a function int result = a+ b; If (result> 0) Print ("Positive", result) Else Print ("Negative", result) } ----------- End of the source code ``` 軟件工程中 WhiteBox 測試的目標是驗證代碼中的所有決策分支,循環,語句。 為了執行上述代碼中的語句,WhiteBox 測試用例應為 * A = 1,B = 1 * A = -1,B = -3 ## 白盒測試技術 白盒測試的主要技術是代碼覆蓋率分析。 代碼覆蓋率分析消除了[測試用例](/test-case.html)套件中的空白。 它標識一組測試用例未執行的程序區域。 一旦發現差距,就可以創建測試用例來驗證未經測試的代碼部分,從而提高軟件產品的質量。 有自動工具可以執行代碼覆蓋率分析。 以下是箱式測試儀可以使用的幾種覆蓋率分析技術: **語句覆蓋率**:-此技術要求在軟件工程的測試過程中,至少對代碼中的所有可能語句進行一次測試。 **分支覆蓋范圍-**該技術檢查軟件應用程序的每個可能路徑(if-else 和其他條件循環)。 除了上述內容外,還有許多覆蓋類型,例如條件覆蓋,多個條件覆蓋,路徑覆蓋,功能覆蓋等。每種技術都有其自身的優點,并嘗試測試(覆蓋)軟件代碼的所有部分。 **使用語句和分支覆蓋率,通常可以達到 80-90%的代碼覆蓋率。** Following are important WhiteBox Testing Techniques: * 聲明范圍 * 決策范圍 * 分行覆蓋 * 條件覆蓋 * 多條件覆蓋 * 有限狀態機覆蓋率 * 路徑覆蓋 * 控制流測試 * 數據流測試 請參閱本文以了解更多詳細信息。 [https://www.guru99.com/code-coverage.html](/code-coverage.html) ## 白盒測試的類型 *白盒測試*包含幾種用于評估應用程序,代碼塊或特定軟件包的可用性的測試類型。 以下列出- * **單元測試:**通常是在應用程序上進行的第一類測試。 [單元測試](/unit-testing-guide.html)在開發的每個單元或代碼塊上執行。 單元測試本質上是由程序員完成的。 作為軟件開發人員,您需要開發幾行代碼,單個函數或對象,并對其進行測試,以確保其能夠正常工作,然后再繼續進行單元測試,以幫助在軟件開發生命周期的早期識別出大多數錯誤。 在此階段發現的錯誤更便宜且易于修復。 * **測試內存泄漏**:內存泄漏是導致應用程序運行緩慢的主要原因。 在您的軟件應用程序運行緩慢的情況下,具有檢測內存泄漏經驗的質量檢查專家至關重要。 除上述之外,黑盒和白盒測試均包含一些測試類型。 它們列出如下 * **白盒[滲透測試](/learn-penetration-testing.html):**在此測試中,測試人員/開發人員具有應用程序源代碼的完整信息,詳細的網絡信息,涉及的 IP 地址以及應用程序在其上運行的所有服務器信息。 目的是從多個角度攻擊代碼以暴露安全威脅 * **白盒突變測試**:突變測試通常用于發現用于擴展軟件解決方案的最佳編碼技術。 ## 白盒測試工具 以下是頂級白盒測試工具的列表。 * [Parasoft Jtest](http://bit.ly/2V8ypxo) * [EclEmma](https://www.eclemma.org/download.html) * [NUnit](http://nunit.org/) * [PyUnit](https://www.guru99.com/python-unit-testing-guide.html) * [HTMLUnit](http://htmlunit.sourceforge.net/) * [CppUnit](https://sourceforge.net/projects/cppunit/) ## 白盒測試的優勢 * 通過發現隱藏的錯誤進行代碼優化。 * 白盒測試用例可以輕松實現自動化。 * 由于通常涵蓋所有代碼路徑,因此測試更加徹底。 * 即使沒有 GUI,也可以在 SDLC 中盡早開始測試。 ## 白盒測試的缺點 * 白盒測試可能非常復雜且昂貴。 * 通常執行白盒測試用例的開發人員會討厭它。 開發人員未對白盒進行詳細測試會導致生產錯誤。 * 白盒測試需要專業資源,并且對編程和實現有詳細的了解。 * 白盒測試非常耗時,較大的編程應用程序需要花費大量時間才能進行全面測試。 **尾注:** * 白盒測試可能非常復雜。 涉及的復雜性與要測試的應用程序有很大關系。 一個執行單個簡單操作的小型應用程序可以在幾分鐘內進行白盒測試,而大型編程應用程序則需要數天,數周甚至更長的時間才能完全測試。 * 軟件測試中的白盒測試應在編寫軟件應用程序時進行,因為它是在編寫之后以及每次修改后都要開發的
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看