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

第三次作业

第一题

采用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 {
   @Test
   public void test(){
       getMax Max=new getMax();
       int max= Max.get_max(7,9,8);
       Assert.assertEquals(9,max);
   }

   @Before
   public void setUp() throws Exception {
   }

   @After
   public 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/软件工程发请求也得行(这样子就少了很多分析啦~)

  • 15
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王翊珩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值