■軟體未實現產品說明書要求的功能
■軟體出現了產品說明書指明不應該出現的功能
■軟體實現了產品說明書未提到的功能
■軟體未實現產品說明書雖未明確提及但應該實現的目標
■軟體難以理解、不易使用、執行緩慢或者(從測試的角度看)終端使用者會認為不好
所有不滿足需求或者超出需求的都是缺陷;沒有不存在缺陷的軟體,只有尚未發現的缺陷軟體測試發展
起源於上世紀70年代中期,出現了《測試資料選擇的原理》《軟體測試的藝術》;20世紀80年代關注軟體質量,出現了qc或者qa
正向思維
出發點:使自己確信產品是能夠正常工作的評價乙個程式和系統的特性或能力,並確定它是否達到期望的結果,軟體測試就是以此為目的的任何行為。也就是說讓自己相信軟體是沒有問題的,會因為錨點效應(先入為主)產生主觀的意識。
反向思維
由glenford.j.myers提出,認為測試是為發現錯誤而執行乙個程式或者系統的過程
◆測試是為了證明程式有錯,而不是證明程式無錯誤軟體測試的定義◆乙個好的測試用例在於它能發現以前未發現的錯誤
◆乙個成功的測試是發現了以前未發現的錯誤的測試
ieee定義的測試
■在規定條件下執行系統或構件的過程:觀察和記錄結果,並對系統或構件的某些方面給出評價
■分析軟體專案的過程 :檢測現有狀況和所需狀況之間的不同,並評估軟體專案的特性
廣義軟體測試定義
軟體測試是對軟體形成過程中的所有工作產品 (包括程式以及相關文件)進行的測試,而不僅僅是對程式的執行進行測試,包括驗證和確認兩個過程,驗證( verification )是通過檢查和提供客觀證據來證實指定的需求是否滿足;確認( validation )是通過檢查和提供客觀證據來證實特定目的的功能或應用是否已經實現。
以最少的人力、物力和時間找出軟體中潛在的各種錯誤和缺陷,通過修正各種錯誤和缺陷保障軟體質量,避免軟體發布後由於潛在的軟體錯誤和缺陷造成的隱患所帶來的商業風險。同時利用測試過程中得到的測試結果和測試資訊,作為後續專案開發和測試過程改進的重要輸入,避免在將來的專案開發和測試中重複同樣的錯誤;採用更加高效的測試管理手段,提高軟體測試的效率和軟體產品的質量
■測試需要保證以下兩點:
程式做了它應該做的事情以及程式沒有做它不該做的事情
軟體測試的目的是盡可能早的找出軟體產品中潛藏的缺陷,並確保其得以修復!測試和除錯的區別軟體測試只是保證產品質量的手段之一,若要提高產品質量,則需要持續不斷的進行過程改進
■在目標、方法和思路上有所不同
除錯的目標是沒有錯誤,測試的目標是零缺陷(不是絕對零,是指軟體發布後有缺陷但使用者可以容忍);除錯的方法依賴於工具,測試則可以進行手工測試和工具測試;
■測試是從已知的條件開始,使用預先定義的過程,並且有預知的結果;除錯是從未知的條件開始,結束的過程可能不可預計
■測試可以計畫,可以預先制定測試用例和過程,工作進度可以度量;描述除錯的過程或持續時間相對比較困難
■測試的物件包括軟體開發過程中的文件、資料以及**,而除錯的物件一般來說只是**
在計算機中與硬體相互依存的另外一部分,包括程式和文件,而程式包括**、演算法和資料。軟體中的文件主要分為外部文件和內部文件,外部文件比如幫助文件、使用者手冊、安裝指南、研究論壇等,也就是使用者能夠看到的文件。內部文件則包含開發文件、設計文件等。 軟體測試之 軟體缺陷
二 軟體缺陷分類 三.軟體缺陷的注意 四 缺陷的其他 軟體缺陷 defect 常常又被叫做bug。所謂軟體缺陷,即為計算機軟體或程式中存在的某種破壞正常執行能力的問題 錯誤,或者隱藏的功能缺陷。缺陷的存在會導致軟體產品在某種程度上不能滿足使用者的需要。ieee729 1983對缺陷有乙個標準的定義 ...
軟體測試學習筆記 軟體缺陷
軟體缺陷定義 軟體缺陷屬性 發現缺陷後,需要提交缺陷單,通常情況下,缺陷單需要包含以下的內容 id,標題 title 測試環境 environment 嚴重等級 severity 優先順序 priority 類別 category 狀態 status 描述資訊 description 重現步驟 re...
軟體缺陷分析
alan 缺陷分析本質上是對缺陷中包含的資訊項進行收集,彙總,分類之後使用統計方法 或者分析模型 得出分析結果。缺陷分析得出的結果可以用來度量軟體開發過程中各階段中工作產品的質量,了解缺陷集中的區域,明晰缺陷發展趨向。對於軟體過程的改進,軟體產品的發布來說具有十分重要的參考價值 在我們提交缺陷報告的...