21 軟體測試(software testing)中,下列何種方法是使用一組測試資料讓軟體的每一條指令最少執行一次?
(A)Alpha testing
(B)Basis path testing(基本路徑測試)
(C)Beta testing
(D)Black-box testing(黑箱測試)
答案:登入後查看
統計: A(62), B(497), C(65), D(54), E(0) #2790017
統計: A(62), B(497), C(65), D(54), E(0) #2790017
詳解 (共 2 筆)
#5734235
α (Alpha) 是第一階段,一般只供内部測試使用;
β (Beta) 是第二階段,已經消除了軟件中大部分的不完善之處;
γ (Gamma) 是第三個階段,此時產品已經相當成熟,只需在個別地方再做進一步的優化處理即可上市發行。
基本路徑測試(basis path testing):會產生一組測試數據,可以讓軟體的每個敘述最少執行一次
|
白箱測試:
白箱測試又可是稱作 透明箱測試(glass box testing) 或者是 結構測試(structural testing),這種方法是以靜態的方式來檢驗軟體,說靜態可能會人聽不太懂,簡單來說,就是從軟體本身的結構,來判定其內部的資料應該要何去何從,檢驗的內容,主要分成兩個層面: 資料流程面(Data flow coverage) 與 控制流程面(Control flow coverage),比方說,今天我寫了一個程式來計算 A + B 的結果,如果以白箱測得的方法來檢驗,它就會去看是否 A 和 B 的直是否有正確的加總並放到目標的位置去,要是原本是要方到 C 的資料,結果卻放到 D 中,這就代表在資料流程面上有錯誤發生了,再來他會去看是否是先把 A 與 B 的直放入目標位置之後再進行計算,若是在 B 的值還未被載入時,A + B 就已經被執行的話,那就代表在控制流程面上出錯了,像這樣子,白箱測是大概就是如此來進行,當然,實際上需要進行測試的軟體的並不會像我所舉的例子一樣簡單,有可能會是多人分工合作所編寫的大型軟體,由於進行測試的人必須要分常清楚該軟體的整體架構以及內部的資料流程才能進行這項測試,而且除了上述的資料流程面以及控制流程面以外,白箱測試還有許多其他的層面需要檢測,這些因素往往會使白箱測試變得相當的複雜,導致測試的難度大幅提升,因此現在通常都使用自動化的工具來輔助這項檢測的執行,總而言之,白箱測試就是要知道"軟體該怎麼去做事"並進行測試,不過想當然爾,白箱測試也不是萬能的,它也有檢測不出來的錯誤,這時,我們就需要依靠黑箱測試了。
ㅤㅤ
黑箱測試:
黑箱測試,又名功能測試(functional testing),相對於白箱測試,這種方法主要是以動態的方式來檢驗軟體,也是就經由實際運行軟體來測試,測試的人不需要去了解軟體的內部結構以及資料流程,只需要去檢測軟體的輸入、輸出以及實際的運行狀況,比方說我寫了一個計算 A + B 的程式,並限定輸入是"阿拉伯數字",這時我輸入的 "5" 以及 "四",由於其中一個輸入不符合規定,所以輸出應該是 "無效的輸入",但是如果這時軟體輸出 "9" ,那就代表出錯了,但是,如果今天軟體的要求是"不論輸入阿拉伯數字或者是國字都能進行運算",那麼正確的輸出反而應該是 "9",其實也就是看該軟體有沒有達到所需求的功能,另外,如果我的軟體在運行中遭到駭客的攻擊,那我的軟體功能使否還能正常的運作,這也是黑箱測試的檢驗內容,總而言之,黑箱測試就是只要知道"軟體該做到哪些事情"並進行測試。
ㅤㅤ
有些錯誤是白箱測的出來,而黑箱測不出來的,反之,有些錯誤是黑箱測的出來,而白箱測不出來的,只能說兩者皆不是完美的檢測方法,只不過一般的測試方法大約都可以分在這兩類中,而在測試時,也不是限定只能用一種方法,通常都會用到兩種以上的測試方法,希望經過以上的講解之後,大家能對測試這方面能有更進一步的了解。
|
https://sites.google.com/site/nutncsie10412/ge-ren-jian-jie/bai-xiang-yu-hei-xiang-ce-shi
6
0