總結各種軟件的測試手段[2] 軟件測試
2、關注測試員的基于人員的測試手段
以下是一些通過執行測試的人來區分的常見手段舉例。
用戶測試(user testing) 。由將使用該產品的典型人員進行輸入的測試。用戶測試可以在開發期間任何時候進行,可以在開發場地,也可以在用戶場地,可以在精心指導下進行,也可以根據用戶的意愿進行。有些類型的用戶測試,例如任務分析,更像是聯合探索(涉及至少一名用戶和至少一名公司測試小組成員),而不是由一個人完成的測試。
α測試。由測試小組(可能還包括其他感興趣的、友善的內部人員)執行的內部測試。
β測試。利用不屬于開發機構并且是產品的目標市場成員的測試員實施的用戶測試。待測產品一般非常接近完成。很多公司都將讓客戶試用代碼看作是β測試,他們把所有β測試都歸結為叫做“β”的里程碑。這是個錯誤。實際上有很多不同類型的β測試。設計β,用于要求用戶(特別是有關領域的專家)評價設計,應該盡可能早地實施,以便有根據評價意見進行修改的時間。市場開發友β,用于再次確認在該產品推出并投放自己的大型銷售網上時會有大量客戶購買,實施時間相當晚,要等到產品相當穩定之后。兼容性測試β,客戶在開發機構自己不容易測試的硬件和軟件平臺上運行該產品。這種測試不能太晚,否則難以確定和解決兼容性問題。對于所管理的任何類型β測試,在確定進度和實施方法之前,都要確定測試目標。
強力測試(bug bash)。利用秘書、程序員、市場開發人員和可以找到的任何人所實施的內部測試。強力測試一般持續半天,在軟件接近投放市場時進行。(請注意,我們列出這種手段是為了舉例,并不表示贊同。有些公司由于種種原因認為它很有用,有些公刮則認為沒用。)
有關領域的專家測試(subject-matter expert testing)。向軟件目標領域內的專家提供產品,并尋求反饋唐見(錯誤、批評和贊揚)。專家可以是,也可以不是預期使用產品的客戶,公司看重的是專家的知識,而不是其市場代表性。
成對測試(paired testing) 。兩個測試員在一起發現程序錯誤。一般情況下,他們共用一臺計算機,在測試時輪流操作。
自用測試(eat your own dogfood)。全公司使用并依靠自己軟件的試用版,通常要等到軟件足夠可靠能夠實際使用時.才向市場銷售。
3、關注測試內容的基于覆蓋率的測試手段
可以根據在使用這些手段時已經掌握的知識的不同,把這些手段按所關注的問題進行多種不同的分類。例如,如果把功能集成測試用于檢查每個功能與所有其他功能組合在一起時是否能夠正常延行.則這種測試就是面向覆蓋率的測試。如果有針對功能相互交互的錯誤理論,并想進行跟蹤,則這種測試就是面向問題的測試。(例如,如果意圖是想發現功能在相互傳遞數據時出錯,就是面向問題的測試。)
我們將在本章末尾補充解釋這些定義中的一些領域測試,因為與領域有關的手段在軟件測試中使用得非常普遍、非常重要。讀者應該對其有所了解。
功能測試(function testing) 。逐個測試每個功能。徹底測試功能,直到可以確信該功能沒有問題。白盒功能測試通常叫做單元測試,集中測試可以看到代碼的功能。黑盒功能測試關注命令和特性,以及用戶可以做或選樣的事情。在做涉及多個功能的更復雜的測試之前,最好先做功能測試。在復合測試中,第一個出現問題的功能可能會使測試停下來,阻止通過這個測試發現多個其他功能也出現問題。如果依靠復合測試而下是單個測試功能,可能要到很晚才會知道有一個功能出現問題,可能要花費大量工作在復合測試中定位,最后卻發現問題出現在一個簡單功能上。
文章來源于領測軟件測試網 http://www.kjueaiud.com/