軟件測試經典問題——佣金問題


佣金問題時典型的商務計算問題,會引申出很多重要的測試問題

一個銷售人員代銷步槍,包括槍機(locks)、槍托(stocks)、槍管(barrels),槍機45美元、槍托30美元、槍管25美元;銷售每走訪一個城市就要向廠家發一封電報,匯報銷售數量,月末會發一封電報,當發送“槍機銷售數量為-1”時結算。佣金計算方法為:銷售總額在1000元以下部分(含1000元)佣金為10%;1000至1800之間部分佣金為15%,超過1800元部分佣金為20%,

佣金報表匯出銷售的槍機、槍托、槍管總數量、總銷售額及佣金額.

在這個佣金問題示例中,我們一下子就能看明白佣金的計算方法。在現實生活中會遇到其他一些有多個變量的累加函數,例如在填寫U.S.1040收入報稅表時遇到的各種計算就是這樣。(所以我們還是繼續討論步槍吧。)這個佣金程序可分為三個部分:輸入數據處理部分,驗證輸入數據的有效性(同三角形問題和NextDate函數一樣);銷售額統計計算部分;佣金計算部分。此處我們省略了對輸入數據有效性的驗證,借用了典型的管理信息系統(MIS)的數據采集功能中所常用的條件循環語句While來模擬對電報的處理。

Program Commission (INPUT, OUTPUT)  
‘  
Dim locks, stocks, barrels As Integer  
Dim lockPrice, stockPrice, barrelPrice As Real  
Dim totalLocks, totalStocks, totalBarrels As Integer  
Dim lockSales, stockSales, barrelSales As Real  
Dim sales, commission: REAL  
‘  
lockPrice = 45.0  
stockPrice = 30.0  
barrelPrice = 25.0  
totalLocks = 0 
totalStocks = 0 
totalBarrels = 0 
‘  
Input (locks)  
While NOT(locks = -1)  ‘Input device uses 
-1 to indicate end of data  
   Input (stocks, barrels)  
   totalLockstotalLocks = totalLocks + locks  
   totalStockstotalStocks = totalStocks + stocks  
   totalBarrelstotalBarrels = totalBarrels + barrels  
   Input (locks)  
EndWhile  
‘  
Output ("Locks sold: ", totalLocks)  
Output ("Stocks sold: ", totalStocks)  
Output ("Barrels sold: ", totalBarrels)  
‘  
lockSales = lockPrice * totalLocks  
stockSales = stockPrice * totalStocks  
barrelSales = barrelPrice * totalBarrels  
sales = lockSales + stockSales + barrelSales  
Output ("Total sales: ", sales)  
‘  
If (sales > 1800.0)  
   Then   
      commission = 0.10 * 1000.0  
      commissioncommission = commission + 0.15 * 800.0  
      commissioncommission = commission +
0.20 * (sales-1800.0)  
   Else If (sales > 1000.0)  
         Then   
            commission = 0.10 * 1000.0  
            commissioncommission = commission 
+ 0.15* (sales-1000.0)  
         Else commission = 0.10 * sales  
        EndIf  
EndIf  
Output ("Commission is $", commission)  
‘  
End Commission  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM