电子科大软件测试~第三次作业

第三次作业

第一题

采用JUnit软件测试框架进行测试程序编程,实现对下面java程序进行单元测试,找出其中缺陷。然后修改缺陷,直到通过单元测试,给出测试程序脚本和运行结果界面。

public class getMax {public int get_max(int x, int y, int z) {int max;if (x >= y) max = x;else max = y;if (z >= x)max = z;return max;}
}

答:

测试程序脚本:

import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import junit.framework.TestCase;public class getMaxTest extends TestCase {@Testpublic void test(){getMax Max=new getMax();int max= Max.get_max(7,9,8);Assert.assertEquals(9,max);}@Beforepublic void setUp() throws Exception {}@Afterpublic void tearDown() throws Exception {}
}

以下是运行结果,发现代码有缺陷:z如果比x大,但比y小,程序会输出z,而实际情况是y最大。

修改缺陷,以下是修改后的源程序:

public class getMax {public int get_max(int x, int y, int z) {int max;if (x >= y) max = x;else max = y;if (z >= max)max = z;return max;}
}

其实就是将其中一个x改成max

以下是单元测试通过的界面:

缺陷修改成功。

第二题

采用Postman接口测试软件对百度百科https://baike.baidu.com/搜索引擎进行接口测试。如对词条“软件工程”返回页面内容进行测试验证,给出请求参数设置、Tests脚本、Body响应结果、Test Results结果说明及运行界面。


以下是笔者的分析过程:

​ 在百度百科页面搜索软件工程,得到的网址如下:

https://baike.baidu.com/item/软件工程/25279?fromModule=lemma_search-box

如果是常规的get请求(大多数项目开发者会这样设置),在url里面应该有?word=软件工程的字符串(不一定是word这个单词,举这个例子表示形如这个url),但是该链接并不如此。

​ 于是猜测是post请求,F12打开开发者工具对输入框进行分析,发现它在form表单里,初步断定是post请求,但是这个表单不是向当前网址提交的,表单的action属性是/seach/word,所以请求的url应该是其对应的绝对路径(还得拐个弯🥺),为https://baike.baidu.com/search/word

​ 还要注意到表单的method是GET方法,于是我大胆的猜测get方法也可以,经过postman测试,用get方法向https://baike.baidu.com/search也可以达到预期目标。


答:

请求参数设置

URL:https://baike.baidu.com/search/word

Method: post

Body:

​ 键:word 值:软件工程

或者

URL:https://baike.baidu.com/search

Method:GET

参数:

​ 键:word 值:软件工程

Tests脚本

pm.test("Status code is 200", function () {pm.response.to.have.status(200);
});pm.test("Response body is not empty", function () {pm.response.to.have.body();
});pm.test("The response contains the word '软件工程'", function () {pm.expect(pm.response.text()).to.include("软件工程");
});

Body响应结果

把你操作界面的body复制下来就可以啦~内容有很多(毕竟是百度的程序员😎)

Test Results结果

可以看到Status code is 200,Response body is not empty,The response contains the word ‘软件工程’,三次测试全部通过。

运行界面

但是为了图方便感觉用get直接向https://baike.baidu.com/item/软件工程发请求也得行(这样子就少了很多分析啦~)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/238241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

读取导入的excel表格内容,插入到表格,同时做去重,j前端通过js实现模糊查询

1.导入的excel模版 2.点击导入&#xff0c;显示excel导入弹窗 3.点击选择文件&#xff0c;会调用本地文件夹里面的excel文件 4.选中文件&#xff0c;点击 导入 html部分 <a-button type"primary" click"onImportXls">导入</a-button><…

初识Python之Networkx模块

初识Python之Networkx模块 文章目录 初识Python之Networkx模块简介安装Networkx导入模块、查看版本信息一些基本操作创建Graph添加边&#xff08;节点&#xff09;获取Graph的基本信息Graph的基本绘图 简单应用案例使用内置的Graph数据创建一个无向图创建一个有向图在计算机网络…

leetCode算法—14. 最长公共前缀

14.编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 “”。 难度&#xff1a;简单 * 示例 1&#xff1a; 输入&#xff1a;strs [“flower”,“flow”,“flight”] 输出&#xff1a;“fl” 示例 2&#xff1a; 输入&#xff1a…

LeetCode239. Sliding Window Maximum

文章目录 一、题目二、题解 一、题目 You are given an array of integers nums, there is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window. Each time the sliding window m…

【halcon深度学习之那些封装好的库函数】find_dl_samples

函数简介 find_dl_samples 是一个用于检索满足特定条件的深度学习数据集样本索引的过程。让我们逐步详细解释它的输入参数和功能&#xff1a; Samples: 这是包含样本字典或样本字典元组的输入参数。这些样本是将要被搜索的对象。 KeyName: 用于指定要查找的条目的键名。在样本…

关于“Python”的核心知识点整理大全35

目录 13.3.4 重构 create_fleet() game_functions.py 13.3.5 添加行 game_functions.py alien_invasion.py 13.4 让外星人群移动 13.4.1 向右移动外星人 settings.py alien.py alien_invasion.py game_functions.py 13.4.2 创建表示外星人移动方向的设置 13.4.3 检…

【第七在线】可持续时尚与商品计划:减少库存浪费的方法

