簡體   English   中英

路徑測試和分支測試

[英]path testing and branch testing

你能解釋一下Path和Branch測試之間的區別嗎?

我讀過許多文章,但我仍然對這兩者感到困惑。

我在堆棧溢出搜索但我沒有找到任何合適的答案請通過提供鏈接幫助我,如果我復制這個問題。

謝謝,

快速摘要

摘自https://www.cs.drexel.edu/~jhk39/teaching/cs576su06/L4.pdf

路徑測試:

  • 100%路徑覆蓋率。
  • 通過程序執行所有可能的控制流路徑。

聲明測試:

  • 100%的聲明覆蓋率。
  • 在一些測試中至少執行一次程序中的所有語句。

分支測試:

  • 100%分支機構覆蓋率。
  • 執行足夠的測試以確保在某些測試下每個分支替代方案至少已被執行一次。

通常路徑測試> =分支測試> =語句測試,就他們在系統正確性方面可以提供多少信心而言。

討論

路徑覆蓋率通過執行的程序計算從輸入到輸出的完整路徑的數量,而分支覆蓋率計算在任何時間點測試的分支的數量。 在此定義中,完整路徑覆蓋將導致完整的分支覆蓋。

可能存在多個路徑命中單個條件語句,並且完整路徑覆蓋可以測試不同的變體(因為在if語句內部可以調用外部資源,哪個分支覆蓋不會識別)。 分支覆蓋更像是測試分支在某個時刻被命中,並且參數被正確地傳遞給模擬外部資源(不一定是后來的)。

如下所示: https//www.cs.drexel.edu/~jhk39/teaching/cs576su06/L4.pdf ,我們有時可以通過流程圖表示所有路徑的集合,目標是驗證從開始的每個路徑結束在路徑測試中按預期工作。

分支測試附加說明

從這里: 分支測試

Testing in which all branches in the program source code are tested at least once

路徑測試附加說明

從這里: http//www.qualitytesting.info/forum/topics/what-is-difference-between-2http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/網絡/測試/ PathTest.html

A path is a sequence of executable statements. Testers are concerned with
"entry-exit paths", which begin at the entry point into a given process and
proceed to its exit point. 

The objective of path testing is to ensure that each independent path through
the program is executed at least once. An independent program path is one that
traverses at least one new edge in the flow graph. In program terms, this means
exercising one or more new conditions. Both the true and false branches of all
conditions must be executed.

基礎路徑測試,結構化測試或白盒測試技術,用於設計測試用例,旨在至少檢查一次所有可能的執行路徑。 為所有可能的路徑創建和執行測試會產生100%的語句覆蓋率和100%的分支覆蓋率。

分支覆蓋是一種測試方法,旨在確保每個決策點的每個可能分支至少執行一次,從而確保執行所有可到達的代碼。

也就是說,每一個分支都采用各種方式,無論是真是假。 它有助於驗證代碼中的所有分支,確保沒有分支導致應用程序的異常行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM