软件测试:实验二 白盒测试技术

一、实验目的

  1. 掌握静态白盒测试的技术和原理。
  2. 掌握逻辑覆盖测试的方法和原理。
  3. 掌握基本路径测试的方法和原理。

二、实验要求

  1. 掌握静态白盒测试的技术和原理。
  2. 按照实验题目要求,完成指定程序的白盒测试。

三、实验内容与步骤

1 、逻辑覆盖测试。请编写测试用例指定函数进行逻辑覆盖测试。代码如下:

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| public int getNmb(int x, int y) { int z = 1; int ret = 0; if(x<0){ z = y-x; //语句块1 } else{ z= y+x; //语句块2 } if(z>10 && y>0){ ret = z*y; //语句块3 } else{ ret = z*x; //语句块4 } return ret; //语句块5 } |

测试用例:

①输入 x < 0, z > 10, y > 0;

x=-1,y=10,z=11,ret=110

②输入 x < 0, z <= 10, y <= 0;

x=-1,y=-8,z=-7,ret=7

③输入 x >= 0, z > 10, y > 0;

x=3,y=10,z=13,ret=130

④输入 x >= 0, z <= 10, y <= 0;

x=2,y=-9,z=-7,ret=-14

2 、基本路径测试。请编写测试用例指定函数进行基本路径测试。代码如下:

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 public int getCode(int num, int cycle, boolean flag) 2 { 3 int ret = 0; 4 while( cycle > 0 ) ① 5 { 6 if ( flag == true ) ② 7 { 8 ret = num - 10; ③ 9 break; ④ 10 } 11 else ⑤ 12 { 13 if( num%2 ==0 ) ⑥ 14 { 15 ret = ret * 10; ⑦ 16 } 17 else⑧ 18 { 19 ret = ret + 1;⑨ 20 } 21 } 22 cycle--;⑩ 23 } 24 return ret; ⑪ 25 } |

①⑪(cycle <= 0)

cycle = -1, ret = 0

①②③④⑩(cycle > 0, flag = true)

cycle = 2, flag = true, num = 21 ,ret = 11

①⑤⑥⑦(cycle > 0, flag = false, num % 2 == 0)

cycle = 2, flag = false, num = 30 ,ret = 0

①⑤⑧⑨(cycle > 0, flag = false)

cycle = 3, flag = false, num = 21 ,ret = 1

相关推荐
小钻风33661 天前
软件测试: 从入门到实践 (接口测试)
软件测试·python
0和1的舞者3 天前
《软件测试分类指南:8 大维度 + 核心要点梳理》
java·软件测试·单元测试·测试·黑盒测试·白盒测试·测试分类
软件测试雪儿5 天前
Postman越来越难用了
软件测试·测试工具·jmeter·postman
爱吃 香菜5 天前
一文掌握接口测试三大工具:Jmeter、Postman、PyCharm
自动化测试·软件测试·测试工具·jmeter·接口测试·postman·职场经验
超的小宝贝5 天前
软件测试期末复习
软件测试·测试
百度测试开发5 天前
【最细】软件测试面试项目讲解,项目经验,功能到接口到自动化...
自动化测试·软件测试·功能测试·软件测试工程师·接口测试·软件测试项目·软件测试面试
爱思德学术5 天前
中国计算机学会(CCF)推荐学术会议-A(软件工程/系统软件/程序设计语言):ISSTA 2026
软件测试·软件工程·软件分析
百度测试开发6 天前
测试经验分享,Web自动化测试+性能测试面试项目讲解(详情)
自动化测试·软件测试·软件测试工程师·接口测试·软件测试项目·软件测试面试·性能测试
软件测试小仙女6 天前
认真测试大语言模型(LLM)
软件测试·人工智能·测试工具·ai·语言模型·自然语言处理·llm