什么是軟件測試及軟件測試基本原則


一、軟件測試

測試是對軟件產品質量的檢驗和評價。它一方面檢查軟件產品質量中存在的質量問題,另一方面對產品質量進行客觀的評價。

測試目的:簡單地說,就是替用戶受過,測試的最終目的是確保最終交給用戶的產品的功能符合用戶的需求,把盡可能多的問題在產品交給用戶之前發現並改正。

具體地講,測試一般要達到下列目標:

(1)確保產品完成了它所承諾或公布的功能,並且所有用戶可以訪問到的功能都有明確的書面說明------在某種意義上與ISO9001是同一種思想。

產品缺少明確的書面文檔,是廠商一種短期行為的表現,也是一種不負責任的表現。

所謂短期行為,是指缺少明確的書面文檔既不利於產品最后的順利交付,容易與用戶發生矛盾,影響廠商的聲譽和將來與用戶的合作關系;同時也不利於產品的后期維護,也使廠商支出超額的用戶培訓和技術支持費用。從長期利益看,這是很不划算的。

當然,書面文檔的編寫和維護工作對於使用快速原型法(RAD)開發的項目是最為重要的、最為困難,也是最容易被忽略的。

最后,書面文檔的不健全甚至不正確,也是測試工作中遇到的最大和最頭痛的問題,它的直接后果是測試效率低下、測試目標不明確、測試范圍不充分,從而導致最終測試的作用不能充分發揮、測試效果不理想。

 (2)確保產品滿足性能和效率上的要求。

 

使用起來系統運行效率低(性能低)、或用戶界面不友好、用戶操作不方便(效率低)的產品不能說是一個有競爭力的產品。

 用戶最關心的不是你的技術有多先進、功能有多強大,而是他能從這些技術、這些功能中得到多少好處。也就是說,用戶關心的是他能從中取出多少,而不是你已經放進去多少。

(3)確保產品是健壯的和適應用戶環境的。健壯性即穩定性,是產品質量的基本要求,尤其對於一個用於事務關鍵或時間關鍵的工作環境中。另外就是不能假設用戶的環境

(某些項目可能除外)

 

二、測試的原則--Good Enough

對於相對復雜的產品或系統來說,zero-bug是一種理想,good-enough是我們的原則。

Good-enough原則就是一種權衡投入產出比的原則:

不充分的測試是不負責任的;過分的測試是一種資源的浪費,同樣也是一種不負責任的表現。我們的操作困難在於:如何界定什么樣的測試是不充分的,什么樣的測試是過分的。目前狀況唯一可用的答案是:制定最低測試通過標准和測試內容,然后具體問題具體分析。

在軟件測試過程中,應注意和遵循的具體原則,可以概括為十大項:

1.所有測試的標准都是建立在用戶需求之上

正如我們所知,軟件測試的目標就是驗證產品的一致性和確認產品是否滿足客戶的需求,所以測試人員要始終站在用戶的角度去看問題、去判斷軟件缺陷的影響,系統中最嚴重的錯誤是那些導致程序無法滿足用戶需求的缺陷。

2.軟件測試必須基於“質量第一”的思想去開展各項工作,當時間和質量沖突時,時間要服從質量。

質量的理念和文化(如零缺陷的“第一次就把事情做對”)同樣是軟件測試工作的基礎。

3.事先定義好產品的質量標准。

有了質量標准,才能依據測試的結果對產品的質量進行正確的分析和評估,例如,進行性能測試前,應定義好產品性能的相關的各種指標。同樣,測試用例應確定預期輸出結果,如果無法確定測試結果,則無法進行校驗。

4.軟件項目一啟動,軟件測試也就是開始,而不是等程序寫完,才開始進行測試。

在代碼完成之前,測試人員要參與需求分析、系統或程序設計的審查工作,而且要准備測試計划、測試用例、測試腳本和測試環境,測試計划可以在需求模型一完成就開始,詳細的

測試用例定義可以在設計模型被確定后開始。應當把“盡早和不斷地測試”作為測試人員的座右銘。

5.窮舉測試是不可能的。

甚至一個大小適度的程序,其路徑排列的數量也非常大,因此,在測試中不可能運行路徑的每一種組合,然而,充分覆蓋程序邏輯,並確保程序設計中使用的所有條件是有可能的。

6.第三方進行測試會更客觀,更有效。

程序員應避免測試自己的程序,為達到最佳的效果,應由第三方來進行測試。測試是帶有”挑剔性” 的行為,心理狀態是測試自己程序的障礙。同時對於需求規格說明的理解產生的錯誤也很難在程序員本人測試時被發現。

7.軟件測試計划是做好軟件測試工作的前提。

所以在進行實際測試之前,應制定良好的、切實可行的測試計划並嚴格執行,特別要確定測試策略和測試目標。

8.測試用例是設計出來的,不是寫出來的,所以要根據測試的目的,采用相應的方法去設計測試用例,從而提高測試的效率,更多地發現錯誤,提高程序的可靠性。

除了檢查程序是否做了應該做的事,還要看程序是否做了不該做的事;不僅應選用合理的輸入數據,對於非法的輸入也要設計測試用例進行測試。

9.不可將測試用例置之度外,排除隨意性。

特別是對於做了修改之后的程序進行重新測試時,如不嚴格執行測試用例,將有可能忽略由修改錯誤而引起的大量的新錯誤。所以,回歸測試的關聯性也應引起充分的注意,有相當一部分最終發現的錯誤是在早期測試結果中遺漏的。

10.對發現錯誤較多的程序段,應進行更深入的測試。

一般來說,一段程序中已發現的錯誤數越多,其中存在的錯誤概率也就越大。錯誤集中發生的現象,可能和程序員的編程水平和習慣有很大的關系。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM