【软件测试】使用边界值分析法和等价类划分法计算佣金


前言

       请通过黑盒测试的边界值分析法和等价类划分法来进行问题的解析并编写用例。
• 某公司生产机器人及部件,机器人包含3大部件:主控模块、通信模块及执行模块。该公司的代理商负责销售机器人整机和部件;公司要求每个代理商每月最少销售一整套机器人(即三类部件至少各销售一个);受限于公司产能,公司每个月最多给每个代理商提供80个主控模块、90个通信模块以及100个执行模块。每个主控模块售价90元、每个通信模块售价60元、每个执行模块售价50元。到6月末的时候,公司会根据代理商的销售情况计算佣金。
• 佣金计算方法如下:
• 销售额在1000元以下(含)的部分,佣金为10%;
• 超过1000元但不超过2400元(含)的部分,佣金为15%;
• 超过2400的部分,佣金为20%。


1、边界值分析法

1.1 边界分析

       从输入域的角度设计测试用例。本题中,输入条件主要是3个:主控模块、通信模块和执行模块的销售量。而每个输入条件都只有2个边界点:最低销售量和最高提供量。

模块输入域边界值选取
主控模块1≤主控≤80{0,1,2,40,79,80,81}
通信模块1≤通信≤90{0,1,2,45,89,90,91}
执行模块1≤执行≤100{0,1,2,50,99,100,101}

1.1.1 设计测试用例

测试用例主控通信执行总销售额预期输出
Test1045505200主控输入非法
Test2145505290佣金:888
Test3245505380佣金:906
Test479455012310佣金:2292
Test580455012400佣金:2310
Test681455012490主控输入非法
Test7400506100通信输入非法
Test8401506160佣金:1062
Test9402506220佣金:1074
Test1040895011440佣金:2118
Test1140905011500佣金:2130
Test1240915011560通信输入非法
Test13404506300执行输入非法
Test14404516350佣金:1100
Test15404526400佣金:1110
Test1640459911250佣金:2080
Test17404510011300佣金:2090
Test18404510111350执行输入非法
Test194045508800佣金:1590

1.2 程序源码

package com.pdsu.test;
import java.util.Scanner;
public class test01 {

        public static void main(String[] args) {

            Scanner sc = new Scanner(System.in);

            //判断主控模块
            System.out.println("输入主控模块的销售量:");
            double zhu = sc.nextInt();
            if (zhu < 1 || zhu > 80) {
                System.out.println("主控模块输入错误");
                System.exit(0);
            }
            //判断通信模块
            System.out.println("输入通信模块的销售量:");
            double tong = sc.nextInt();
            if (tong < 1 || tong > 90) {
                System.out.println("通信模块输入错误");
                System.exit(0);
            }
            //判断执行模块
            System.out.println("输入执行模块的销售量:");
            double zhi = sc.nextInt();
            if (zhi < 1 || zhi > 100) {
                System.out.println("执行模块输入错误");
                System.exit(0);
                            }
            double sum = zhu * 90 + tong * 60 + zhi * 50;
            System.out.println("总销售额为:" + sum);
            double x = sum,m = 0;
            if (x <= 1000) {
                m = x * 0.1;
            } else if (x <= 2400) {
                m = (x - 1000) * 0.15 + 100;
            } else {
                m = (x - 2400) * 0.2 + 310;
            }
            System.out.println("佣金:" + m);
        }
}

2、等价类划分法

2.1 划分等价类

在这里插入图片描述

2.2 为有效等价类设计测试用例

在这里插入图片描述

2.3 为无效等价类设计测试用例

在这里插入图片描述


3.拓展

3.1次边界分析

       在输出域的选择上,取销售额作为中间输出域进行边界值测试。因为代理商每月最低售出主控模块1块、通信模块1块、执行模块1块.其销售额为200,佣金为20元.最多售出主控模块80块、通信模块90块、执行模块100块,其销售额为17600元,佣金为3350元.
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

3.1.1 设计测试用例

测试用例主控通信执行总销售额预期输出
Test1110150执行输入非法
Test2111200佣金:20最小值
Test3112250佣金:25
Test411361950佣金:242.5
Test511372000佣金:250
Test611382050佣金:257.5
Test7393925950佣金:1020
Test8393936000佣金:1030
Test9393946050佣金:1040
Test1080909917550佣金:3340
Test11809010017600佣金:3350
Test12809010117650执行输入非法
  • 10
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慢热型网友.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值