软件测试白盒测试实验报告

合集下载

软件测试实验报告

软件测试实验报告

软件测试实验报告
一、实验内容
本次实验的目的是通过白盒测试技术来对一个接口进行测试,目的是
为了评估接口的可用性和功能性,以及其在各种参数下的表现。

二、实验方法
1.确定测试的边界值:首先,根据接口文档,确定出各个参数的最小值、最大值和正常值,并根据边界值理论,选择出8个典型的测试值,即
最小值、最小值减一、最小值加一、正常值、正常值减一、正常值加一、
最大值、最大值加一,用于确定测试的边界。

2.编写测试用例:用确定的边界值,编写测试用例,以检测接口的可
用性和功能性。

3.执行测试:将编写的测试用例应用到实际情况中,对接口进行测试,并获得测试结果。

三、实验结果
1.测试结果:经过本次白盒测试,发现接口在各个参数下能够正常工作。

2.整体结论:在确定的边界值范围内,接口表现正常,可以满足对该
接口的功能和可用性的要求。

四、实验的建议
本次实验证明,白盒测试在评估接口的可用性和功能性方面是有效的。

但是,为了进一步提高接口的性能,还需要进行更加全面的测试,比如性
能测试、安全测试等,以便获得更好的测试效果。

白盒测试实验报告

白盒测试实验报告

白盒测试实验报告引言近年来,软件行业发展迅速,软件质量成为软件企业必须关注的重点。

白盒测试是软件测试的一种重要手段。

本文将介绍一次白盒测试实验的过程和结果。

实验内容本次实验采用的测试对象是一款音乐播放器软件,我们将以白盒测试为手段,对音乐播放器软件进行测试,为构建一个健壮性好,功能稳定的音乐播放器软件做出我们的贡献。

实验过程1.需求分析阶段需求分析是基础性工作,是成功进行软件测试的重要基础。

我们首先分析音乐播放器软件的需求,划分出测试的模块和对应的测试用例。

在分析过程中,我们还同时制定了测试计划和测试执行。

2.设计阶段在设计阶段,我们将测试模块分成了多个部分,比如软件启动,音乐播放,音乐分类等等。

设计测试用例时,我们着重考虑了边界值测试用例,异常测试用例,特殊情况测试用例等,以提高测试的覆盖率。

3.实施阶段在实施阶段,我们严格按照测试计划与测试用例执行测试。

针对测试结果,我们每天在会上讨论,分析测试结果,确认产生的缺陷,并提出了解决方案。

我们还记录了测试用例执行过程、测试结果及其缺陷,以备后续参考。

4.缺陷整理与跟踪在检测和记录所有缺陷及其描述、报告和跟踪过程中,我们将测试结果分为三类:一类是重要的缺陷,需要开发人员立即修复;二类是次要的缺陷,将在下一周期处理;三类是需要处理的小错误,可以在后续的版本中修复。

实验结果通过测试,我们发现了多个问题,并对其进行了记录和反馈。

其中主要缺陷有以下几个方面:1.在平台正常工作过程中,应及时清理平台缓存,否则可能导致存储空间的不足,影响音乐播放体验。

2.在进行音频播放时,带缓存的音乐样本(即缓存层的音乐)的播放时,有时会造成截断现象。

3.当用户对相同音频文件进行不同时间的快进、快退操作时,应能保证允许的时间是在音频文件长度范围内的。

结论本次白盒测试实验中,我们收集并汇总了测试过程中遇到的问题,并及时反馈给开发人员。

我们还为软件企业的软件质量提升提供了一定的保障,以帮助企业提高其软件产品的健壮程度和可靠性。

软件测试-实验2-白盒测试案例分析

软件测试-实验2-白盒测试案例分析

实验 2 白盒测试一、实验目的与要求1、掌握白盒测试的语句覆盖和判定覆盖测试方法的原理及应用2、掌握条件覆盖、条件组合覆盖的方法,提高应用能力3、掌握路径法测试二、实验设备1、电脑PC三、实验原理白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。

它是把测试对象看作装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。

这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,其又称为结构测试。

1、语句覆盖语句覆盖指代码中的所有语句都至少执行一遍,用于检查测试用例是否有遗漏,如果检查到没有执行到的语句时要补充测试用例。

无须细分每条判定表达式,该测试虽然覆盖了可执行语句,但是不能检查判断逻辑是否有问题。

