首页 > 其他分享 >软件测试赛样题第 8 套

软件测试赛样题第 8 套

时间:2024-07-27 09:57:01浏览次数:11  
标签:assertThat String 赛样题 测试 Test import public 软件测试

 题目1:

根据下列流程图编写程序实现相应处理,执行j=10*x-y返回文字“j1=:”和计算值,执行j=(x-y)*(10⁵%7)返回文字“j2=:”和计算值,执行j=y*log(x+10)返回文字“j3=:”和计算值。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足判定覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用assertThat中startsWith断言判断输出文字结果开头期望结果值和实际返回值是否一致。

被测试代码:

import java.text.MessageFormat;

public class TM10 {
    public String tm10(int x, int y) {
        double j;
        if (x > 60 && y < 35) {
            j = 10 * x - y;
            return MessageFormat.format("j1={0}",j);
        } else {
            if (x == 25 && y > 50) {
                j =y*Math.log(x+10);
                return MessageFormat.format("j3={0}",j);
            }else {
                j = (x -y) * (Math.pow(10,5)%7);
                return MessageFormat.format("j2={0}",j);
            }
        }
    }
}

测试代码:

import org.junit.Test;

import static org.hamcrest.CoreMatchers.startsWith;
import static org.hamcrest.MatcherAssert.assertThat;

public class TM10Test {
    private TM10 tm10 = new TM10();
    @Test
    public void Test01(){
        assertThat(tm10.tm10(100,20),startsWith("j1=980"));
    }
    @Test
    public void Test02(){
        assertThat(tm10.tm10(25,20),startsWith("j2=25"));
    }
    @Test
    public void Test03(){
        assertThat(tm10.tm10(25,100),startsWith("j3=355"));
    }
}

 题目2:

根据下列流程图编写程序实现相应分析处理并显示结果。返回结果“a=x:”(x为2、3或4);其中变量x、y均须为整型。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用assertThat中equalTo断言判断期望结果值和实际返回值是否一致。

被测试代码:

public class TM1 {
    public String tm1(int x,int y){
        int a = 0;
        if ( x>= 80 && y>60){
            if (!(x >=90 || y>= 90)){
                a = 2;
            }
        }else if (x <= 70 || y<= 70){
            a= 3;
        }else {
            a = 4;
        }
        return MessageFormat.format("a={0}",a);
    }
}

测试代码:

import org.hamcrest.CoreMatchers;
import org.junit.Test;

import static org.hamcrest.MatcherAssert.assertThat;

public class TM1Test {
    private TM1 tm1 = new  TM1();

    @Test
    public void Test01(){
        assertThat(tm1.tm1(80,80), CoreMatchers.equalTo("a=2"));
    }
    @Test
    public void Test02(){
        assertThat(tm1.tm1(70,70), CoreMatchers.equalTo("a=3"));
    }
    @Test
    public void Test03(){
        assertThat(tm1.tm1(75,75), CoreMatchers.equalTo("a=4"));
    }
}

 题目3:

填写快递单时通常需要确定接收人的姓名、手机号和地址。其中要求手机号是 11 位数字字符,地址为字母开头的 10个(含10)以内字母或字母数字共同组成。填写正确则提示“OK”,否则根据实际情况提示“**不符合要求”(**为手机号或地址),退出。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足判定覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用assertThat中equalTo断言判断输出文字期望结果值和实际返回值是否一致。

被测试代码:

public class TM3 {
    public String tm3(String phone, String address) {
        boolean phoneCheck = phone.matches("[0-9]{11}");
        boolean addressCheck = address.matches("^[a-zA-Z][a-zA-Z0-9]{9}");
        if (phoneCheck && addressCheck){
            return "OK";
        }else if (!phoneCheck && addressCheck){
            return "手机号不符合要求";
        }else if (phoneCheck && !addressCheck){
            return "地址不符合要求";
        }else {
            return "手机号和地址不符合要求";
        }
    }
}

测试代码:

import org.junit.Test;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.MatcherAssert.assertThat;

public class TM3Test {
    private TM3 tm3 = new TM3();

    @Test
    public void Test01(){
        assertThat(tm3.tm3("13055544446","T123456789"),equalTo("OK"));
    }
    @Test
    public void Test02(){
        assertThat(tm3.tm3("1305554444","T123456789"),equalTo("手机号不符合要求"));
    }
    @Test
    public void Test03(){
        assertThat(tm3.tm3("13055544446","T12345678"),equalTo("地址不符合要求"));
    }
    @Test
    public void Test04(){
        assertThat(tm3.tm3("1305554444","T12345679"),equalTo("手机号和地址不符合要求"));
    }
}

 题目4:

根据下列流程图编写程序实现相应分析处理并显示结果。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,测试类使用参数化测试(@Parameters)完成测试。使用assertEquals判断输入数据测试方法期望结果值和实际返回值是否一致。

被测试代码:

public class TM8 {
    public String tm8(String username,String password){
        if (username == null && password == null){
            return "用户名或密码不能为空";
        } else if (username.equals("admin") && password.equals("123")) {
            return "登录成功";
        } else if (!username.equals("admin") && password.equals("123")) {
            return "请输入正确的用户名";
        }else if (username.equals("admin") && !password.equals("123")) {
            return "请输入正确的密码";
        }else {
            return "请输入正确的用户名和密码";
        }
    }
}

