天天看點

讀<ASP.NET優化>有感

這本書主要是講ASP.NET優化開發的,裡面關于面向對象程式設計的介紹和ASP.NET的開發介紹可以說在一般的書之上,由于我從來沒有涉足過這方面的内容,是以不予很深的評論。但是第十六章,講了一下測試 ,部署以及代碼管理,這方面和我們現在的工程和接近,讀着很有感覺。

現在就來講講測試。裡面說到“靈活開發和極限程式設計的實質之一是基于測試的開發”,也就是說從一開始我們就要開始編寫測試用例,在編寫code的過程中要邊code,邊test。書中還講到了怎樣做到這一點。不管上面說的有道理還是沒有道理,我們先來看一下測試是什麼意思:對軟體性能和精度進行測量。也就是測試要達到的目的隻是一種測量,于是要求軟體的編寫達到測試出來的結果的要求。從控制的觀點來看這個問題(下圖是控制過程的典型圖):測試相當于是feedback,

讀<ASP.NET優化>有感

将資料從輸出端傳回到輸入端,然後根據與輸入的差,在controller中進行政策等的修改,最後作用到軟體過程中去,得到輸出。在重複疊代的過程中,争取到達輸入和輸出是一緻的。輸入是軟體的目标(需求),輸出是軟體達到效果。在需求把握正确的前提下,我們正确的使用上述的方法是可以使輸出和輸入一緻的,達到使用者的需求。這樣的開發過程是完美的。

在控制中feedback過程是至關重要的一步,如果不能很正确的傳回輸出的結果,那麼controller不能很好的決策,導緻項目的失敗。現在來看看什麼樣的feedback是好的,能表達輸出的:

1.疊代周期,軟體開發是一個有周期性的活動。傳統的軟體開發的一般需要在開發結束後開始測試,然後修改bug,這樣周期很長,于是controller做出政策的時候,有很大的延時,這樣政策确定的難度和和輸出和輸入一緻的難度大大的加大。靈活開發過程要求一個疊代周期中一開始就有測試,這樣整個循環的周期将大大的減小,于是controller(開發者)可以很快的做出計劃的調整,使輸出和輸入一緻,最後滿足使用者的需求。

2.準确的反映出輸出的實時情況。如果使用傳統的測試,不能很準确的反映出輸出的情況,因為要測試的項目比較多,比較麻煩,如果某個人出了什麼狀況,就很難真實的反映出輸出的情況。而這種實時行的測試能很好的反映但是輸出的情況,因為涉及的内容少,新增的代碼少,一旦某個人出了什麼狀況,也是一天的,明天可能就可以拉回來了。

上述兩點是控制中很重要的環節,現在從控制的角度來看,這種測試方法是能很好的滿足開發的需要,及時的使輸出和輸入一緻,最好使軟體完成需求。關于寫什麼代碼和怎麼寫來到達這個效果,可以參見本書十六章。

轉載于:https://www.cnblogs.com/ustc_msra_ase/archive/2011/02/23/1961845.html