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



    前言

           请通过黑盒测试的边界值分析法和等价类划分法来进行问题的解析并编写用例。
    • 某公司生产机器人及部件,机器人包含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);
            }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    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执行输入非法
  • 相关阅读:
    《 合 成 大 西 瓜 》 重 制 版 !( 联 机 版 在 做 了 )
    2022牛客蔚来杯第十场 FHIE
    postman使用旧版本报错version mismatch detected后如何恢复使用
    [LeetCode周赛复盘] 第 361 场周赛20230906
    Android入门第3天-在Android Studio里配置虚拟器
    SpringBoot定时任务 - 经典定时任务设计:时间轮(Timing Wheel)案例和原理
    Oncommand解析代码
    LabVIEW中管理项目
    [buuctf.reverse] 152-154
    动态规划股票问题对比
  • 原文地址:https://blog.csdn.net/pdsu_Zhe/article/details/127689733