何為軟件測試——給不懂軟件測試的小伙伴 | 當前位置: 首頁> 學習中心> 小白入門> 詳情 |
什么是軟件測試
軟件是一套運行在電腦端或者移動端的程序,例如微信、12306應用程序等。軟件是程序員用代碼寫出來的程序,程序員在編寫代碼的過程中,會存在書寫、邏輯、計算、未按需求開發等各種可能的問題。因此需要測試人員對程序員編寫的程序進行測試,以發現并移除這些問題。測試人員圍繞被測程序進行的所有測試相關的活動就是軟件測試。
為什么要進行軟件測試
軟件的產生需要客觀因素的催化,專業術語叫“需求”,也就是有人需要一款軟件用來解決他的問題。這款軟件具體要解決什么問題、需求人期望怎樣去操作這款軟件、業務流程是怎樣的,這些就是“需求”的具體內容。需求的挖掘和設計需要專門的人員去做,與程序員不是一批人。需求文檔輸出后,還需要做效果圖,也就是設計軟件的操作界面,專業術語叫“UE”。程序員根據需求文檔和UE稿來做代碼層面的設計,設計完成后再編寫代碼。
由此可以看出,一款軟件的完成,需要多方的合作。在合作銜接的過程中,需要充分理解對方的思路。比如,需求設計人員需要理解客戶,UE設計人員和程序員需要理解需求,程序員還需要嚴格按照UE的設計去做開發。至于是否真正做到了協調一致,則需要測試人員對每個部分進行測試。這個層面是對需求和實現的一致性的測試。還有一個層面,則是對實現的正確性的測試。舉個例子,客戶的需求是做一個計算器,能夠計算加減乘除。需求和實現的一致性測試,即測試做出的程序能否進行加減乘除運算,計算器的布局和顏色是否與需求一致。而實現的正確性測試,則是驗證加減乘除運算的結果是否正確。除此以外,還有很多非功能性的測試,例如效率測試、穩定性測試、易用性測試等。
一言以蔽之,做軟件測試就是為了給用戶提供高質量的程序,讓用戶滿意。軟件測試的意義也在于此。
如何進行軟件測試
測試的流程大致分為三個步驟:分析需求、設計測試用例、實施測試。
測試人員分析需求有兩個目的:一是從測試的角度檢查需求是否完善,描述是否清晰,要求是否合理,分析需求的過程也是對需求的測試。二是通過分析需求,將需求拆解成最小的可測試單元,針對這些可測試單元設計測試用例,這樣做可以設計出更加詳細的測試用例。
設計測試用例最考驗測試人員的能力。不僅要掌握黑盒測試用例設計理論:例如邊界值法、等價類劃分法、因果圖法、正交實驗法、場景圖法、 錯誤推測法、判定表驅動法等,還要知道軟件的六大質量特性:功能性、可靠性、易用性、效率、可維護性、可移植性。針對軟件的六大質量特性,結合恰當的測試用例設計方法,設計出完善的測試用例,是測試成功的關鍵。測試用例應包含:編號、測試用例名稱、數據準備、操作步驟、預期結果、測試結果等內容。
實施測試是通過執行一條條的測試用例驗證軟件的過程。每條測試用例執行的結果可能是通過或不通過。不通過時需要提交缺陷給對應的人員,這個人可能是程序員,也可能是產品設計人員。缺陷被解決后需要再次驗證,直到測試用例全部執行通過。
什么時候進行軟件測試
從上文中可以知道,測試人員進行需求分析也屬于測試的范疇。因此測試實際是在需求生成后就開始的,且越早開始越好。因為如果需求中的問題沒有及時被發現,程序員按照錯誤的需求進行開發,在開發過程中或者開發完成后再修改需求,就會導致程序員返工,造成資源的浪費。當需求測試完成后,程序員編寫代碼的同時,測試人員就根據需求進行測試用例的設計。設計測試用例與編寫代碼是同步進行的。在代碼編寫完成后,測試人員就可以在軟件中按照測試用例來實施測試。
軟件測試測的是什么
從宏觀上講,軟件測試的內容與軟件的六大質量特性是一致的,包含:功能性、可靠性、易用性、效率、可維護性、可移植性。
軟件測試的目的是什么
軟件測試的目的就是盡可能多地發現軟件中存在的缺陷,而不是證明軟件沒有缺陷。由于測試數據、輸入和組合場景非常多,窮盡測試是不可能的。即使測試沒有發現缺陷也不能說明軟件不存在缺陷。軟件測試不僅要找出缺陷,還要確認軟件滿足用戶的期望和需求。
對于不了解軟件測試的你,現在是否幫助到了你呢?
更多軟件測試相關推薦:
文章來源:網絡 版權歸原作者所有
上文內容不用于商業目的,如涉及知識產權問題,請權利人聯系博為峰小編(021-64471599-8103),我們將立即處理