软件测试经典问题——佣金问题


佣金问题时典型的商务计算问题,会引申出很多重要的测试问题

一个销售人员代销步枪,包括枪机(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  

优质内容筛选与推荐>>
1、Windows消息机制
2、iOS开源项目(新)
3、基于SQL SERVER 分页存储过程的演进
4、最长递增子序列——花了好久才做成的~
5、hdu 1394 线段树or 树状数组


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号