测试代码:

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;

import java.util.Arrays;
import java.util.Collection;

import static junit.framework.TestCase.assertEquals;

@RunWith(Parameterized.class)
public class TM8Test {
    private TM8 tm8 = new TM8();
    private String username;
    private String password;
    private String result;
    public TM8Test(String username,String password,String result){
        this.username = username;
        this.password = password;
        this.result = result;
    }

    @Parameterized.Parameters
    public static Collection param(){
        return Arrays.asList(new Object[][] {
                {null,null,"用户名或密码不能为空"},
                {"admin","123","登录成功"},
                {"admi","123","请输入正确的用户名"},
                {"admin","1234","请输入正确的密码"},
                {"adn","125","请输入正确的用户名和密码"},
        });
    }

    @Test
    public void Test01(){
        assertEquals(tm8.tm8(username,password),result);
    }
}

标签:assertThat,String,赛样题,测试,Test,import,public,软件测试
From: https://blog.csdn.net/2301_81199853/article/details/140730657

相关文章

  • 软件测试赛样题第 7 套
      题目1:任意输入2个正整数值分别存入x、y中,据此完成下述分析:若x≤0或y≤0,则提示:“输入不符合要求。”;若2值相同,则提示“可以构建圆形或正方形”;若2<|x-y|≤5,则提示“可以构建椭圆”;若|x-y|>5,则提示“可以构建矩形”;若0<|x-y|≤2,提示“可以构建长方形”。编写程序代码,使用JU......
  • 【软件测试】一篇入门软件测试
    目录一、测试理论1.1了解软件测试1.2测试常用分类按阶段划分代码可见度划分1.3测试流程1.4软件测试模型V模型W模型1.5 冒烟测试......
  • 【转】软件测试的4个职业阶段,你在哪个阶段?(另回答:QA与测试的区别在哪?)
    最近一直在忙的项目刚刚上线交付完成,让自己有了些许喘息的时间。人总是这样,在忙碌的时候,能心无旁骛关注并做好一件事,已是万幸。而全力而为之后的闲暇总是如此的珍贵,在这难得的空隙中,不自觉的开始对自己的职业规划进行了重新审视。回首过去,我意识到,很多像我一样从事软件测......
  • 软件测试面试“这个接口测试面试题”你都不会还来面试?
    很多人会谈论接口测试。到底什么是接口测试?如何进行接口测试?这篇文章会帮到你。前端和后端在谈论接口测试之前,让我们先明确前端和后端这两个概念。前端是我们在网页或移动应用程序中看到的页面,它由HTML和CSS编写而成,让我们看到漂亮的页面,并进行一些简单的校验,例如确保必......
  • 软件测试理论知识-分类和方法
    一、软件测试分类汇总分类方法分类内容按开发阶段单元测试、集成测试、系统测试、验收测试按测试实施组织α、β、第三方按测试执行方式静态测试、动态测试按是否查看代码黑盒测试、白盒测试、灰盒测试按是否手工执行划分手工测试、自动化测试按测试对......
  • 软件测试——缺陷编写
    缺陷编写以以前编写的区号的测试用例来说,假如有一个验证程序,验证完得到以下结果可以发现有两条不能通过的案例(标红)缺陷编写缺陷标题想要达到的效果:知道问题在哪缺陷标题分析:测试数据+执行结果(预期)测试数据+执行结果(需求)测试数据+预期+实际缺陷的跟踪流程提交缺陷......
  • 软件测试-计算机软硬件
    软件测试-计算机软硬件软件测试的定义在规定的条件下队程序进行操作,以发现程序错误,衡量软件的质量,并对其是否能满足设计要求进行评估的过程简单来说,软件测试是一种实际输出与预期输出之间的审核或者比较过程为什么不让开发自己做测试1:开发者自身的思维定式2:测试的力度3:测......
  • 深入了解软件测试:从入门到奥秘,揭开测试的精髓
    最新技术资源:(建议收藏)https://www.grapecity.com.cn/resources/前言在软件开发的世界中,软件测试是不可或缺的一部分。它是确保软件质量、功能完整性和用户满意度的关键环节。本文小编将为大家介绍各类软件测试的奥秘,并提供入门级的指导和见解。本文内容概要:软件测试是什......
  • 关于软件测试环境的使用说明
    软件环境主要有开发环境、测试环境、准生产环境、生产环境,另外根据项目需要可能会有演示环境、灰度环境等,在不同环境测试人员分别进行如下主要工作。搭建和使用测试环境时,务必考虑不对生产环境的正常运行和数据正确造成任何非期许的影响,不能触发生产环境的真实业务。1 开发环境......
  • 软件测试入门---(二)
    1.软件生命周期是软件开始研制到最终被废弃不用所经历的各个阶段。瀑布型模型:自上而下有顺序性缺点:测试介入比较晚,回溯成本比较高,测试周期比较长(企业基本不用这个模型)V模型:开发和测试同时进行敏捷开发模型:以人为核心,弱化文档,通过人与人之间的沟通实现需求分析特点:快......