軟件測試的幾個基本概念
發表于:2008-09-24來源:作者:點擊數:
標簽:軟件測試概念
摘要 軟件測試這關應該在貫穿于軟件整個軟件的始終,測試的好壞直接影響到軟件產品(項目)的 質量 , 從而進一步影響到客戶對于該軟件的看法。所以個人覺得軟件測試在軟件的整個生命過程中扮演了非常重要的角色。 軟件測試的幾個基本概念 一.軟件測試的目的 軟
rpt> 軟件測試這關應該在貫穿于軟件整個軟件的始終,測試的好壞直接影響到軟件產品(項目)的
質量, 從而進一步影響到客戶對于該軟件的看法。所以個人覺得軟件測試在軟件的整個生命過程中扮演了非常重要的角色。
軟件測試的幾個基本概念
一.軟件測試的目的
軟件測試的目的在于發現程序中存在的錯誤,而不是證明程序無錯誤。一個好的
測試用例在于它能發現至今尚未發現的錯誤。一個成功的測試則是發現了至今未發現的錯誤。開始我們認為做測試無非是為了證明我們編的程序是無錯誤的,那是大錯特錯了。因為
bug會因時間不同,條件不同而出現。永遠無法證明我們的程序是絕對正確的。
二.Bug存在的原因
1)
開發人員不太了解
需求,不清楚應該“做什么”和“不做什么”,常常做部和需求的事情,因此產生了Bug .
2)軟件系統越來越復雜,開發人員不太可能精通所有的技術,如果不能正確地適用技術,將產生Bug.
3)技術文檔普遍比較糟糕,文檔本身就有Bug,導致使用者產生更多的Bug.
4)軟件需求、設計報告、程序經常發生變更,每次變更都可能產生新的Bug.
5)任何人在編程時都可能犯錯,導致程序中的Bug.
6)人們常處于進度的壓力之下,急忙之下容易產生Bug,尤其是在起先臨近之際.
7)人們過于自信,喜歡說“沒問題”,不真實的“沒問題”將產生真正的問題.
三.軟件測試分類
按測試方式分類,可以把不關心軟件內部實現的測試通稱為“黑盒測試”。反之,將依賴軟件內部實現的測試通稱為“白盒測試”。黑盒測試的主要依據是“需求”,而白盒測試的主要依據是“設計”。
按測試階段分類,測試可分4個主要階段:
單元測試、
集成測試、
系統測試和
驗收測試。這是一種“從小到大”、“由內至外”、“循序漸進”的
測試過程,體現了“分而治之”的思想。
四. 軟件測試"V"模型

當項目一開始,就對應相關的測試階段。
五.測試的流程
1) 制定
測試計劃;
2) 設計測試用例;
3) 如滿足“啟動準則”,執行測試;
4) 撰寫測試報告;
5) 消除軟件
缺陷,如滿足“完成準則”,正常結束測試;
六. 有關"單元測試"
MILY: Arial">單元測試一般是由程序員自己編寫的。開發人員編寫完成某個單元后,先自我檢查,然后請同伴進行代碼審查,再請同伴進行單元測試,如果發現缺陷,原開發者應當及時修正程序。這樣可以盡快地發現程序中存在的錯誤,及時修正以提高程序開發的效率。有關單元測試內容可以參閱<<單元測試之道C#版>>。七.測試人員的組織
條件特別好的公司,可以為每一個開發人員分配一名獨立的測試人員。這樣的測試人員職業化程度很高,可以完成單元測試、集成測試和系統測試工作,能夠實現開發與測試同步進行。開發人員就可以專心地搞開發了。 條件一般的公司,養不起獨立的測試小組。單元測試、集成測試工作由項目的開發小組承擔。當項目進展到系統測試階段,可以從項目外抽調一些人員,加上開發人員,臨時組織系統測試小組。
八.感悟
軟件測試這關應該在貫穿于軟件整個軟件的始終,測試的好壞直接影響到軟件產品(項目)的質量, 從而進一步影響到客戶對于該軟件的看法。所以個人覺得軟件測試在軟件的整個生命過程中扮演了非常重要的角色。但是在國內大部分企業對于軟件測試還是不重視,大部分中小企業都尚未組建自己的測試團隊,往往所有的工作都由開發人員承擔了?;蛘咴陧椖拷咏猜暤臅r候,找幾個非專業的測試人員搞幾個數據,草率地測試一下敷衍了事。這樣導致本應及早解決的bug到了晚期才被客戶糾出來,不僅給客戶留下不好的印象,而且這時修改bug的代價往往是非常高的。
最后還是呼吁要重視軟件測試??!
原文轉自:http://www.kjueaiud.com