0
我有技術測試分析師的高級軟件測試第3卷書,並且在第4節 - 測試技術中的動態分析上有這個問題,第321頁。請有專業知識的人,請確認他們認爲答案是什麼,因爲書後面的答案讓我非常吃驚,這讓我很生氣!重讀本書的相關部分也沒有幫助。教科書中的動態分析練習 - 答案令人驚訝
Consider the following list:
I. Memory loss due to wild pointers
II. Profiling performance characteristics of a system
III. Failure to initialize a local variable
IV. Argument error in Windows 32 API call
V. Incorrect use of a equality operator in a predicate
VI. Failure to place a break in a switch statement
VII. Finding dead code
Which of these are most likely to be found through the use of a dynamic analysis tool?
A. I, III, IV and VII
B. I, II, III, IV and VI
C. I, II and IV
D. II, IV and V
感謝您的解釋。不幸的是,爲了增加我的疑惑,LinkedIn上的一位熟人聯繫了本書的合着者,他們說答案實際上是C(這是我的目的),而A是一個錯誤。 – simien
對於不選擇A的理由是,根據靜態分析/動態分析部分中的相同教科書以及ISTQB教學大綱,「III」和「VII」歸因於靜態工具和技術。 (另外還有關於代碼評論(也就是靜態方法)的書第423頁的練習,作者指出變量沒有被初始化,我同意'II'在其描述中看起來很片斷,這些書不是真的證明了這一點; ISTQB課程大綱做得更多......最終它是排除過程 – simien
項目'III'和'VII'涵蓋了各種不同的情況,其中一些可以通過一種方法或另一種方法更好地處理。例如,在死代碼的情況下,'if(false)'語句中的代碼顯然已經死了,可以通過靜態分析找到,但是如果'flag'會導致if(flag)總是根據系統的運行條件評估爲false,靜態分析可能無法解決這個問題,但動態分析可能會注意到該代碼從未在長時間運行的測試中執行過,總而言之,這是一個非常主觀的問題。 –