不景氣的經(jīng)濟(jì),不斷高漲的油價(jià),嚴(yán)重影響了商業(yè)活動(dòng),每一個(gè)人都在尋找新的途徑,用來(lái)抵消新增加的成本:能源。倫敦的軟件質(zhì)量管理主管顧問(wèn)Martin Adcock,提供了10種減少軟件開(kāi)發(fā)成本的方法。
1、 良好的功能需求文檔
沒(méi)有文檔化的需求,系統(tǒng)就存在不能滿足客戶期望的隱患?!氨热?,也許它不能按照客戶認(rèn)為應(yīng)該的方式工作,即便是開(kāi)發(fā)團(tuán)隊(duì)認(rèn)為他們的工作一直符合歸檔的需求?!盇dcock說(shuō)。這將導(dǎo)致項(xiàng)目返工、延期發(fā)布、增加成本以及客戶和軟件團(tuán)隊(duì)之間潛在的矛盾。
2、 非功能的需求應(yīng)盡早定義,盡早明確
大多數(shù)組織都集中在系統(tǒng)的功能方面,即它做什么,而不是它怎么做?!胺枪δ艿囊匕ㄒ磺?,從性能到安全再到可用性。”Adcock說(shuō),非功能的需求同樣重要。
缺少清晰的、盡早定義的非功能的需求,發(fā)布后的系統(tǒng)可能和客戶想的功能一樣——但它太難用、速度奇慢、不安全、不可靠或者擴(kuò)展性太差?!斑@將再一次”導(dǎo)致開(kāi)發(fā)組返工——一些非功能的領(lǐng)域?qū)τ诋a(chǎn)品的設(shè)計(jì)是必須的,再?zèng)]有重新啟動(dòng)項(xiàng)目的情況下,很難去修正它們。”
3、保證適當(dāng)?shù)淖兏刂七^(guò)程
沒(méi)有變更控制,系統(tǒng)開(kāi)發(fā)會(huì)發(fā)現(xiàn)自己處于不確定的狀態(tài)?!袄?,”Adcock解釋說(shuō),“隨著項(xiàng)目的進(jìn)行,越來(lái)越多的需求面臨著變更,每個(gè)變更都沒(méi)有正確的影響評(píng)估。”每一個(gè)變更都應(yīng)該被嚴(yán)格控制。每一個(gè)允許的變更都應(yīng)該在完整的影響評(píng)估之后,要分析它對(duì)項(xiàng)目的時(shí)間進(jìn)度和成本的影響。
4、 使用配置管理系統(tǒng)管理代碼、數(shù)據(jù)和文檔
沒(méi)有配置單管理系統(tǒng),做高質(zhì)量的測(cè)試是不可能的?!斑@是因?yàn)槟悴淮_定正在測(cè)試的軟件或者文檔是不是正確的版本,或者發(fā)布給用戶的版本是不是完全測(cè)試的?!盇dcock說(shuō)。配置管理比較差的組織可能測(cè)試的是一個(gè)版本,而發(fā)布的是另外一個(gè)版本,其中包含了還沒(méi)有經(jīng)過(guò)測(cè)試的特性。
5、 集中在缺陷預(yù)防,而不是測(cè)試
項(xiàng)目開(kāi)始時(shí)在需求文檔中修正一個(gè)錯(cuò)誤遠(yuǎn)比它開(kāi)發(fā)完成后再修正更快速更便宜?!斑@已經(jīng)被證明很多次,在項(xiàng)目周期中越晚發(fā)現(xiàn)一個(gè)缺陷,修正它花費(fèi)就越多?!?/P>
下面的幾個(gè)技巧大家都不會(huì)陌生,但你能真正做到嗎?
6、在需求定義階段開(kāi)始設(shè)計(jì)用戶驗(yàn)收測(cè)試
7、在系統(tǒng)設(shè)計(jì)階段開(kāi)始設(shè)計(jì)系統(tǒng)測(cè)試
8、重點(diǎn)關(guān)注單元測(cè)試
每一個(gè)人都知道,在開(kāi)發(fā)過(guò)程中越早的發(fā)現(xiàn)缺陷,修復(fù)它就越容易、越快速、越便宜。對(duì)藏身于代碼中的缺陷來(lái)說(shuō),單元測(cè)試是發(fā)現(xiàn)它們最早的階段。
9 、計(jì)劃基于風(fēng)險(xiǎn)的測(cè)試
由于各種原因,比如固定的發(fā)布期限,開(kāi)發(fā)組的拖延,測(cè)試時(shí)間總是非常有限的,這將意味著并不是所有原先計(jì)劃的測(cè)試都能得到執(zhí)行?!霸谶@個(gè)項(xiàng)目中,那些被認(rèn)為是對(duì)產(chǎn)品成功非常重要的元素被充分測(cè)試。所以,測(cè)試應(yīng)該總是集中在系統(tǒng)的“最高風(fēng)險(xiǎn)級(jí)”的區(qū)域,根據(jù)測(cè)試時(shí)間的要求,然后是“中等風(fēng)險(xiǎn)”和低風(fēng)險(xiǎn)的元素?!?/P>
當(dāng)面臨時(shí)間壓力時(shí),這種基于風(fēng)險(xiǎn)的方法可以保證系統(tǒng)中還沒(méi)有測(cè)試的元素都處于最低風(fēng)險(xiǎn)區(qū)域。
10、 在發(fā)現(xiàn)錯(cuò)誤更便宜更高效的時(shí)候,盡早使用工具來(lái)發(fā)現(xiàn)功能和非功能方面的錯(cuò)誤
在開(kāi)發(fā)的早期開(kāi)始階段,如果創(chuàng)建并維護(hù)好一套自動(dòng)化的測(cè)試工具,它就可以重復(fù)使用做“冒煙測(cè)試”?!斑@種方法可以很快的、更早的發(fā)現(xiàn)潛在的很多缺陷,為以后的測(cè)試階段節(jié)省寶貴的時(shí)間?!?/P>
另外一些特別的工具有時(shí)還能發(fā)現(xiàn)系統(tǒng)設(shè)計(jì)上的缺點(diǎn),這些缺點(diǎn)應(yīng)該發(fā)現(xiàn)的越早越好?!袄?,早期對(duì)部分系統(tǒng)的性能測(cè)試可以暴露設(shè)計(jì)很差的模塊,它發(fā)布后會(huì)拖累整個(gè)系統(tǒng)的性能到用戶的容忍度以外。”這種情況下,該模塊很容易被確認(rèn)并被隔
離,很容易修正或者重寫(xiě)。如果在系統(tǒng)交付測(cè)試后或者發(fā)布前才去做性能測(cè)試,這種確定過(guò)程將困難很多。
最后一句話結(jié)束語(yǔ),盡早測(cè)試,頻繁測(cè)試。