知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁(yè) » 新聞資訊 » 網(wǎng)站建設(shè) >
web項(xiàng)目和單元測(cè)試
發(fā)表時(shí)間:2009-4-2
發(fā)布人:葵宇科技
瀏覽次數(shù):49
由于web程序和一般的軟件開(kāi)發(fā)不同,自動(dòng)化測(cè)試的效率和必要性一直較低,因此人工測(cè)試一直是web項(xiàng)目的最主要測(cè)試手段。
但這并不表示web項(xiàng)目就不需要進(jìn)行自動(dòng)化測(cè)試。對(duì)于web項(xiàng)目而言,自動(dòng)化測(cè)試可以分為單元測(cè)試和功能測(cè)試。功能測(cè)試主要針對(duì)具體頁(yè)面進(jìn)行測(cè)試,個(gè)人覺(jué)得意義不大,因?yàn)榧热皇轻槍?duì)具體頁(yè)面進(jìn)行測(cè)試,采用人工測(cè)試的方式更為直接,高效,且靈活。因此以下主要針對(duì)單元測(cè)試進(jìn)行討論。
首先,由于web項(xiàng)目的特殊性,能夠進(jìn)行單元測(cè)試的地方也不會(huì)很多。一般來(lái)說(shuō),單元測(cè)試會(huì)集中在業(yè)務(wù)邏輯層。
如果是很簡(jiǎn)單的功能,那做單元測(cè)試的必要性就很低。一般來(lái)說(shuō),需要做單元測(cè)試的地方是:邏輯復(fù)雜的功能模塊。
代碼要能夠做單元測(cè)試,對(duì)程序的結(jié)構(gòu)有一定的要求。首先,單元測(cè)試的模塊必須是個(gè)閉合的系統(tǒng),有固定的輸入和輸出。因此在系統(tǒng)設(shè)計(jì)階段就應(yīng)該進(jìn)行充分的考慮:代碼的可測(cè)試性。
如何做到代碼的可測(cè)試性呢。主要有以下能力和技巧:
1 把(邏輯)復(fù)雜的問(wèn)題抽象為(數(shù)學(xué))模型的能力,這也是最重要的一點(diǎn)。細(xì)節(jié)上如,將數(shù)據(jù)庫(kù)中的數(shù)據(jù)映射成程序中的數(shù)組,針對(duì)數(shù)組進(jìn)行處理。
2 好的程序架構(gòu)。即程序要模塊化。單元測(cè)試多是針對(duì)類(lèi)或者函數(shù)進(jìn)行。單元測(cè)試要求測(cè)試對(duì)象是個(gè)閉合的系統(tǒng),如果你進(jìn)行測(cè)試的程序塊和“外界”有著千絲萬(wàn)縷的聯(lián)系,那你的程序必然是不可測(cè)試的。
3 因?yàn)閣eb程序的特殊性,有時(shí)候,要做到完全閉合會(huì)很困難,或者說(shuō)要花費(fèi)很大的精力去改寫(xiě)程序。那這時(shí)候,適當(dāng)?shù)挠靡恍┬〖记蓙?lái)實(shí)現(xiàn)可測(cè)試是必要的。因?yàn)闇y(cè)試的目的是為了保證產(chǎn)品質(zhì)量,如果為了單元測(cè)試而延誤了工期,那就本末倒置了。具體實(shí)現(xiàn)上如,我們可以定義個(gè)環(huán)境常量,當(dāng)這個(gè)環(huán)境常量等于測(cè)試模式的時(shí)候,就可以做一些特殊的處理。
ok,做到以上幾點(diǎn),你的程序應(yīng)該可以做單元測(cè)試了。進(jìn)行單元測(cè)試的流程貫穿于整個(gè)項(xiàng)目的始終。可以參考如下:
A 開(kāi)發(fā)人員在開(kāi)發(fā)和測(cè)試過(guò)程中,要寫(xiě)足夠的測(cè)試用例,測(cè)試用例應(yīng)該包含各種有代表性的情況。在進(jìn)入項(xiàng)目的測(cè)試階段的時(shí)候,這些測(cè)試用例就應(yīng)該全部能運(yùn)行通過(guò)。
B 在A之后,程序多數(shù)還存在bug。這時(shí)候,如果發(fā)現(xiàn)新的bug(假定為bug1),那么開(kāi)發(fā)人員要根據(jù)產(chǎn)生bug1的情況,寫(xiě)新的測(cè)試用例(bug1 test case).
然后修正bug1,并使測(cè)試用例bug1 test case運(yùn)行通過(guò)。同時(shí)請(qǐng)確保A中的所有測(cè)試用例也運(yùn)行通過(guò)。
C 再次發(fā)現(xiàn)新的bug(假定為bug2),然后開(kāi)發(fā)人員重復(fù)類(lèi)似于B中的流程。這個(gè)時(shí)候,請(qǐng)務(wù)必確保bug1 test case能運(yùn)行通過(guò)。這就是通常我們提到的“回歸測(cè)試”,“回歸測(cè)試”能有效的避免在修正bug的過(guò)程中,產(chǎn)生新的bug。
最后,項(xiàng)目相關(guān)人員都應(yīng)該意識(shí)到,人的大腦內(nèi)存是有限的。如果你的項(xiàng)目含有復(fù)雜的邏輯,借助好的軟件工程方法,才能使程序得到有效的控制。引入單元測(cè)試,產(chǎn)品質(zhì)量才有保證。
相關(guān)案例查看更多
相關(guān)閱讀
- 網(wǎng)站建設(shè)
- 大理小程序開(kāi)發(fā)
- 前端技術(shù)
- 汽車(chē)報(bào)廢回收管理軟件
- 模版信息
- 關(guān)鍵詞快速排名
- 汽車(chē)報(bào)廢回收
- 網(wǎng)站建設(shè)優(yōu)化
- 網(wǎng)絡(luò)公司哪家好
- 云南做百度小程序的公司
- 楚雄網(wǎng)站建設(shè)公司
- 云南網(wǎng)絡(luò)營(yíng)銷(xiāo)顧問(wèn)
- 云南網(wǎng)絡(luò)公司
- 云南科技公司
- 小程序密鑰
- 汽車(chē)拆解系統(tǒng)
- 軟件定制公司
- 制作一個(gè)小程序
- 開(kāi)發(fā)制作小程序
- 昆明做網(wǎng)站建設(shè)的公司排名
- 網(wǎng)站建設(shè)特性
- 云南網(wǎng)站建設(shè)報(bào)價(jià)
- 云南小程序公司
- 云南企業(yè)網(wǎng)站
- 云南網(wǎng)站建設(shè)
- Web開(kāi)發(fā)框架
- 報(bào)廢車(chē)管理系統(tǒng)
- 網(wǎng)站建設(shè)首頁(yè)
- typescript
- web開(kāi)發(fā)技術(shù)