软件测试实验.docx
- 文档编号:4964868
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:14
- 大小:329.13KB
软件测试实验.docx
《软件测试实验.docx》由会员分享,可在线阅读,更多相关《软件测试实验.docx(14页珍藏版)》请在冰豆网上搜索。
软件测试实验
实验一单元测试及JUnit的应用
实验目的
1、掌握单元测试的基本理论和作用。
2、掌握典型单元测试工具JUnit的使用。
一、实验内容
完成两个测试任务(即“实验任务1”和“实验任务2”),并在有时间的情况下,阅读后面关于单元测试和JUnit高级特性的内容,进一步了解单元测试的理论和JUnit测试的应用。
测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可少,JUnit是一个非常强大的单元测试包,可以对一个或多个类的单个或多个方法测试,还可将不同的TestCase组合成TestSuit,使测试任务自动化。
Eclipse集成了JUnit,可以非常方便地编写TestCase。
我们先来进行一个基本的测试实验。
实验任务1:
请按以下说明完成一个基本的JUnit4测试实例。
首先打开Eclipsehelios版本或其它版本,创建一个Java项目,并在其中创建一个由File类构成的程序File.java,给该类添加一个abs方法,作用是返回一个给定整数参数的绝对值。
其参考代码如下:
publicclassFile{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
}
publicintabs(intn)
{
if(n>=0)
returnn;
else
return(-n);
}
}
实验任务2:
根据下面的说明,建立一个基于JUnit4的测试项目,对一个类当中的多个方法进行单元测试,进一步体验一下单元测试的作用和JUnit测试的应用。
首先新建一个项目叫JUnitTest,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。
这个类并不是很完美,我们故意保留了一些Bug用于演示,这些Bug在注释中都有说明。
二、测试结果与分析
1、第一次测试结果:
由图可知testSubstract有错,而testMultiply函数体内没有测试的内容。
其余两个函数测试没有问题。
2修改后的再测试:
三、问题与总结
通过本次实验,掌握了掌握单元测试的基本理论和作用和掌握典型单元测试工具JUnit的使用。
知道在软件测试时怎么样更好的进行测试。
四、附录
设计的测试程序:
importstaticorg.junit.Assert.*;
importorg.junit.Before;
importorg.junit.Ignore;
importorg.junit.Test;
publicclasscaculatorTest{
privatestaticcaculatorcalculator1=newcaculator();
@Before
publicvoidsetUp()throwsException{
calculator1.clear();
}
@Test
publicvoidtestAdd(){
calculator1.add
(2);
calculator1.add(3);
assertEquals(5,calculator1.getResult());
}
@Test
publicvoidtestSubstract(){
calculator1.add(10);
calculator1.substract
(2);
assertEquals(8,calculator1.getResult());
}
@Ignore("Multiply()Notyetimplemented")
@Test
publicvoidtestMultiply(){
}
@Test
publicvoidtestDivide(){
calculator1.add(8);
calculator1.divide
(2);
assertEquals(4,calculator1.getResult());
}
实验二性能测试及JMeter的应用
实验目的
1、了解负载测试、压力测试等性能测试的概念。
2、能使用常用工具JMeter进行性能测试并对根据测试结果进行性能分析。
3、进一步掌握各种测试方案的制定和测试方法的使用。
五、实验内容
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,完全使用Java实现,在压力测试和性能测试等方面被广泛应用。
JMeter可以用于测试静态或者动态资源(如文件、Servlets、Perl脚本、Java对象、数据库和查询、ftp服务器或者其它的资源)的性能。
JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。
你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。
测试计划描述了执行测试过程中JMeter的执行过程和步骤,一个完整的测试计划一个或者多个线程组(ThreadGroups)、逻辑控制(LogicController)、实例产生控制器(SampleGeneratingControllers)、侦听器(Listener)、定时器(Timer)、比较(Assertions)、配置元素(ConfigElements)等。
本次实验的任务是,根据后面给出的关于JMeter的使用介绍,打开老师提供的JMeter测试软件,了解其功能结构,并选择对一个已有的网站或自己事先设计好的动态或静态网站(页面),进行测试和分析。
或使用JMeter的JDBC请求测试功能或FTP测试功能等,制定数据库或FTP测试计划,进行诸如数据库访问和FTP等方面的测试。
六、测试设计
Jmeterweb测试:
找到下载的jmeter的目录D:
\115优蛋\jmeter\jemeter文件\apache-jmeter-2.6\bin下的jmeter,打开jmeter则有一个默认的测试计划和工作台:
打开badboy录制的脚本文件baidu1.jmx如图
七、测试结果与分析
在线程组中添加监听器-聚合报告(用于分析测试结果的),对于baidu1.jmx的聚合报告如图
表中各属性的含义:
Label:
每个JMeter的element(例如HTTPRequest)都有一个Name属性,这里显示的就是Name属性的值
#Samples:
表示你这次测试中一共发出了多少个请求,如果测试计划模拟10个用户,每个用户迭代10次,这里就会显示100
Average:
平均响应时间—默认情况下是单个Request的平均响应时间,当使用了事务控制器时,也可以以事务为单位显示平均响应时间
Median:
中位数,也就是50%用户的响应时间
90%Line:
90%用户的响应时间
Min:
最小响应时间
Max:
最大响应时间
Error%:
错误率,本次测试中出现错误的请求的数量/请求的总数
Throughput:
吞吐量——默认情况下表示每秒完成的请求数(RequestperSecond)
KB/Sec:
每秒从服务器端接收到的数据量
八、问题与总结
通过本次实验,能基本了解负载测试、压力测试等性能测试的概念。
简单使用常用工具JMeter进行性能测试并对根据测试结果进行性能分析。
对于进一步掌握各种测试方案的制定和测试方法的使用还要继续花时间去学习。
实验三测试用例设计
实验目的
1、理解测试用例的作用和设计规范。
2、能根据给定的项目需求说明书进行测试用例设计。
九、实验内容
根据给定的一个项目中的“社会职务信息管理详细需求说明书”,设计其测试用例,并以两个以上的同学为一组,对相互之间设计的测试用例进行检查分析,判断其合理性。
项目中相应功能模块的需求说明书和测试用例的设计要求。
一十、测试结果与分析
1、社会职务列表界面字段
2、社会职务编辑界面字段
3、测试用例一
4、测试用例二
5、测试用例三
一十一、问题与总结
在本次实验时遇到了比较多的问题,比如怎么去设计用例就是本次实验的一个比较大的困难,但是最有效的办法还是正面去面对它,细心去研究老师给的例子。
现在只能基本根据给定的项目需求说明书进行测试用例设计
实验四黑盒测试中的等价类划分方法
实验目的
1、了解黑盒测试的概念。
2、了解黑盒测试的几个主要方法。
3、通过实际针对具体问题编程并进行测试,感受测试的重要性
一十二、实验内容
三角形问题是了解等价类划分方法的典型问题。
认真阅读下面关于黑盒测试中等价类划分方法的介绍,完成对一个三角形问题的等价类划分,并设计测试用例进行测试,测试发现问题则继续改进代码,直到测试通过,具体要求是:
设计一个程序,其功能是能读入代表三角形边长的三个整数a、b、c,并判断它们是否能构成三角形,如果不能,给出判断提示;如果能,则输出边长为a、b、c所构成的三角形是属于等边、等腰还是普通三角形的判断。
一十三、测试结果与分析
输入的边:
121212
输入的边构成等边三角形!
-------------------------------------------
输入的边:
12121
输入的边构成等腰三角形!
-------------------------------------------
输入的边:
121225
输入的边不构成三角形!
-------------------------------------------
输入的边:
456
输入的边构成普通三角形!
-------------------------------------------
输入的边:
4510
输入的边不构成三角形!
-------------------------------------------
输入的边:
012
3条边小于0不构成三角形!
-------------------------------------------
输入的边:
003
3条边小于0不构成三角形!
-------------------------------------------
输入的边:
000
只输入3条边为0不构成三角形!
-------------------------------------------
输入的边:
-112
1条边小于0不构成三角形!
-------------------------------------------
输入的边:
-1-23
2条边小于0不构成三角形!
-------------------------------------------
输入的边:
-1-2-3
3条边小于0不构成三角形!
-------------------------------------------
输入的边:
1
只输入1条边不构成三角形!
------------------------------
输入的边:
12
只输入两条边12不构成三角形!
基本完成了老师要求的测试内容。
一十四、问题与总结
通过本次实验,了解黑盒测试的概念以及了解了黑盒测试的几个主要方法。
通过实际编程测试输入的三条边判断输入有没有错误,三条边能不能构成三角形以及三条边构成的三角形是什么类型的三角形。
一十五、附录
本次实验的代码:
//1000350110冯建平
importjava.util.*;
importjava.lang.*;
publicclassTest{
publicstaticvoidmain(String[]args){
Count(12,12,12);
Count(12,12,1);
Count(12,12,25);
Count(4,5,6);
Count(4,5,10);
Count(0,1,2);
Count(0,0,3);
Count(0,0,0);
Count(-1,1,2);
Count(-1,-2,3);
Count(-1,-2,-3);
Count
(1);
Count(1,2);
//Count();
//Count();
//Count();
}
//输入边数为3时
publicstaticvoidCount(inta,intb,intc)
{
System.out.println("输入的边:
"+a+""+b+""+c+"");
if(a>0&&b>0&&c>0)
{
if(a==b&&c==a)
{
System.out.println("输入的边构成等边三角形!
");
}
elseif((a==b&&a!
=c)||(a==c&&a!
=b)||(b==c&&a!
=b))
{
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
System.out.println("输入的边构成等腰三角形!
");
}
else
{
System.out.println("输入的边不构成三角形!
");
}
}
else
{
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
System.out.println("输入的边构成普通三角形!
");
}
else
{
System.out.println("输入的边不构成三角形!
");
}
}
}
elseif(a==b&&a==c&&a==0)
{
System.out.println("只输入3条边为0不构成三角形!
");
}
elseif(a<0&&b>0&&c>0)
{
System.out.println("1条边小于0不构成三角形!
");
}
elseif(a<0&&b<0&&c>0)
{
System.out.println("2条边小于0不构成三角形!
");
}
else
{
System.out.println("3条边小于0不构成三角形!
");
}
System.out.println("-------------------------------------------");
}
//输入边数为2时
publicstaticvoidCount(inta,intb)
{
System.out.println("输入的边:
"+a+""+b);
if(a==0&&b==0)
{
System.out.println("只输入两条边为0不构成三角形!
");
}
else
{
System.out.println("只输入两条边"+a+""+b+""+"不构成三角形!
");
}
System.out.println("--------------------------------");
}
//输入边数为1时
publicstaticvoidCount(inta)
{
System.out.println("输入的边:
"+a);
if(a==0)
{
System.out.println("只输入1条边为0不构成三角形!
");
}
else
{
System.out.println("只输入1条边不构成三角形!
");
}
System.out.println("------------------------------");
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 实验