欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

web項目和單元測試 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

web項目和單元測試

發(fā)表時間:2009-4-2

發(fā)布人:葵宇科技

瀏覽次數(shù):49

由于web程序和一般的軟件開發(fā)不同,自動化測試的效率和必要性一直較低,因此人工測試一直是web項目的最主要測試手段。

但這并不表示web項目就不需要進行自動化測試。對于web項目而言,自動化測試可以分為單元測試和功能測試。功能測試主要針對具體頁面進行測試,個人覺得意義不大,因為既然是針對具體頁面進行測試,采用人工測試的方式更為直接,高效,且靈活。因此以下主要針對單元測試進行討論。

首先,由于web項目的特殊性,能夠進行單元測試的地方也不會很多。一般來說,單元測試會集中在業(yè)務(wù)邏輯層。

如果是很簡單的功能,那做單元測試的必要性就很低。一般來說,需要做單元測試的地方是:邏輯復(fù)雜的功能模塊。

代碼要能夠做單元測試,對程序的結(jié)構(gòu)有一定的要求。首先,單元測試的模塊必須是個閉合的系統(tǒng),有固定的輸入和輸出。因此在系統(tǒng)設(shè)計階段就應(yīng)該進行充分的考慮:代碼的可測試性。

如何做到代碼的可測試性呢。主要有以下能力和技巧:

1 把(邏輯)復(fù)雜的問題抽象為(數(shù)學(xué))模型的能力,這也是最重要的一點。細節(jié)上如,將數(shù)據(jù)庫中的數(shù)據(jù)映射成程序中的數(shù)組,針對數(shù)組進行處理。

2 好的程序架構(gòu)。即程序要模塊化。單元測試多是針對類或者函數(shù)進行。單元測試要求測試對象是個閉合的系統(tǒng),如果你進行測試的程序塊和“外界”有著千絲萬縷的聯(lián)系,那你的程序必然是不可測試的。

3 因為web程序的特殊性,有時候,要做到完全閉合會很困難,或者說要花費很大的精力去改寫程序。那這時候,適當?shù)挠靡恍┬〖记蓙韺崿F(xiàn)可測試是必要的。因為測試的目的是為了保證產(chǎn)品質(zhì)量,如果為了單元測試而延誤了工期,那就本末倒置了。具體實現(xiàn)上如,我們可以定義個環(huán)境常量,當這個環(huán)境常量等于測試模式的時候,就可以做一些特殊的處理。

ok,做到以上幾點,你的程序應(yīng)該可以做單元測試了。進行單元測試的流程貫穿于整個項目的始終??梢詤⒖既缦?#xff1a;

A 開發(fā)人員在開發(fā)和測試過程中,要寫足夠的測試用例,測試用例應(yīng)該包含各種有代表性的情況。在進入項目的測試階段的時候,這些測試用例就應(yīng)該全部能運行通過。

B 在A之后,程序多數(shù)還存在bug。這時候,如果發(fā)現(xiàn)新的bug(假定為bug1),那么開發(fā)人員要根據(jù)產(chǎn)生bug1的情況,寫新的測試用例(bug1 test case).

然后修正bug1,并使測試用例bug1 test case運行通過。同時請確保A中的所有測試用例也運行通過。

C 再次發(fā)現(xiàn)新的bug(假定為bug2),然后開發(fā)人員重復(fù)類似于B中的流程。這個時候,請務(wù)必確保bug1 test case能運行通過。這就是通常我們提到的“回歸測試”,“回歸測試”能有效的避免在修正bug的過程中,產(chǎn)生新的bug。

最后,項目相關(guān)人員都應(yīng)該意識到,人的大腦內(nèi)存是有限的。如果你的項目含有復(fù)雜的邏輯,借助好的軟件工程方法,才能使程序得到有效的控制。引入單元測試,產(chǎn)品質(zhì)量才有保證。

相關(guān)案例查看更多