在進入軟體測試行業之初,很多人都會存在下面最原始的問題,我稱之為「測試三問」:
1、什麼是軟體測試?
2、為什麼會有或會需要做軟體測試?
3、軟體測試的目的是什麼?
答:
一、什麼是軟體測試?
軟體測試是乙個過程。是乙個質量保證中的乙個環節,是乙個驗證被測產品是否符合客戶需求的過程。而且是乙個有計畫、有規律、有組織的活動。
二、為什麼會有或需要進行軟體測試?
先簡單來描述乙個邏輯:
第一、隨著資訊化的發展,我們在各行各業使用了越來越多的軟體。一方面為我們提高工作效率,一方法豐富了我們的生活,甚至在有些行業已經離不開相關的專業軟體;
第二、既然這些軟體為我們工作,我們就需要它正確的為我們工作,否則會給我們帶來不必要的麻煩甚至是危害;
第三、既然如此,我們在使用軟體之前,就需要知道它能不能如我們所需要的那樣工作。
這樣,就產生乙個需求:對軟體進行測試。
有需要就會產生使其存在,以上簡單的回答了上面第二個的問題。
不僅如此,在很多軟體在從程式設計師手中開發完之初,都會有或多或少的問題,更是提出了軟體測試的必要性,隨著時間推移,逐漸催生了軟體測試行業。
軟體測試是為了保證我們的軟體產品的質量。那麼什麼是我們軟體產品的質量?如何才能說我們保證了我們軟體產品的質量呢?
我們說如果我們實現了客戶的所有要求,同時保證了程式執行的效率,保證了程式的可讀性,可維護性,那麼我們就保證了我們軟體產品的質量。
前面這些點是我們軟體測試的最最核心的思想。我們的一切軟體測試活動都是為了保證這個核心思想而存在的,為了保證這個核心思想,出現了軟體測試工程,出現了軟體測試這個專門的學科。
三、軟體測試的目的是什麼?
在談到軟體測試目的時,許多人都引用grenford j. myers在《the art of software testing》一書中的觀點:
1、軟體測試是為了發現錯誤而執行程式的過程;
2、測試是為了證明程式有錯,而不是證明程式無錯誤;
3、乙個好的測試用例是在於它能發現至今未發現的錯誤;
4、乙個成功的測試是發現了至今未發現的錯誤的測試。
這種觀點可以提醒人們測試要以查詢錯誤為中心,而不是為了說明軟體的正確性,實際上大部分未經過測試軟體產品都或多或少的存在著錯誤。
但是僅憑字面意思理解這一觀點可能會產生誤導,認為發現錯誤是軟體測試的唯一目,查詢不出錯誤的測試就是沒有價值的,事實並非如此。
首先,測試並不僅僅是為了要找出錯誤。通過分析錯誤產生的原因和錯誤的分布特徵,可以幫助專案管理者發現當前所採用的軟體過程的缺陷,以便改進。同時,這種分析也能幫助我們設計出有針對性地檢測方法,改善測試的有效性。
其次,沒有發現錯誤的測試也是有價值的,完整的測試是評定測試質量的一種方法。
新手學PHP必看
1.概要 學習任何語言都需要多看 多想 多寫 多問!寫程式設計是一種熟能生巧的東西!學習php也一樣,因為知識就那麼多,你看多了就會覺得怎麼都一樣。程式設計師就是炒冷飯的,一遍又一遍。多敲幾遍就可以閉著眼睛寫了,所以企業招聘都會問你寫過多少行 的!程式設計師最忌諱浮躁,有時候發現一段程式完全找不出錯...
新手學習Docker必看
1.為什麼要學docker 答 避免一種情況 我的機器上可以執行,為什麼你的不可以?很多時候,我們想把自己的程式拿給別人執行,別人往往直接拷貝過來是不可以直接用的,甚至怎麼改 怎麼修改環境都用不了,那怎麼辦?docker就是為了解決這個尷尬而出現的。2.docker的作用 答 a.解決執行環境不一致...
新手學PHP必看
1.概要 學習任何語言都需要多看 多想 多寫 多問!寫程式設計是一種熟能生巧的東西!學習php也一樣,因為知識就那麼多,你看多了就會覺得怎麼都一樣。程式設計師就是炒冷飯的,一遍又一遍。多敲幾遍就可以閉著眼睛寫了,所以企業招聘都會問你寫過多少行 的!程式設計師最忌諱浮躁,有時候發現一段程式完全找不出錯...