軟體及分類
軟體包括:產品文件、程式、資料
- 按層次分類:系統軟體、應用軟體
- 按組織分類:商業軟體(windows,qq)、開源軟體(是否開放原始碼)
- 按結構分類:單機軟體、分散式軟體
軟體缺陷的定義
- 軟體沒有實現產品說明中的要求
- 軟體實現了產品說明中不應該出現的功能
- 軟體實現了產品說明中為提到的功能
- 軟體未實現產品說明中未明確但應該實現的功能
- 軟體難以理解,不易使用,執行緩慢,以使用者的視角認為不好
所有不滿足需求或者超出需求的都是缺陷
沒有不存在缺陷的軟體,只有迄今未發現的缺陷
軟體測試的定義和目的
- 正向思維的定義:相信軟體能夠正常工作,然後正常測試
- 反向思維的定義:測試的目的是為了證明軟體有缺陷
- IEEE定義的軟體測試:
- 廣義的軟體測試
- 軟體測試的目的
- 測試和除錯的區別
- 軟體測試的物件
軟體測試的目的
軟體工程
瀑布模型
- 優點
- 為專案提供了按階段劃分的檢查點
- 當前階段完成後,只需要關注後一階段
- 缺點
- 強調先後順序的嚴格執行,前階段不完成,後階段不開始
- 將測試放在了編碼之後,沒有體現測試貫穿軟體生命週期的原則(可以避免需求的問題一直到程式碼完成才被發現)
- 不適應使用者需求的變化