《軟體測試的藝術》第一 二 三章總結

2021-10-03 10:59:35 字數 2395 閱讀 8118

在當前社會,使用軟體的機率幾乎百分之百,我們常見的電子裝置、汽車、在操作間運作的機器都是由程式嵌入進去工作的,所以軟體幾乎覆蓋了我們所有的生活。

要測試乙個程式並非程式表面的這麼簡單,例如測試三角形的程式,需要考慮的情況非常的多。在日常工作中,因為時間與其他條件的限制,我們會更多的傾向於執行那些是功能正確的用例,對於使程式或者功能錯誤的用例很少去執行。對於這些使軟體功能失敗的場景,一方面很多我們都沒有考慮到,另一方面我們可能更加想看見這個軟體功能時達到預期的、是正確的,而不想看見它失敗,因為我們的職責就是給客戶交付提供正確功能的軟體產品。對於是程式失敗的用例,我覺得可以在寫完是程式執行正確的用例之後,站在希望程式功能失敗的這一立場,去考慮有什麼場景可以使功能失敗,進而設計出好的用例。

測試是來增加程式的價值,是指測試提高了程式的可靠性或質量。提高可靠性,是指找出並最終修改了程式的錯誤。測試的目的不是證明這個軟體是沒錯的,而是去發現它潛在的錯誤。測試是為發現錯誤而執行程式的過程。

成功的測試用例時發現以前沒有發現的錯誤的用例,失敗的測試用例是沒有發現錯誤的測試用例。

黑盒測試又稱資料驅動的測試或者輸入/輸出驅動的測試;白盒測試又稱邏輯驅動的測試,允許我們檢查程式的內部結構。

窮舉法在場景較少且窮舉例子完整且少的情況下,可以使用,如果窮舉之後資料很大,最好別整體使用,挑具有代表性的資料進行嘗試。

測試用例中乙個必要的部分是對預期輸出或結果進行定義。

測試用例包含的必不可少的兩個部分:1、對程式的輸入資料的描述;2、對程式在上述輸入資料下的正確輸出結果的精確描述。

測試用例的編寫不僅應當根據有效和預期的輸入情況,而且也應當根據無效和未知的輸入情況。未預料到和無效的用例比有效的用例更能發現問題,例如檢驗是否為乙個三角形時,輸入:1,2,5。

檢查程式是否」未做其應該做的「僅是測試的一半,測試的另一半是檢查程式是否」做了其不應該做的「。

回歸測試:保留測試用例,當程式其他部件發生更動後重新執行,這就是我們所謂的」回歸測試「。

在設計用例或者執行用例時,不應該將不會發生的情況視而不見,測試用例需要加上,執行用例時需要執行。

程式發生錯誤的可能性與已發現錯誤的數量是成正比關係的,所以,如果發現了程式錯誤,並且還有發生錯誤的可能性,那麼程式很大可能還有其他未發現的錯誤。如果乙個部分測試發現比較多的錯誤,那一定要對這個模組進行多次測試。

軟體測試是為發現錯誤而執行程式的過程、盡量避免編碼人員測試自己的程式、好的測試用例能夠發現未知的錯誤、成功的測試需要仔細定義輸入輸出的期望值、成功的測試需要仔細研究分析測試的結果。

剛開始,軟體測試的唯一方法是在計算機上執行它。發現錯誤與改正錯誤的時間越早,節約的成本就越多。

**檢查、走查以及可用性測試是三種主要的人工測試方法。迭代的需求與新需求,迭代的需求發生的錯誤會更多。

資料引用會發生的錯誤:是否有引用的變數未賦值或未初始化、陣列中有沒有下標越界錯誤、陣列中的下表是否都為整數、是否有空指標、變數值的型別或屬性是否與編譯器所預期的一致、以關鍵字作為變數命名或者變數名中含有關鍵字都不可取。

運算中的錯誤:資料型別不一致的運算,例如:浮點數與整數的加法,或者相同的資料型別,不同字長變數間的運算。

比較錯誤:不同資料型別的變數之間的比較運算,如將字串與位址、日期或數字相比較、對於比較詞的混淆:至多、至少、大於、不小於、小於、等於等比較關係、邏輯表示式:與或非、以及比較運算子與邏輯運算子的混合使用。

控制流程錯誤:迴圈該終止的部分是否終止了,大的迴圈終止了,其中小的模組、子程式是否都終止了、迴圈入口執行是否滿足執行的條件、迴圈次數是否正確、終止條件是否正確。

介面錯誤:實參與形參的數量是否一致、實參與形參的型別是否一致、形參中是否存在常量、全域性變數是否與區域性變數混淆。

輸入/輸出錯誤:檔案屬性、屬性設定、讀取檔案的記憶體空間夠不夠、開啟檔案與關閉檔案、檔案將誒書的條件是否正確。

第一 二 三章習題總結

求無窮小的階數 如果是變上限函式積分,裡面可以用等價無窮小替換 判斷階數可以直接按照變上限的階數 底數階數 1 對於一點上的分段函式 如果函式連續,並且在該點去心鄰域內可導,導函式極限存在,則導數值等於函式值 證明 使用定義,然後用洛必達證明 問題 如何求分段函式在分界點上的導數 定義,採用導數的定...

演算法競賽入門經典 第一,二,三章學習筆記

我的第七篇部落格,加深一下基礎,從小白書學起.先總結一下以前看過的第一二三章內容,加深記憶.1.輸入double使用 lf,輸出用 f 2.交換a,b值的玄學操作 a b b a b a b 或者a b a b 3.printf輸出 可以用 重視實驗,學會模仿,遵守規範.1.盡量縮小變數定義範圍.2...

軟體測試的藝術第三章總結

所謂 檢查是以組為單位閱讀 它是一系列規程和錯誤檢查技術的集合。對 檢查的大多數討論都集中在規程 所要填寫的 等。協調人,協調人應該是個稱職的程式設計師,但不是該程式的編碼人員,不需要對程式的細節了解得很清楚 程式的編碼人員 程式設計人員 測試專家 由程式編碼人員逐條語句講述程式的邏輯結構。在講述的...