測試是為發現錯誤而執行程式的過程
通過測試來增加程式的價值,是指測試提高了程式的可靠性或質量。提高了程式的可靠性,是指找出並最終修改了程式的錯誤。因此不要只是為了證明程式能夠正確執行而去測試程式;相反,測試用例中乙個必需部分是對預期輸出或結果的定義應該一開始就假設程式中隱藏著錯誤(這種假設對於幾乎所有的程式都成立),然後測試程式,發現盡可能多的錯誤
如果我們的目的是證明程式中不存在錯誤,那就會在潛意識中傾向於實現這個目標,也就是說,我們會傾向於選擇可能較少導致程式失效的測試資料。另一方面,如果我們的目標在於證明程式中存在錯誤,我們設計的測試資料就有可能更多地發現間題
把程式當成病人,要找出**
程式設計師應當避免測試自己編寫的程式
編寫軟體的組織不應當測試自己編寫的軟體
應當徹底檢查每個測試的執行結果
測試用例的編寫不僅應當根據有效和預期的輸入情況,而且也應當根據無效和未預料到的輸入情況
檢查程式是否「未做其應該做的」僅是測試的一半,測試的另一半是檢查程式是否「做了其不應該做的」
應避免測試用例用後即棄,除非軟體本身就是乙個一次性的軟體
計畫測試工作時不應默許假定不會發現錯誤
程式某部分存在更多錯誤的可能性,與該部分已發現錯誤的數目成正比
軟體測試是一項極富創造性、極具智力挑戰性的工作
軟體測試是為發現錯誤而執行程式的過程
乙個好的測試用例具有較高的發現某個尚未發現的錯誤的可能性
乙個成功的測試用例能夠發現某個尚未發現的錯誤
軟體測試 第二章軟體測試的分類
按測試技術怎麼劃分?按測試階段怎麼劃分?按測試內容怎麼劃分?按測試方法怎麼劃分?定義 直接在軟體的源程式上進行測試 修復 複測 依據 設計文件 測試人員 開發人員 測試驅動程式 需要編寫測試驅動程式 介於白盒和黑盒之間,是2者的結合 定義 只是從乙個終端使用者的角度,根據產品說明書的指標,從外部測試...
第二章軟體測試基礎
軟體測試 使用人工和自動手段來執行或測試某個系統的過程,其目的在於檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。為什麼需要軟體測試 人本身容易犯錯 時間的壓力 複雜的外部系統 複雜的 複雜的系統架構。軟體測試的目的 發現缺陷,提高質量 驗證是否滿足需求 建立軟體質量信心 軟體測試的原...
第二章,軟體測試技術
通過本章學習,你能學dao 軟體測試 測試是乙個以在程式被交付到終端使用者手上之前找到程式中的錯誤為目的的活動。測試是檢查產品的質量,而不是檢查開發人員得質量 為啥要測試?基於不同的立場,存在著兩種完全不同的測試目的。從使用者的角度的出發,普遍希望通過軟體測試暴露軟體中隱藏的 錯誤和缺陷,以考慮是否...