在敏捷實踐中,“測試”毫無疑問地是一個經(jīng)常談?wù)摰脑掝}。然而,它也是經(jīng)常被過分談?wù)摰男g(shù)語,所以,當(dāng)我們想討論“測試的種類”時,應(yīng)該先了解一些細(xì)節(jié)。
在敏捷開發(fā)中,測試以很多不同的方法扮演著同樣的角色,而且不同的測試種類扮演著不同的角色。為了說明這些角色,你需要敏捷開發(fā)中一些基本思想作為基礎(chǔ)。 如果你需要更多敏捷開發(fā)的信息,你可以訪問
為什么要測試?
測試是得到反饋的一個重要方法。測試對于確保代碼做了它應(yīng)該做的事是非常有用的,對于代碼的修改反過來可以影響功能也是很有用的。測試也是開發(fā)人員知道什么時候算完成他所開發(fā)的一個特性。現(xiàn)在,我們有兩個原則作為判斷一個特性是否被描述的足夠詳細(xì):
1、開發(fā)人員可以提供一個相當(dāng)準(zhǔn)確的估計 2、測試人員可以寫出一個接受性測試
不但測試種類有所不同,產(chǎn)生測試的方法也不盡相同。
我們?nèi)绾螠y試?
測試包括手工測試和自動化測試。關(guān)鍵要注意在開發(fā)過程中,每種技術(shù)所扮演的不同角色。盡管我們需要盡可能多地進(jìn)行自動化測試,但并不意味著所有的手工測試就不再需要啦。因為即使軟件通過了所有的自動化測試,它在用戶剛開始使用時也可能出現(xiàn)錯誤。
根據(jù)敏捷原則(做聰明的事),要確保能用自動化測試的事情決不要用手工測試。同時要做到適合手工測試的內(nèi)容決不要花高昂地成本做成自動化測試。另外,不要因為某方面不能自動化測試而不做測試。
你應(yīng)該做哪些種類的測試?
我想,沒有“放之四海皆準(zhǔn)”的策略。象敏捷開發(fā)中的每個事情一樣,測試也需要你用你的大腦!下面有一些測試的種類及它們在開發(fā)過程中扮演的角色,或者說是目的。
單元測試:一般是開發(fā)者在編寫他們被分派的特性時建立的。目的是確保代碼所完成的功能在任何變化時都是正確的。另外,單元測試的一個附加作用就是當(dāng)作軟件API的使用說明文檔。
驗收測試(或叫接受性測試):用于確保具體的功能是否正常工作。特別地,驗收測試是一個具體的客戶場景,用于完成用戶所期望的功能。
UI測試:一般包括一些頁面流,提供已知輸入并把得到的結(jié)果和期望的結(jié)果進(jìn)行對照。有些UI測試是使用bitmap進(jìn)行對比。
可用性測試:這可以說是另一個領(lǐng)域的測試,它常常需要人的參與!在這里不多陳述,但是可用性經(jīng)常是做為“make-or-break”的驗收條件。某些項目從自動化測試中得到了收益,這些自動化測試確保軟件遵守了UI標(biāo)準(zhǔn)。
性能測試:對于很多應(yīng)用來說,運行一套測試來確保多個非功能度量要求得到滿足是非常關(guān)鍵的。如果你的應(yīng)用需要很嚴(yán)格的性能度量要求,在初始的架構(gòu)和設(shè)計階段,你需要跟蹤這些要求是否滿足。在構(gòu)建整個應(yīng)用時,你要確保性能要求得到滿足。通常,性能測試至少要在每個主構(gòu)建時自動運行-也許你每星期五做一次或每次迭代做一次。
此文章共有2頁 1 2 下一頁
文章來源:中國項目管理資源網(wǎng)
|