<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

            字號: | 推薦給好友 上一篇 | 下一篇

            軟件測試工作量估算之功能點(diǎn)估算法

            發(fā)布: 2010-12-15 14:33 | 作者: 陳遜 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng)采編 | 查看: 195次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)

            軟件測試工作量估算之功能點(diǎn)估算法

              從上個(gè)世紀70年代開(kāi)始,一些軟件企業(yè)就開(kāi)始引入“功能點(diǎn)分析算法”,來(lái)評估軟件功能的規模,然后便可以對軟件開(kāi)發(fā)的成本和工期,進(jìn)行精確的度量,也可以對開(kāi)發(fā)團隊的生產(chǎn)率進(jìn)行考核評估。半個(gè)世紀以來(lái),很多種不同的功能點(diǎn)算法模型被建立起來(lái),Mk II功能點(diǎn)算法是其中一種比較常用的模型。

              隨著(zhù)淘寶網(wǎng)站的高速發(fā)展,淘寶開(kāi)發(fā)團隊規模也不斷增大,于是必然要面對管理問(wèn)題。人數的增多必然帶來(lái)管理層級的增多,這樣很容易出現管理結構的臃腫,管理成本增高。如果我們引入一種簡(jiǎn)單而且科學(xué)的工作度量模型,讓每個(gè)人每個(gè)團隊的工作質(zhì)量和效率用數字來(lái)說(shuō)話(huà),便可以促進(jìn)管理結構的扁平,簡(jiǎn)化管理過(guò)程,每個(gè)管理者可以管理更多的人,并且對下屬的工作了如指掌。

              功能點(diǎn)算法就是為了解決如何度量工作效率的問(wèn)題,而工作質(zhì)量主要是依靠分析各種Bug數據,我們在別的文章里討論。

              首先我們講一下MVC模型,這是目前WEB開(kāi)發(fā)的一種非常流行的軟件架構模式。它把WEB應用程序定義為3個(gè)部分,每個(gè)部分負責完成特定的任務(wù):

              Model 模型

              View 視圖

              Controller 控制器

              Model主要與數據庫交互,把數據表轉換成對象,并且實(shí)現基本的數據讀寫(xiě)邏輯,比如在淘寶網(wǎng),商品就是一個(gè)Model。View負責實(shí)現界面的設計,我們?yōu)g覽網(wǎng)頁(yè)看到的WEB界面控件,比如按鈕、文本框、GRID都是在View中定義的,設計View主要是用Html和JS。用戶(hù)在View層進(jìn)行的各種操作(比如點(diǎn)擊按鈕),就會(huì )啟動(dòng)Controller里的函數,主要的業(yè)務(wù)邏輯代碼,都寫(xiě)在Controller里了,其實(shí)也就是對各種Model進(jìn)行增刪改查,比如購買(mǎi)一個(gè)商品。

              關(guān)于MVC的更多詳細說(shuō)明請參考維基百科。

              接下來(lái)我們介紹MkII功能點(diǎn)算法,淘寶測試選擇MkII的主要原因是,它的算法和MVC模式非常的吻合,可以說(shuō)是黃金搭檔。

              MkII功能點(diǎn)算法是這樣:先要給各個(gè)功能模塊劃分邏輯事務(wù),然后針對每個(gè)邏輯事務(wù),分析輸入DET(Data Element Type)和輸出DET的數量,以及關(guān)聯(lián)的實(shí)體類(lèi)型數量,再根據一個(gè)算法公式,計算出功能點(diǎn)指數:

              功能點(diǎn)=輸入DET×0.58+實(shí)體類(lèi)型×1.66+輸出DET×0.26

              邏輯事務(wù)指用戶(hù)在WEB應用程序中的原子操作。很多開(kāi)發(fā)團隊都會(huì )設計UseCase,一般來(lái)說(shuō)一個(gè)UC對應一個(gè)邏輯事務(wù)。注意:邏輯事務(wù)一定是記錄用戶(hù)行為的,而不是程序內部的處理邏輯。不過(guò)在實(shí)際的分析中,我們發(fā)現邏輯事務(wù)的個(gè)數,往往要大于UC的個(gè)數,這是正常的,主要因為很多UC包含的信息很多。

              我們用淘寶的“購買(mǎi)商品”來(lái)舉例說(shuō)明怎么劃分邏輯事務(wù),先來(lái)看購買(mǎi)商品的頁(yè)面:

              在這個(gè)頁(yè)面中,左邊一塊是顯示商品的簡(jiǎn)要信息,這是一個(gè)邏輯事務(wù):“查看商品信息”,右邊最上面一個(gè)收貨地址的radio button,也是一個(gè):“展示我所有的收貨地址”,右邊下面一組文本輸入框加一個(gè)按鈕,是一個(gè):“為當前商品創(chuàng )建一個(gè)訂單”。

              在MVC中,邏輯事務(wù)對應Controller,每個(gè)邏輯事務(wù)都可以在Controller里面找到一個(gè)public函數。

              再講一下輸入DET和輸出DET。比如剛才的“為當前商品創(chuàng )建一個(gè)訂單”這個(gè)事務(wù),頁(yè)面上輸入信息的控件,都是輸入DET,比如文本框、按鈕,都是輸入DET。這個(gè)事務(wù)大約有10個(gè)輸入DET:“收貨地址”、“購買(mǎi)數量”、“運送方式”等等。輸出DET指應用程序給用戶(hù)提供的所有的提示信息,以文字提示的方式知會(huì )用戶(hù)。比如“購買(mǎi)成功”、“您沒(méi)有綁定支付寶,不能購買(mǎi)”、“商品庫存不足,無(wú)法購買(mǎi)”、“購買(mǎi)數量必須輸入整數”等等。這個(gè)事務(wù)的輸出DET數量大約是20個(gè)。

              在MVC中,輸入DET和輸出DET對應View。每個(gè)輸入DET和輸出DET都能在View中找到對應控件。

              最后講引用實(shí)體,在創(chuàng )建訂單事務(wù)里,引用的實(shí)體有很多。訂單成功后要扣減商品庫存,因此商品算1個(gè);訂單本身是1個(gè);訂單需要同步生成支付寶交易,支付寶算1個(gè);還有物流記錄算1個(gè),等等,大約是5個(gè)實(shí)體以上。

              在MVC中,引用實(shí)體對應Model。

              到此為止這個(gè)邏輯事務(wù)的數據收集完整,代入公式計算得出結果:

              10×0.58+5×1.66+20×0.26=19.3

              當然這只是一個(gè)DEMO,數字都是估算的,實(shí)際情況肯定比這個(gè)要復雜,算出的功能點(diǎn)指數就會(huì )多一些。需要注意的是,使用MkII算法計算出的功能點(diǎn)指數,只是一個(gè)數值,代表應用程序的功能規模,和我們平時(shí)聽(tīng)到開(kāi)發(fā)說(shuō)的“我修改了一個(gè)功能點(diǎn)”,概念上是不同的。所以我們用“功能點(diǎn)指數”這個(gè)概念,不過(guò)為了溝通起來(lái)方便,還是簡(jiǎn)化成“功能點(diǎn)”了。

              MkII功能點(diǎn)算法是非常適合于淘寶這樣的互聯(lián)網(wǎng)公司的。不過(guò)由于WEB應用程序的交互日趨復雜,JS被大量使用,因此在實(shí)踐中,如何劃分邏輯事務(wù),如何統計輸入輸出,還需要進(jìn)一步的研究。

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: 工作量 功能 估算 軟件測試


            關(guān)于領(lǐng)測軟件測試網(wǎng) | 領(lǐng)測軟件測試網(wǎng)合作伙伴 | 廣告服務(wù) | 投稿指南 | 聯(lián)系我們 | 網(wǎng)站地圖 | 友情鏈接
            版權所有(C) 2003-2010 TestAge(領(lǐng)測軟件測試網(wǎng))|領(lǐng)測國際科技(北京)有限公司|軟件測試工程師培訓網(wǎng) All Rights Reserved
            北京市海淀區中關(guān)村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
            技術(shù)支持和業(yè)務(wù)聯(lián)系:info@testage.com.cn 電話(huà):010-51297073

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>