[软件测试与质量管理]白盒测试

《软件测试与质量管理》实验报告

学号:

姓名:

机器号: 程序名:

实验内容: (一) 白盒测试 一、目的和要求

1、掌握白盒测试技术,并能应用白盒测试技术设计测试用例 2、能用Junit实施测试 二、实验内容

void DoWork(int x,int y,int z){ 1 int k=0,j=0; 2 if(( x>3 ) && ( z

4 k=x*y-1; 5 j=sqrt(k); 6 }

7 if(( x= =4 ) || ( y>5 )) 8 j=x*y+10; 9 j=j%3; 10 return j; 11 }

说明:程序段中每行开头的数字(1~11)是对每条语句的编号。

(1)分别以语句覆盖、判定覆盖、条件覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。

(2)编写Java类,调用该方法,并用Junit测试工具编写测试代码进行测试。

三、实验流程图

流程图A

流程图B

四、测试用例编写

语句覆盖:

P1:(1-2-3-4-5-6-7-8-9-10-11)令x=5,y=8,z=6;M=T, N=T T1,T2,T3,T4 P2:(1-2-3-4-5-6-9-10-11) 令x=5,y=3,z=6;M=T,N=F T1,T2,F3,F4 P3:(1-7-8-9-10-11) 令x=2,y=8,z=6;M=F,N=T F1,T2,F3,T4 P4:(1-9-10) 令x=2,y=4,z=12; M=F, N=F F1,F2,F3,F4

判定覆盖:

条件覆盖:

路径覆盖:

(2)Junit测试 ①源程序:

public class DoWork {

public DoWork(int x,int y,int z){

int k=0,j=0;

if((x>3) && (z

k=x*y-1;

j=(int) Math.sqrt(k);

}

}

}

if((x==4)||(y>5))

j=x*y+10; j=j%3;

public boolean doWork(int x,int y,int z){ }

return true;

②测试用例(路径覆盖测试用例) a.import junit.framework.*;

import org.junit.Test;

public class TestDoWork extends TestCase { }

private static int x,y,z;

private static DoWork dowork=new DoWork(x,y,z); public void setUp() throws Exception { } @Test

public void testDoWork() { }

assertEquals(true, dowork.doWork(4, 3, 1));

b.import junit.framework.*;

import org.junit.Test;

public class TestDoWork1 extends TestCase { }

private static int x,y,z;

private static DoWork dowork=new DoWork(x,y,z); public void setUp() throws Exception { } @Test

public void testDoWork() { }

assertEquals(true, dowork.doWork(5, 5, 9));

c.import junit.framework.*;

import org.junit.Test;

public class TestDoWork2 extends TestCase { }

private static int x,y,z;

private static DoWork dowork=new DoWork(x,y,z); public void setUp() throws Exception { } @Test

public void testDoWork() { }

assertEquals(true, dowork.doWork(2, 6, 11));

d.import junit.framework.*;

import org.junit.Test;

public class TestDoWork3 extends TestCase { }

private static int x,y,z;

private static DoWork dowork=new DoWork(x,y,z); public void setUp() throws Exception { } @Test

public void testDoWork() { }

assertEquals(true, dowork.doWork(2, 5, 9));

四、测试结果的分析 ①

doWork(5, 8, 6)

②doWork(5, 5, 9)

③doWork(2, 6, 11)

④doWork(2, 5, 9)

五、心得与体会

通过本次实验,学习和掌握了对各种测试方法测试用例的编写和计算,主要是要求熟练运用白盒测试的方法。由于时间原因在实验课上来不及编写Junit测试方法,最终是通过课后的学习结合老师所讲的只是,建立一个被Junit测试的类,以及对应的Junit Test 类,测试结果就轻松得出了。

《软件测试与质量管理》实验报告

学号:

姓名:

机器号: 程序名:

实验内容: (一) 白盒测试 一、目的和要求

1、掌握白盒测试技术,并能应用白盒测试技术设计测试用例 2、能用Junit实施测试 二、实验内容

void DoWork(int x,int y,int z){ 1 int k=0,j=0; 2 if(( x>3 ) && ( z

4 k=x*y-1; 5 j=sqrt(k); 6 }

7 if(( x= =4 ) || ( y>5 )) 8 j=x*y+10; 9 j=j%3; 10 return j; 11 }

说明:程序段中每行开头的数字(1~11)是对每条语句的编号。

(1)分别以语句覆盖、判定覆盖、条件覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。

(2)编写Java类,调用该方法,并用Junit测试工具编写测试代码进行测试。

三、实验流程图

流程图A

流程图B

四、测试用例编写

语句覆盖:

P1:(1-2-3-4-5-6-7-8-9-10-11)令x=5,y=8,z=6;M=T, N=T T1,T2,T3,T4 P2:(1-2-3-4-5-6-9-10-11) 令x=5,y=3,z=6;M=T,N=F T1,T2,F3,F4 P3:(1-7-8-9-10-11) 令x=2,y=8,z=6;M=F,N=T F1,T2,F3,T4 P4:(1-9-10) 令x=2,y=4,z=12; M=F, N=F F1,F2,F3,F4

判定覆盖:

条件覆盖:

路径覆盖:

(2)Junit测试 ①源程序:

public class DoWork {

public DoWork(int x,int y,int z){

int k=0,j=0;

if((x>3) && (z

k=x*y-1;

j=(int) Math.sqrt(k);

}

}

}

if((x==4)||(y>5))

j=x*y+10; j=j%3;

public boolean doWork(int x,int y,int z){ }

return true;

②测试用例(路径覆盖测试用例) a.import junit.framework.*;

import org.junit.Test;

public class TestDoWork extends TestCase { }

private static int x,y,z;

private static DoWork dowork=new DoWork(x,y,z); public void setUp() throws Exception { } @Test

public void testDoWork() { }

assertEquals(true, dowork.doWork(4, 3, 1));

b.import junit.framework.*;

import org.junit.Test;

public class TestDoWork1 extends TestCase { }

private static int x,y,z;

private static DoWork dowork=new DoWork(x,y,z); public void setUp() throws Exception { } @Test

public void testDoWork() { }

assertEquals(true, dowork.doWork(5, 5, 9));

c.import junit.framework.*;

import org.junit.Test;

public class TestDoWork2 extends TestCase { }

private static int x,y,z;

private static DoWork dowork=new DoWork(x,y,z); public void setUp() throws Exception { } @Test

public void testDoWork() { }

assertEquals(true, dowork.doWork(2, 6, 11));

d.import junit.framework.*;

import org.junit.Test;

public class TestDoWork3 extends TestCase { }

private static int x,y,z;

private static DoWork dowork=new DoWork(x,y,z); public void setUp() throws Exception { } @Test

public void testDoWork() { }

assertEquals(true, dowork.doWork(2, 5, 9));

四、测试结果的分析 ①

doWork(5, 8, 6)

②doWork(5, 5, 9)

③doWork(2, 6, 11)

④doWork(2, 5, 9)

五、心得与体会

通过本次实验,学习和掌握了对各种测试方法测试用例的编写和计算,主要是要求熟练运用白盒测试的方法。由于时间原因在实验课上来不及编写Junit测试方法,最终是通过课后的学习结合老师所讲的只是,建立一个被Junit测试的类,以及对应的Junit Test 类,测试结果就轻松得出了。


相关文章

  • 软件测试毕业论文 1
  • 现在学生学籍的管理趋向于复杂化和多元化,随着计算机的广泛应用,越来越多的高校均采用了计算机化的管理模式,本文介绍了学生学籍管理系统的整个测试过程,阐述了对本系统院系管理,学生管理 ,课程管理,成绩管理,系统管理等模块的功能进行测试. 据分析 ...查看


  • 软件测试过程中的测试配置管理与版本控制
  • 软件测试过程中的测试配置管理与版本控制 摘要: 随着计算机软件技术的发展,各种计算机软件种类繁多,功能各异,加上计算机软件规约的约束和发展,软件的规范性变得更加重要.为了开发合格的软件,在软件开发过程中,离不开软件测试.为了更好的完成软件测 ...查看


  • 软件评测管理系统
  • 1 引言 1.1 软件测试的背景和意义 随着计算机技术的迅速发展和越来越广泛深入的应用于国民经济和社会生活的各个方面,随着软件系统的规模和复杂性与日俱增,软件的生产成本和软件中存在的缺陷和故障造成的各类损失也大大增加,甚至会带来灾难性的后果 ...查看


  • 软件测试机构
  • 1.川软教育: 以就业为导向,独创软件就业实训模式教学,是国内IT业培训高端机构,强调项目,技能,实战.川软教育中心是成都最好的软件测试培训机构,能保障学员毕业后高质量就业.公司与企业完全结合,培训出能胜任软件公司软件测试.自动化测试.白盒 ...查看


  • 软件测试方法技术的研究与对比-毕业论文
  • 软件测试方法技术的研究与对比 作 者 学科. 学 指 导 完 成姓 名: 专业 : 号 : 教 师: 日 期: XX大学 XXXX University 软件测试方法技术的研究与对比 总计: 毕业论文 64 页 表 格 14 表 插 图 2 ...查看


  • TMM - 软件测试成熟度模型 软件测试
  • TMM - 软件测试成熟度模型 第一级 初始级 TMM初始级软件测试过程的特点是测试过程无序,有时甚至是混乱的,几乎没有妥善定义的.初始级中软件的测试与调试常常被混为一谈,软件开发过程中缺乏测试资源,工具以及训练有素的测试人员.初始级的软件 ...查看


  • 软件测试计划书 模板
  • 目录 1. 引言 ............................................................................................................... ...查看


  • 软件测试需要的技能有哪些?需要学些什么
  • 软件测试需要的技能有哪些?需要学些什么 软件测试工程师学习大纲 一.软件测试的原理 v 软件工程:软件的含义.软件开发过程的特性 .软件生命周期模型.软件管理过程软件质量和质量保证:软件质量就是客户的满意度 .质量的概念.软件质量的内涵.质 ...查看


  • 软件职业发展方向(打印)
  • 最近准备研究一下软件测试职业的发展方向,一是增长自己的知识,二是为自己的职业规划做个参考,在网上找到一篇很好的东东,将它整理了一下,放上来吧,以备以后查看. 软件测试职业发展方向,大体上可以分为管理路线.技术路线.管理+技术路线. 测试初级 ...查看


  • 2015年软考软件测评师基础知识汇总
  • 软件测试基本概念 软件质量与软件测试: 软件测试是软件质量保证工作的一个重要环节.软件测试和软件质量保证是软件质量工程的两个不同层面的工作.软件测试只是软件质量保证工作中的一个重要环节.质量保证(QA)的工作是通过预防.检查与改进来保证软件 ...查看


热门内容