实验二 141 汤阳斌

一、实验目的

掌握基于覆盖理论与基本路径的基本白盒测试方法和实践

二、实验要求

运用逻辑覆盖测试的覆盖准则设计被测程序的测试用例,并运行测试用例检查程序的正确与否,给出程序缺陷小结。

三、实验内容

根据各位同学自己的被测程序,分别作出各类白盒测试技术的用例设计和相应的Junit脚本。

所有的覆盖的技术:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖,基本路径测试方法。

包括的内容有:

1)  被测代码

package demo;
import java.util.Scanner;

public class Commission {
    /*
     * hp:耳机 80元 mpc:手机壳 10元 cpsp:手机贴膜 8元
     */

    public static void main(String[] args) {
        String line;
        int hp = 0, mpc = 0, cpsp = 0;
        String[] input = null;
        float money = 0;
        @SuppressWarnings("resource")
        Scanner scanner = new Scanner(System.in);
        while (true) {

            System.out.println("请分别输入三种手机配件的销售情况:");
            line = scanner.nextLine();

            // 【去掉字符串前后的空格】
            line = line.trim();
            // 【去掉字符串中多余的空格】
            line = line.replaceAll("\\s{1,}", " ");

            input = line.split(" ");
            if (Judge(input)) {
                // 判断是否不小于0
                if ((hp = Integer.parseInt(input[0])) < 0) {
                    System.out.println("输入数量不满足要求");
                    continue;
                }
                if ((mpc = Integer.parseInt(input[1])) < 0) {
                    System.out.println("输入数量不满足要求");
                    continue;
                }
                if ((cpsp = Integer.parseInt(input[2])) < 0) {
                    System.out.println("输入数量不满足要求");
                    continue;
                }
            } else {
                System.out.println("输入数量不满足要求");
                continue;
            }
            money = commission(hp, mpc, cpsp);
            System.out.println("佣金金额:" + money);
        }

    }

    // 计算佣金
    private static float commission(int hp, int mpc, int cpsp) {
        float commission = 0;
        int total = hp * 80 + mpc * 10 + cpsp * 8;
        if (total < 1000) {
            commission = (float) (total * 0.1);
        } else if (total <= 1800) {
            commission = (float) (1000 * 0.1 + (total - 1000) * 0.15);
        } else {
            commission = (float) (1000 * 0.1 + 800 * 0.15 + (total - 1800) * 0.2);
        }
        return commission;
    }

    // 判断用户输入的是不是三个整数
    private static boolean Judge(String[] input) {
        String number = "0123456789";
        // 判断输入的是不是三个字符串
        if (input.length != 3) {
            return false;
        }
        // 判断三个字符串是不是纯数字且不含小数点
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < input[i].length(); j++) {
                if ("+-".indexOf(input[i].charAt(0)) == 1) {
                    continue;
                }
                if (number.indexOf(input[i].charAt(j)) == -1) {
                    return false;
                }
                // 【判断输入的字符串是否大于整型的最大数值】
                if (Long.parseLong(input[i]) > Integer.MAX_VALUE || input[i].length() > 10) {
                    return false;
                }
            }
        }
        return true;
    }
}

2)依据覆盖技术,测试用例列表:

<1>语句覆盖

A-E;A-B-E;A-B-C-E;A-B-C-D-E;A-B-C-D-F-H;A-B-C-D-F-G-I-K;A-B-C-D-F-G-J

测试用例:

<2>判定覆盖(条件覆盖、路径覆盖)

3.相应Junit测试脚本、执行结果

测试小结:

时间: 2024-07-28 23:56:48

实验二 141 汤阳斌的相关文章

实验四+141+汤阳斌

一.实验目的 1) 学习QTP工具的使用 2)了解黑盒自动化测试 二.实验要求 (1)对被测程序进行黑盒测试用例设计 (2)对QTP的飞机订票系统的任一界面或控件实现自动化测试.(测试的具体自选) (3)写出该程序的缺陷. 三.实验内容 1.对QTP的样例小程序飞机订票系统,实现自动化测试.(学号被3整除,测3a;余1,测3b:余2,测4a) 2.要求: 1)写出飞机订票系统的被测需求. 自行选择需要测试的部分,根据自己的能力,可大,可小. 描述,被测程序,与被测部分的功能. 2)设计测试用例.

实验三+141+汤阳斌

一.实验目的 掌握黑盒测试用例设计方法 二.实验要求 (1)对被测程序进行黑盒测试用例设计 (2)运用等价类.边界值.决策表.状态图法等进行测试用例设计. (3)对手机上任意一款音乐软件进行黑盒测试实践.(作业若雷同,后上传者判定0分) 三.实验内容 1.对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结. 要求写出测试用例表.执行情况和测试小结. 2.对手机上任意一款音乐软件进行黑盒测试. 要求:1)使用思维导图 2)根据场景法.状态图法 设计测试用例. 3)附加题:如有可

第五次作业+141+汤阳斌

1)被测项目界面   2)测试用例设计表 等价类测试 边界值法测试: 决策表法: 3)测试结论 4)给开发同学的建议

第4次作业类测试代码+141+汤阳斌

1.类图: 2.界面和相应功能: 计算销售额最大的配件 //销售额最大的配件 public static String mostSale(int hp, int mpc, int cpsp){ String mostsale = null; int my_hp = 0,my_mpc = 0,my_cpsp = 0; my_hp = hp*80; my_mpc = mpc * 10; my_cpsp = cpsp * 8; if(my_hp > my_mpc){ if(my_hp > my_cp

实验二+070+胡阳洋

一.实验目的 掌握基于覆盖理论与基本路径的基本白盒测试方法和实践 二.实验要求 运用逻辑覆盖测试的覆盖准则设计被测程序的测试用例,并运行测试用例检查程序的正确与否,给出程序缺陷小结. 三.实验内容 根据各位同学自己的被测程序,分别作出各类白盒测试技术的用例设计和相应的Junit脚本. 所有的覆盖的技术:语句覆盖.判定覆盖.条件覆盖.判定/条件覆盖.组合覆盖.路径覆盖,基本路径测试方法. 包括的内容有: 1) 被测原代码 import java.util.Scanner; public class

实验二十四:SD卡模块

  驱动SD卡是件容易让人抓狂的事情,驱动SD卡好比SDRAM执行页读写,SD卡虽然不及SDRAM的麻烦要求(时序参数),但是驱动过程却有猥琐操作.除此此外,描述语言只要稍微比较一下C语言,描述语言一定会泪流满面,因为嵌套循环,嵌套判断,或者嵌套函数等都是它的痛.. 史莱姆模块是多模块建模的通病,意指结构能力非常脆弱的模块,暴力的嵌套行为往往会击垮模块的美丽身躯,好让脆弱结构更加脆弱还有惨不忍睹,最终搞垮模块的表达能力.描述语言预想驾驭SD卡,关键的地方就是如何提升模块的结构能力.简单而言,描述

操作系统(实验二、作业调度模拟程序实验)

实验二.作业调度模拟程序实验 专业 商业软件工程   姓名 丘惠敏 学号 201406114203 一.        实验目的   (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 二.        实验内容和要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 三.        实验方法.步骤及结果测试   1.   

1111《操作系统教程》实验二 作业调度模拟程序

实验二 作业调度模拟程序 一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 作业调度算法: 1) 采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2) 短作业优先 (SJF

实验二作业调度模拟程序实验报告

实验二作业调度模拟程序 网络工程专业   姓名:蔡利聪  学号:201306114117 一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 作业调度算法: 1)       采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进