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

软件测试赛样题第 7 套

时间:2024-07-26 09:26:35浏览次数:15  
标签:assertThat 赛样题 void equalTo month Test public 软件测试

  题目1:

任意输入2个正整数值分别存入x、y中,据此完成下述分析:若x≤0或y≤0,则提示:“输入不符合要求。”;若2值相同,则提示“可以构建圆形或正方形”;若2<|x-y|≤5,则提示“可以构建椭圆”;若|x-y|>5,则提示“可以构建矩形”;若0<|x-y|≤2,提示“可以构建长方形”。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用assertEquals判断输入数据测试方法期望结果值和实际返回值是否一致。

被测试代码:

public class TM9 {
    public String tm9(int x,int y){
        if (x <=0 || y<=0 ){
            return "输入不符合要求";
        }else if (x == y){
            return "可以构建圆形或正方形";
        }else if (Math.abs(x-y)>2 && Math.abs(x-y)<= 5){
            return "可以构建椭圆";
        }else if (Math.abs(x-y)<=2 ){
            return "可以构建长方形";
        }else {
            return "可以构建矩形";
        }
    }
}

测试代码:

import org.junit.Test;

import static junit.framework.TestCase.assertEquals;

public class TM9Test {
    private TM9 tm9 = new TM9();
    @Test
    public void Test01(){
        assertEquals(tm9.tm9(0,0),"输入不符合要求");
    }
    @Test
    public void Test02(){
        assertEquals(tm9.tm9(1,1),"可以构建圆形或正方形");
    }
    @Test
    public void Test03(){
        assertEquals(tm9.tm9(10,1),"可以构建矩形");
    }
    @Test
    public void Test04(){
        assertEquals(tm9.tm9(4,2),"可以构建长方形");
    }
    @Test
    public void Test05(){
        assertEquals(tm9.tm9(6,3),"可以构建椭圆");
    }
}

 题目2:

根据输入的年份和月份判断月份的天数。若月份不在有效范围之内,应提示:“月份输入不正确。”。月份不为2月,根据输入月份输出对应的月份天数。月份为2月,根据年份判断如为普通闰年,输出2月份正确天数;如为世纪闰年,输出2月份正确天数;不为闰年输出2月份天数。返回结果格式:“year年month月份的天数是days天。”year、month为传入的值,days为判断得到的天数值。其中变量year、month均须为正整数。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用assertThat中equalTo断言判断返回期望结果和实际返回是否一致。

被测试代码:

public class TM2 {
    public String tm2(int year, int month) {
        if (month > 12) {
            return "月份输入不正确";
        }
        int days;
        if (month == 2) {
            if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
                days = 29; // 论年
            } else {
                days = 28; // 非论年
            }
        } else if (month == 1 | month == 3 | month == 5 | month == 7 | month == 8 | month == 10 | month == 12) {
            days = 31; // 大月
        } else {
            days = 30; // 小月
        }
        return year + "年" + month + "月份的天数是" + days + "天";
    }
}

测试代码:

import org.junit.Test;

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

public class TM2Test {
    private TM2 tm2 = new TM2();

    @Test
    public void Test01(){
        assertThat(tm2.tm2(2000,2),equalTo("2000年2月份的天数是29天"));
    }
    @Test
    public void Test02(){
        assertThat(tm2.tm2(1900,2),equalTo("1900年2月份的天数是28天"));
    }
    @Test
    public void Test03(){
        assertThat(tm2.tm2(2004,2),equalTo("2004年2月份的天数是29天"));
    }
    @Test
    public void Test04(){
        assertThat(tm2.tm2(2001,2),equalTo("2001年2月份的天数是28天"));
    }
    @Test
    public void Test05(){
        assertThat(tm2.tm2(2000,6),equalTo("2000年6月份的天数是30天"));
    }
    @Test
    public void Test06(){
        assertThat(tm2.tm2(2000,7),equalTo("2000年7月份的天数是31天"));
    }
}

 题目3:

邮箱注册需要填写邮箱地址和密码。其中要求邮箱格式“登录名@主机名.域名”,登录名为5个字母,主机名固定为下面2个163、126,域名为com或com.cn。密码为6个(含6)以上数字组成。填写正确则提示“信息正确”,否则根据实际情况提示“**不符合要求”(**为邮箱地址或密码)。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足语句覆盖测试,每条测试数据需要在测试类中编写一个测试方法。使用assertThat中equalTo断言判断输出文字期望结果值和实际返回值是否一致。

被测试代码:

public class TM12 {
    public String tm12(String email,String password){
        boolean emailCheck = email.matches("[a-zA-Z]{5}@(163|126)\\.com(\\.cn)?");
        boolean passwordCheck = password.matches("[0-9]{6,}");
        if (emailCheck && passwordCheck){
            return "信息正确";
        }else if (!emailCheck && passwordCheck){
            return "邮箱地址不符合要求";
        }else if (emailCheck && !passwordCheck){
            return "密码不符合要求";
        }else {
            return "邮箱地址和密码不符合要求";
        }
    }
}

测试代码:

import org.junit.Test;

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

public class TM12Test {
    private TM12 tm12 = new TM12();
    @Test
    public void Test01(){
        assertThat(tm12.tm12("[email protected]","1234567"),equalTo("信息正确"));
    }
    @Test
    public void Test02(){
        assertThat(tm12.tm12("[email protected]","1234576"),equalTo("邮箱地址不符合要求"));
    }
    @Test
    public void Test03(){
        assertThat(tm12.tm12("[email protected]","1237"),equalTo("密码不符合要求"));
    }
    @Test
    public void Test04(){
        assertThat(tm12.tm12("abc163.com","1237"),equalTo("邮箱地址和密码不符合要求"));
    }
}

 题目4:

输入小写的字符串。如字符串前缀为ab开头,则将前缀ab替换为ef并打印出替换后字符串,返回文字“替换前缀后的字符串为:”和替换后字符串值;如后缀为cd并且前缀不为ab,替换字符串中所有cd为gh并打印出替换后字符串,返回文字“替换cd后的字符串为:”和替换后字符串值;否则全部字母大写输出,返回文字“大写字母的字符串为:”和转换后的字符串值。编写程序代码,使用JUnit框架编写测试类对编写的程序代码进行测试,测试类中设计最少的测试数据满足条件覆盖测试,测试类使用参数化测试(@Parameters)完成测试。使用assertEquals判断期望结果值和实际返回值是否一致。

被测试代码:

public class TM4 {
    public String tm4(String str) {
        if (str.matches("ab.*")){
            return "替换前缀后的字符串为:".concat(str.replaceFirst("ab","ef"));
        }else if (str.matches(".*cd")){
            return "替换cd后的字符串为:".concat(str.substring(0,str.length()-2)+"gh");
        }else {
            return "大写字符的字符串是".concat(str.toUpperCase());
        }
    }
}

测试代码:

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 TM4Test {
   private TM4 tm4 = new TM4();
   private String str;
   private String result;

   public TM4Test(String str,String result){
       this.str = str;
       this.result = result;
   }
   @Parameterized.Parameters
   public static Collection parm(){
        return Arrays.asList(new Object[][]{
           {"abcdef","替换前缀后的字符串为:efcdef"},
           {"cdcdcd","替换cd后的字符串为:cdcdgh"},
           {"wrwr","大写字符的字符串是WRWR"}
       });
    }

    @Test
    public void Test01(){
        assertEquals(result,tm4.tm4(str));
    }
}

标签:assertThat,赛样题,void,equalTo,month,Test,public,软件测试
From: https://blog.csdn.net/2301_81199853/article/details/140681057

相关文章

  • 【软件测试】一篇入门软件测试
    目录一、测试理论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模型:开发和测试同时进行敏捷开发模型:以人为核心,弱化文档,通过人与人之间的沟通实现需求分析特点:快......
  • 3、软件测试
    一、软件测试分类(重要) 1、按照开发阶段划分a.单元测试又称为模块测试。分成一个个小模块去测试。一般读程序和代码。大多数时候单元测试都是由开发人员自己去完成b.集成测试又称为组装测试,将所有的程序模块进行有序的测试。比较多的涉及到接口测试,企业非常需要接口测试工程......