2、判定覆盖又称判断覆盖、分支覆盖,指设计足够的测试用例,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假取值均曾被满足。

判定覆盖比语句覆盖强,但是对程序逻辑的覆盖度仍然不高,比如由多个逻辑条件组合而成的判定,仅判定整体结果而忽略了每个条件的取值情况。

3、条件覆盖、条件判定覆盖条件覆盖指程序中每个判断中的每个条件的所有可能的取值至少要执行一次,但是条件覆盖不能保证判定覆盖,条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。

条件判定覆盖是条件覆盖和判定覆盖的组合,指设计足够的测试用例,使得判定中每个条件的所有可能的取值至少出现一次,并且每个判定取到的各种可能的结果也至少出现一次。

条件判定覆盖弥补了条件和判定覆盖的不足,但是未考虑条件的组合情况。

4、条件组合覆盖又称多条件覆盖,设计足够的测试用例,使得判定条件中每一个条件的可能组合至少出现一次。

线性地增加了测试用例的数量。

5、基本路径法在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行的路径集合,从而设计测试用例的方法。

软件测试实验报告白盒测试

软件测试实验报告白盒测试
路径
预期结果
1
array[8,9,10,11] key10
1-2-3-4-5-6-8-10-11-4-5-6-7
7
2
array[8,9,10,11] key25
1-2-3-4-5-6-8-10-11-4-5-6-8-10-11-4-12
-1
3
array[8,9,10,11] key8
1-2-3-4-5-6-8-9-4-5-6-7
2
A=12,B=12,C=12
12459
等边三角形
3
A=12,B=12,C=15
124679
等腰三角形
4
A=13,B=14,C=15
124689
一般三角形
2.
publicclassrer {
publicstaticvoidmain(String []args){
intarray[]={8,9,10,11};
5
条件覆盖
编号
输入数据
路径
预期结果
1
array[8,9,10,11] key10
1-2-3-4-5-6-8-10-11-4-5-6-7
7
2
array[8,9,10,11] key25
1-2-3-4-5-6-8-10-11-4-5-6-8-10-11-4-12
-1
3
array[8,9,10,11] key8
一般三角形
1、a+b<=c,a+c<=b,b+c<=a记T1、T2,T3第一个判定的取真分支
2、a+b>c,a+c<=b,b+c<=a记-T1、T2,T3,第一个判定的取假分支

软件测试白盒测试实验报告

软件测试白盒测试实验报告

7.使用白盒测试用例设计方法为下面的程序设计测试用例:·程序要求: 10个铅球中有一个假球(比其他铅球的重量要轻), 用天平三次称出假球。

·程序设计思路:第一次使用天平分别称5个球, 判断轻的一边有假球;拿出轻的5个球, 拿出其中4个称, 两边分别放2个球;如果两边同重, 则剩下的球为假球;若两边不同重, 拿出轻的两个球称第三次, 轻的为假球。

【源程序】using System;using System.Collections.Generic;using System.Linq;using System.Text;using NUnit.Framework;namespace Test3_7{[TestFixture]public class TestGetMinValue{[Test]public void AddTwoNumbers(){Random r = new Random();int n;int[] a=new int[10];n = r.Next(0, 9);for (int i = 0; i < a.Length; i++){if (i == n)a[i] = 5;elsea[i] = 10;}GetMin gm = new GetMin();Assert.AreEqual(n,gm.getMinvalue(a));}}public class GetMin{public int getMinvalue(int[] m){double m1 = 0, m2 = 0, m3 = 0, m4 = 0; for (int i = 0; i < 5; i++){m1 = m1 + m[i];}for (int i = 5; i < 10; i++){m2 = m2 + m[i];}if (m1 < m2){m3 = m[1] + m[0];m4 = m[3] + m[4];if (m3 > m4){if (m[3] > m[4])return 4;elsereturn 3;}else if (m3 < m4){if (m[0] > m[1])return 1;elsereturn 0;}elsereturn 2;}else{m3 = m[5] + m[6];m4 = m[8] + m[9];if (m3 < m4){if (m[5] > m[6])return 6;elsereturn 5;}else if (m3 > m4){if (m[8] > m[9])return 9;elsereturn 8;}elsereturn 7;}}}class Program{ static void Main(string[] args) {}}}【运行截图】。

白盒测试试验报告

白盒测试试验报告

实验二:白盒软件测试一、实验目的通过简单程序白盒测试,熟悉测试过程,对软件测试行程初步了解,并养成良好的测试习惯。

熟练掌握如何运用基路径测试方法进行测试用例设计,初步熟悉如何利用程序插装技术进行逻辑覆盖率分析。

二、实验内容背景:被测测试程序功能:计算被输入日期是星期几;程序定义:已知公元1年1月1日是星期一,只要输入年月日,能自动回复当天是星期几;测试环境: Windows vista、Dev C++;说明:本次测试采用插装测试法,由于程序简单,手动输入测试用例。

程序说明:A程序思路:计算输入日期与公元1年1月1日所相差的天数,具体如下:总天数=公元1年到输入日期上一年年底天数+输入年份的1月到上月月底天数+输入日期的天数B 闰年满足条件(year%4==0)&&(year%100!=0)||(year%400==0)(1)分析各种输入情况,结合程序输出结果,进行等价类划分,并给出详细测试用例;(2)根据(1)所划分的等价类,进行边界值分析,并给出具体的测试用例;(3)决策表测试法;①列出输入变量month、day、year的有效等价类;(条件桩)②分析程序的规格说明,给出问题规定的可能采取操作;(动作桩)③画出决策表(简化);④根据决策表,给出详细测试用例。

代码:(被测部分为while循环内部语句)#include<iostream> usingnamespacestd;intmain(){intx=1,year,month,day;while(x){1.inti,num=0,total,total1,total2;2.cout<<"请输入年份:";3.cin>>year;4.cout<<”请输入月份:“;5.cin>>month;6.cout<<”请输入日期:";7.cin>>day;//求得输入年份之前一年末的总天数8.for(i=1;i<year;i++){9.if((i%4==0)&&(i%100!=0)||(i%400==0))10.num++;}11.total1=365*(year-num-1)+366*num;//求得输入年份的总天数12.if((year%4==0)&&(year%100!=0)||(year%400==0)) { //求得输入月份之前一月末的总天数13.switch(month){case1:total2=0;break;case2:total2=31;break;case3:total2=60;break;case4:total2=91;break;case5:total2=121;break;case6:total2=152;break;case7:total2=182;break;case8:total2=213;break;case9:total2=244;break;case10:total2=274;break;case11:total2=305;break;case12:total2=335;break;}}else{14.switch(month){case1:total2=0;break;case2:total2=31;break;case3:total2=59;break;case4:total2=90;break;case5:total2=120;break;case6:total2=151;break;case7:total2=181;break;case8:total2=212;break;case9:total2=243;break;case10:total2=273;break;case11:total2=304;break;case12:total2=334;break;}//在加上输入的日,求其总和可得到从公元1年1月1日到输入日期当天的总天数15.total=total1+total2+day;16.intweek;17.week=total%7;18.cout<<”您输入的日期是";19.switch(week){case0:cout<<"星期天"<<endl;break;case1:cout<<"星期一"<<endl;break;case2:cout<<"星期二"<<endl;break;case3:cout<<" 星期三"<<endl;break;case4:cout<<"星期四"<<endl;break;case5:cout<<"星期五"<<endl;break;case6:cout<<"星期六"<<endl;break;cout<<"**********退出程序请输入0,否则任一输入继续**********"<<endl;cin>>x;}2、测试用例设计1)控制流图12)环路复杂度计算由图可知,图中的环路有六条,故环路复杂度为六。

软件测试实验报告

软件测试实验报告

本科实验报告课程名称:软件测试技术实验项目:软件测试技术试验实验地点:实验楼211专业班级:软件工程学号:学生姓名:戴超指导教师:兰方鹏2015年10月7日太原理工大学学生实验报告(用户名:Aaron密码:mercury)(2)添加QTP自带示例程序(3)在弹出的“FlightReservation”窗口中选择订票日期、出发地和目的地,然后选择“Flight”图标选择航班。

(4)在弹出的“flighttable”表中选择一趟航班,点击“ok”按钮返回,在Name中填写订票人姓名,选择订票数目“tickets”和仓位“class”然后点击“installorder”按钮,生成订单。

(5)点击QTP主界面工具栏中的“Stop”按钮,停止脚本录制。

保存脚本并对脚本进行回放。

(6)插入检查点验证订单是否生成。

在actionscreen视图中的orderno 标签对应的文本框中点鼠标右键,在弹出的快捷菜单中选择“insertstandardcheckpoint”,在弹出的对话框中,单击ok,选中text(11)参照以上实验,再添加一个验证login界面中“agentname”的检查点。

(12)设计能够通过校验的正则表达式^\w{4,16}$,并回放成功。

(13)设计不能通过校验的正则表达式^\w{1,4}$并回放失败如下五、实验结果与分析1.第一个检查点的添加中最后传真订单回放失败原因分析:提交订单并发送传真的时候,该系统会自动生成一个订单号,而进行回放的时候又会生成另一个订单号,然后后续回放失败,因为和之前录制时的订单号不匹配,找不到从而中端回放。

修改:停止回放之后右键列表中的FaxOrderNo.xx的ObjectProperties,在弹出的窗口中点击text的value值中的图标“<#>”,弹出的对话框中把constant中的值改成如下,即FaxOrderNo\.[0-9]+,然后保存关闭。

白盒测试和黑盒测试实验报告

白盒测试和黑盒测试实验报告

软件质量保证与测试实验指导计算机工程学院测试环境配置1.settingJunit(1)startEclipseSelectwindows-preferences-java-buildpath–classpathvariables(2)clicknew,thefigureofnewvariableentryisshown.(3)name JUNIT_LIBselectfile-选择JUnit插件所对应的JAR文件所在地,在Eclipse的安装目录的plugins目录中2.JUNIT的组成框架其中,junit.framework和junit.runner是两个核心包。

junit.framework负责整个测试对象的框架junit.runner负责测试驱动Junit的框架又可分为:A、被测试的对象。

B、对测试目标进行测试的方法与过程集合,可称为测试用例(TestCase)。

C、测试用例的集合,可容纳多个测试用例(TestCase),将其称作测试包(TestSuite)。

D、测试结果的描述与记录。

(TestResult)。

E、每一个测试方法所发生的与预期不一致状况的描述,称其测试失败元素(TestFailure)F、JUnitFramework中的出错异常(AssertionFailedError)。

JUnit框架是一个典型的Composite模式:TestSuite可以容纳任何派生自Test 的对象;当调用TestSuite对象的run()方法是,会遍历自己容纳的对象,逐个调用它们的run()方法。

3.JUnit中常用的接口和类Test接口——运行测试和收集测试结果Test接口使用了Composite设计模式,是单独测试用例(TestCase),聚合测试模式(TestSuite)及测试扩展(TestDecorator)的共同接口。

它的publicintcountTestCases()方法,它来统计这次测试有多少个TestCase,另外一个方法就是publicvoid run(TestResult),TestResult是实例接受测试结果,run方法执行本次测试。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7.使用白盒测试用例设计方法为下面的程序设计测试用例:
·程序要求:10个铅球中有一个假球(比其他铅球的重量要轻),用天平三次称出假球。

·程序设计思路:第一次使用天平分别称5个球,判断轻的一边有假球;拿出轻的5个球,拿出其中4个称,两边分别放2个球;如果两边同重,则剩下的球为假球;若两边不同重,拿出轻的两个球称第三次,轻的为假球。

【源程序】
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
namespace Test3_7
{
[TestFixture]
public class TestGetMinValue
{
[Test]
public void AddTwoNumbers()
{
Random r = new Random();
int n;
int[] a=new int[10];
n = r.Next(0, 9);
for (int i = 0; i < a.Length; i++)
{
if (i == n)
a[i] = 5;
else
a[i] = 10;
}
GetMin gm = new GetMin();
Assert.AreEqual(n,gm.getMinvalue(a));
}
}
public class GetMin
{
public int getMinvalue(int[] m)
{
double m1 = 0, m2 = 0, m3 = 0, m4 = 0; for (int i = 0; i < 5; i++)
{
m1 = m1 + m[i];
}
for (int i = 5; i < 10; i++)
{
m2 = m2 + m[i];
}
if (m1 < m2)
{
m3 = m[1] + m[0];
m4 = m[3] + m[4];
if (m3 > m4)
{
if (m[3] > m[4])
return 4;
else
return 3;
}
else if (m3 < m4)
{
if (m[0] > m[1])
return 1;
else
return 0;
}
else
return 2;
}
else
{
m3 = m[5] + m[6];
m4 = m[8] + m[9];
if (m3 < m4)
{
if (m[5] > m[6])
return 6;
else
return 5;
}
else if (m3 > m4)
{
if (m[8] > m[9])
return 9;
else
return 8;
}
else
return 7;
}
}
}
class Program
{ static void Main(string[] args) {
}
}
}
【运行截图】。

相关文档
最新文档