使用風(fēng)險(xiǎn)分析冲甘,確定測(cè)試的重點(diǎn)
由于很少有機(jī)會(huì)對(duì)一個(gè)應(yīng)用軟件進(jìn)行所有可能的測(cè)試 (包括所有可能的事件組合、所有的相關(guān)性、或者一切可能出錯(cuò)的東西)江醇,對(duì)大多數(shù)軟件開(kāi)發(fā)項(xiàng)目來(lái)說(shuō)濒憋,利用風(fēng)險(xiǎn)分析是適當(dāng)?shù)摹?/p>
這需要判斷技能、常識(shí)陶夜、感覺(jué)和經(jīng)驗(yàn)凛驮。如果有正當(dāng)理由,也可采用正式的方法条辟。需要考慮下列因素:
對(duì)于該項(xiàng)目的用途而言黔夭,哪種功能最重要?
哪種功能對(duì)用戶最明顯?
哪種功能對(duì)安全影響最大?
哪種功能對(duì)用戶最有用?
對(duì)客戶來(lái)說(shuō),該應(yīng)用軟件的哪個(gè)部分最重要?
在開(kāi)發(fā)過(guò)程中羽嫡,該應(yīng)用軟件的哪個(gè)部分可以最先測(cè)試?
哪一部分代碼最復(fù)雜本姥,容易導(dǎo)致出現(xiàn)錯(cuò)誤?
哪一部分的應(yīng)用程序是在急迫或在驚恐的情況下開(kāi)發(fā)出來(lái)的?
哪一部分程序與過(guò)去項(xiàng)目中引起問(wèn)題的部分相類似/有關(guān)?
哪一部分程序與過(guò)去項(xiàng)目中需要大量維護(hù)的部分相類似/有關(guān)?
需求和設(shè)計(jì)的那些部分不清楚或不容易讀?
開(kāi)發(fā)人員認(rèn)為在應(yīng)用軟件中哪些部分是高風(fēng)險(xiǎn)的?
哪些問(wèn)題能造成最差的發(fā)行?
哪些問(wèn)題最能引起用戶抱怨?
哪些測(cè)試可以容易地覆蓋多種功能?
哪些測(cè)試在覆蓋高風(fēng)險(xiǎn)部分的測(cè)試時(shí)使用時(shí)間最少?
如果需求一直在變化怎么辦?
這是一個(gè)常見(jiàn)的令人頭疼的問(wèn)題。
如果可能杭棵,盡早與承擔(dān)該項(xiàng)目風(fēng)險(xiǎn)的人接觸婚惫,以便了解需求會(huì)怎樣改變,從而可以盡早地改變測(cè)試計(jì)劃和策略魂爪。
如果在對(duì)應(yīng)用程序進(jìn)行初始設(shè)計(jì)時(shí)多考慮一些適應(yīng)性先舷,那么以后在發(fā)生需求的改變時(shí),就不需要再為改變做很多事情了滓侍。
好的代碼注釋和好的文檔有助于開(kāi)發(fā)人員作出相應(yīng)的改變蒋川。
只要有可能,就應(yīng)使用快速原型 (rapid prototyping)粗井,以幫助用戶確認(rèn)他們的需求尔破,從而減少變更。
在項(xiàng)目的時(shí)間表中應(yīng)當(dāng)留出余量浇衬,以應(yīng)付可能出現(xiàn)的變更懒构。
盡量把新的需求納入應(yīng)用軟件的“下一版”,而把原始需求作為“第一版”耘擂。
通過(guò)談判胆剧,把易于實(shí)現(xiàn)的新的變更列入項(xiàng)目,而把難于實(shí)現(xiàn)的新需求列入該應(yīng)用軟件的以后的版本醉冤。
要確保讓客戶和管理人員了解變更對(duì)進(jìn)度表的影響秩霍、所帶來(lái)的風(fēng)險(xiǎn)、以及因變更所引起的大量資金消耗蚁阳。
在應(yīng)付改變時(shí)铃绒,應(yīng)在為建立自動(dòng)測(cè)試而作的努力和重新進(jìn)行測(cè)試所做的努力之間取得平衡。
在設(shè)計(jì)自動(dòng)測(cè)試劇本時(shí)螺捐,試圖使其有一些靈活性颠悬。
在對(duì)應(yīng)用軟件進(jìn)行自動(dòng)測(cè)試時(shí)矮燎,要把注意力集中在看來(lái)不大會(huì)改變的部分。
對(duì)變更進(jìn)行適當(dāng)?shù)娘L(fēng)險(xiǎn)分析赔癌,以減少回歸測(cè)試的要求诞外。
在設(shè)計(jì)測(cè)試案例時(shí)要有一定的靈活性。做到這一點(diǎn)并不容易灾票,所以要降低測(cè)試案例的詳細(xì)程度峡谊,或者只建立高級(jí)的通用型的測(cè)試計(jì)劃。
少注意詳細(xì)的測(cè)試計(jì)劃和測(cè)試案例刊苍,要把重點(diǎn)放在專門(mén)的測(cè)試 (ad hoc testing) 上既们。
面向?qū)ο蟮脑O(shè)計(jì)如何影響測(cè)試?
好的面向?qū)ο蟮墓こ淘O(shè)計(jì)使得從代碼追溯內(nèi)部設(shè)計(jì)、再到功能測(cè)試班缰,最后追溯到需求贤壁,成為一件容易的事。
因?yàn)樗鼘?duì)黑盒測(cè)試的影響很少 (不需要了解應(yīng)用軟件的內(nèi)部設(shè)計(jì)) 埠忘,而白盒測(cè)試只需針對(duì)該應(yīng)用軟件的對(duì)象。如果該應(yīng)用軟件設(shè)計(jì)得好馒索,就可簡(jiǎn)化測(cè)試設(shè)計(jì)莹妒。