随着可持续时尚的崭露头角&#xff0c;服装企业越来越重视减少库存浪费。库存浪费不仅对环境造成负面影响&#xff0c;还对企业的经济可持续性产生负面影响。本文将深入探讨可持续时尚与商品计划之间的关系&#xff0c;以及一些减少库存浪费的方法&#xff0c;有助于改进商品计…

源码订货系统的优势

源码订货系统是一种企业购买后可以获得源代码的订货系统&#xff0c;它可以不受软件厂商的规模、发展而修改和使用。与SaaS订货系统相比&#xff0c;核货宝为您分享源码订货系统的四大优势&#xff1a; 一是开放性&#xff1a;源码订货系统是开源的&#xff0c;用户可以掌握源代…

解决IDEA编译/启动报错:Abnormal build process termination

报错信息 报错信息如下&#xff1a; Abnormal build process termination: "D:\Software\Java\jdk\bin\java" -Xmx3048m -Djava.awt.headlesstrue -Djava.endorsed.dirs\"\" -Djdt.compiler.useSingleThreadtrue -Dpreload.project.path………………很纳…

【Python百宝箱】时序之美:Python 时间序列探秘与创新

时光漫游&#xff1a;Python 时间序列分析全指南 前言 在数字化时代&#xff0c;时间序列数据扮演着关键的角色&#xff0c;从金融到气象再到生产制造。本文将引导你穿越Python丰富的时间序列分析工具&#xff0c;探索从基础统计到机器学习和深度学习的各个层面。无论你是初学…

MySQL概括与SQL分类

文章目录 一、计算机语言二、SQL语言三、数据库系统四、MySQL简介 一、计算机语言 二、SQL语言 三、数据库系统 四、MySQL简介

ZZ014城市轨道交通运营与维护赛题第5套

ZZ014城市轨道交通运营与维护赛题第5套 模块1赛题 模块序号 模块1 对应赛项编号 ZZ014 模块名称 城市轨道交通运营服务 子任务数量 12 竞赛时间 60分钟 任务描述 行车组织作业、票务设备故障处置以及突发事件应急处理 职业要素 R基本专业素养 R专业实践技能 R协…

【MySQL】事务、事务隔离级别、死锁

文章目录 1. 事务1.1 事务的属性 ACID1.2 创建事务1.3 autocommit 2. 并发和锁定2.1 并发问题 3. 事务隔离级别3.1 读未提交3.2 读已提交3.3 可重复读&#xff1a;MySQL的默认事务隔离级别3.4 序列化 4. 死锁 1. 事务 事务&#xff1a;单个工作单元的一组SQL语句。事务中的所有…

Python的环境搭建环境配置()

Python 环境搭建 一,下载Python 1.去官网 www.python.org 下载环境 2.如图点击Download 3.选择Windows 4.如图直接下载 5.直接勾选 6.后面就一直默认选项 Win11 安装目录 不能放在C盘的ProgramFIle路径下 二,测试环境是否安装成功 1.winR 输入cmd 2.输入python --versio…

React AntDesign form表单文件上传 nodejs formidable 接受参数并把文件放置后端项目相对目录指定文件夹下面

@umijs/max 请求方法 // 上传文件改成form表单 export async function uploadFile(data, options) {return request(CMMS_UI_HOST + /api/v1/uploadFile, {method: POST,data,requestType: form,...(options || {}),}); }前端调用方法 注意upload组件上传 onChange的如下方法,…

strlen

strlen&#xff08;&#xff09;从字符串的开头位置依次往后面计数&#xff0c;直到遇到‘\0’停止&#xff0c;所计算的字符串大小为‘\0’以前的字符所计算的值&#xff0c;最终的字符串长度不包括‘\0’ 它的原型是size_t strlen(const char* str) 例如一个数组 char arr…

【JS】事件循环机制

一、JS单线程、异步、同步概念 众所周知&#xff0c;JS是单线程&#xff08;如果一个线程删DOM&#xff0c;一个线程增DOM&#xff0c;浏览器傻逼了&#xff5e;所以只能单着了&#xff09;&#xff0c;虽然有webworker酱紫的多线程出现&#xff0c;但也是在主线程的控制下。we…

服务器数据恢复-服务器断电导致linux操作系统数据丢失的数据恢复案例

linux操作系统服务器数据恢复环境&#xff1a; 某品牌R730服务器MD3200系列存储&#xff0c;linux操作系统。 服务器故障&#xff1a; 机房意外断电导致服务器linux操作系统部分文件丢失。 服务器数据恢复过程&#xff1a; 1、将故障服务器连接到北亚企安数据恢复中心备份服务器…

【JVM】一、认识JVM

文章目录 1、虚拟机2、Java虚拟机3、JVM的整体结构4、Java代码的执行流程5、JVM的分类6、JVM的生命周期 1、虚拟机 虚拟机&#xff0c;Virtual Machine&#xff0c;一台虚拟的计算机&#xff0c;用来执行虚拟计算机指令。分为&#xff1a; 系统虚拟机&#xff1a;如VMware&am…

如何在Portainer部署一个web站点到Nginx容器并结合内网穿透远程访问

文章目录 前言1. 安装Portainer1.1 访问Portainer Web界面 2. 使用Portainer创建Nginx容器3. 将Web静态站点实现公网访问4. 配置Web站点公网访问地址4.1公网访问Web站点 5. 固定Web静态站点公网地址6. 固定公网地址访问Web静态站点 前言 Portainer是一个开源的Docker轻量级可视…