实验三日期问题白盒测试用例设计-推荐下载

合集下载

三角形测试实验报告

三角形测试实验报告

课程名称软件质量保证与测试实验项目名称三角型问题白盒测试实验时间(日期及节次)2009年5月11 日1-2节2009年5月18 日1-2节专业软件工程学生所在学院软件学院年级学号姓名指导教师金虎实验室名称软件学院第三实验室实验成绩预习情况操作技术实验报告附加:综合创新能力实验综合成绩教师签字测试计划(GB8567——88)1引言1.1编写目的1.掌握软件测试技术中白盒测试方法;掌握软件测试技术中白盒测试方法;2.掌握如何进行单元测试。

掌握如何进行单元测试。

1.2背景(三角形形状测试)测试程序名称:triangle(三角形形状测试)任务提出者:金虎老师任务提出者:金虎老师开发者:开发者:用户:用户:测试环境:WINDOWS XP ; VC++6.0 说明:由于程序较小,并且只是作为了解白盒测试的小程序,因此不涉及较高的实验环境,并且测试环境和运行环境在理论上是一样的,因此不存在较大的测试差异。

并且测试环境和运行环境在理论上是一样的,因此不存在较大的测试差异。

1.3定义a:三角型的第一条边三角型的第一条边b:三角型的第二条边三角型的第二条边c:三角型的第三条边三角型的第三条边一般三角形:三边都不相等的三角形一般三角形:三边都不相等的三角形等腰三角形:有任意两边相等的三角形等腰三角形:有任意两边相等的三角形等边三角形:三边都相等的三角形等边三角形:三边都相等的三角形不能构成三角形:因不满足需求条件而不能构成三角形不能构成三角形:因不满足需求条件而不能构成三角形1.4参考资料1.《软件测试教程》.宫云战.机械工业出版社 2008年9月.宫云战. 机械工业出版社2.《软件测试技术》.曲朝阳.中国水利水电出版社 2006年8月.曲朝阳. 中国水利水电出版社3.《软件测试教程》.贺平.电子工业出版社 2005年6月.贺平. 电子工业出版社序号序号 功能功能输入质量指标输入质量指标 输出质量指标输出质量指标 1 判断是否有非整数判断是否有非整数 输入a,b,c 有非整数有非整数 无乱码,输出正确无乱码,输出正确 2 判断是否是三个数判断是否是三个数 输入非三个数输入非三个数 无乱码,输出正确无乱码,输出正确 3 判断是否有数为0 输入a,b,c 为0的数的数无乱码,输出正确无乱码,输出正确 4 判断是否有负数判断是否有负数 输入a,b,c 为负的数为负的数无乱码,输出正确无乱码,输出正确5 判断是否构成三角形判断是否构成三角形输入a,b,c 正整数三边正整数三边 无乱码,输出正确无乱码,输出正确6 判断是否是一般三角形判断是否是一般三角形 输入a,b,c 正整数三边正整数三边 无乱码,输出正确无乱码,输出正确 7 判断是否是等边三角形判断是否是等边三角形 输入a,b,c 正整数三边正整数三边 无乱码,输出正确无乱码,输出正确 8 判断是否是等腰三角形判断是否是等腰三角形 输入a,b,c 正整数三边正整数三边 无乱码,输出正确无乱码,输出正确日期日期 安排安排2010-5-11 熟悉程序代码熟悉程序代码2010-5-18 画控制流图,准备测试数据并测试画控制流图,准备测试数据并测试写测试计划及测试报告写测试计划及测试报告2.3.3测试资料1.《软件测试教程》.宫云战.机械工业出版社 2008年9月.宫云战. 机械工业出版社2.《软件测试技术》.曲朝阳.中国水利水电出版社 2006年8月.曲朝阳. 中国水利水电出版社3.《软件测试教程》.贺平.电子工业出版社 2005年6月.贺平. 电子工业出版社2.3.4测试培训1.《软件测试教程》白盒测试第三章 白盒测试机械工业出版社 2008年9月第三章宫云战 机械工业出版社《软件测试教程》 宫云战2.金虎老师第三张白盒测试PPT课件课件3测试设计说明3.1测试此项测试采用白盒测试方法来测试该功能。

白盒测试实验报告-范例

白盒测试实验报告-范例

实验报告书实验一白盒测试学生姓名:李庆忠专业:计算机科学与技术学号:1341901317白盒测试实验报告一实验内容1、系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法;2、举例进行白盒测试,使用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖进行测试。

3、通过试验和应用,要逐步提高和运用白盒测试技术解决实际测试问题的能力;4、熟悉C++编程环境下编写、调试单元代码的基本操作技术和方法;5、完成实验并认真书写实验报告(要求给出完整的测试信息,如测试程序、测试用例,测试报告等)二实验原理白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。

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

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

其又称为结构测试。

流程图如下图所示实验代码#include"stdio.h"int main(){int x,y,z;scanf("%d%d",&x,&y);if((x>0)&&(y>0)){z=x+y+10;}else{z=x+y-10;}if(z<0){z=0;printf("%d\n",z);}else{printf("%d\n",z);}return 0;}语句覆盖是指选择足够的测试,使得程序中每个语句至少执行一次。

如选择测试x=1,y=1和x=1,y=-1可覆盖所有语句。

判定覆盖是指选择足够的测试,使得程序中每一个判定至少获得一次“真”值和“假”值,从而使得程序的每个分支都通过一次(不是所有的逻辑路径)。

选择测试x=1,y=1和x=1,y=-1可覆盖所有判定。

条件覆盖是指选择语句多数的测试,使得程序判定中的每个条件能获得各种不同的结果。

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

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

软件测试与质量课程实验报告
实验3:白盒测试
掌握静态白盒测试方法及一般要求
掌握白盒测试用例的设计方法
掌握白盒测试基本测试方法:逻辑覆盖、路径测试。

语句覆盖输入数据路径预期输出1A=2,B=5,C=3,1239不能构成三角形2A=15,B=15,C=1512459等边三角形3A=15,B=15,C=13124679等腰三角形4A=23,B=24,C=25124689一般三角形
判定覆盖输入数据路径预期输出1A=2,B=3,C=5,1239不能构成三角形
语句覆

编号输入数据覆盖语句
1array[8,9,10,11] key 101,2,3,8
2array[8,9,10,11] key 251,2,3,9
3array[8,9,10,11] key 81,2,3,6,7
4array[8,9,10,11] key 91,2,3,4,5
判定覆

编号输入数据路径
1array[8,9,10,11] key 101-2-3-4-5-6-8-
2array[8,9,10,11] key 251-2-3-4-5-6-8--10-11-4-12



缺席:扣10分实验报告雷同:扣10分实验结果填写不完整:扣1 – 10分
其他情况:扣分<=5分总扣分不能大于10分。

测试用例设计--黑盒测试、白盒测试

测试用例设计--黑盒测试、白盒测试

测试⽤例设计--⿊盒测试、⽩盒测试测试⽤例设计设计数据库测试⽤例就是针对数据库的功能和性能⽽设计的测试⽅案,并编⼊测试计划中。

测试⽤例的设计既要考虑正常情况,也应考虑极限情况以及字段取最⼤值和最⼩值等边界情况。

因为测试的⽬的是暴露数据库中隐藏的错误和缺陷,所以在设计测试⽤例时要充分考虑那些易于发现错误和缺陷的测试⽤例。

好的测试⽤例应该有较⾼的发现错误和缺陷的概率。

⽩盒测试的测试⽤例设计逻辑覆盖法和基本路径测试法是计算机软件⽩盒测试⽤例设计的两个重要⽅法。

这两个⽅法也适合存储过程、触发器、嵌⼊式SQL等数据库程序的测试。

语句覆盖语句覆盖语句覆盖是设计⾜够多的测试⽤例,运⾏所测程序,使得程序中每条可执⾏语句⾄少被执⾏⼀次。

不过,每条可执⾏语句⾄少执⾏⼀次是最基本的要求,但是它不能保证发现逻辑运算和程序逻辑错误,且并不是所有的分⽀被执⾏过。

例6-1 考虑图6-2,语句覆盖的测试⽤例如表6-1所⽰。

注意,该组测试⽤例不能覆盖判断E为假的分⽀。

⽽且,如果判断C误写为X>2 or Y>3,该组测试⽤例仍能够实现语句覆盖,因此该组测试⽤例发现不了这个错误。

测试⽤例⼀般不是唯⼀的。

例如,表6-2的测试⽤例也可以实现语句覆盖。

判定覆盖判定覆盖⼜称分⽀覆盖,是设计⾜够多的测试⽤例,运⾏所测程序,使得程序中每个判断的取真分⽀和取假分⽀分别⾄少执⾏⼀次。

例6-2 考虑图6-2,其中C、E为判断。

判定覆盖的测试⽤例如表6-3所⽰。

虽然判定覆盖能够保证所有判断的取真分⽀和取假分⽀执⾏⾄少⼀次,但判定覆盖不能保证发现条件表达式错误。

例如,如果语句C误写为X>2 or Y>3,表6-3给出的测试⽤例仍能够实现判定覆盖,因此该组测试⽤例发现不了这个错误。

条件覆盖条件覆盖是设计⾜够多的测试⽤例,运⾏所测程序,使得每个判断的每个条件成分取真值和假值分别⾄少执⾏⼀次。

例6-3 考虑图6-2。

⾸先对所有判断的条件成分取值进⾏标记:v条件覆盖的测试⽤例如表6-4所⽰。

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

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

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.编写判断是否为闰年的程序,①画出程序流程图②转换成控制流图③得到控制流矩阵④参考课件分别设计语句覆盖、判定覆盖、条件覆盖、判定---条件覆盖和路径覆盖的测试用例。

实验题2.参考以下流程图,编写判断三角形的函数。

并对其进行如下操作:①转换成控制流图②得到控制流矩阵③参考课件分别设计语句覆盖、判定覆盖、条件覆盖、判定---条件覆盖和路径覆盖的测试用例。

实验题3.程序流程图如下,并对其进行如下操作:①转换成控制流图②得到控制流矩阵③参考课件分别设计语句覆盖、判定覆盖、条件覆盖、判定---条件覆盖和路径覆盖的测试用例。

备注:下课之前以word文档形式(班级+学号+姓名)发到clmjet@实验题1.判断是否是润年程序代码:package ww;import java.util.Scanner;public class Tes {public static void main(String[] args) {Scanner in = new Scanner(System.in);int year = in.nextInt();/* 闰年的条件是:①能被4整除,但不能被100整除;②能被100整除,又能被400整除。

*/System.out.println("请输入年份:");Scanner sc=new Scanner(System.in); sc.nextInt();if(year%4==0&&year%100!=0||year%400==0) {System.out.println("是闰年");}else{System.out.println("不是闰年");}}}程序流程图:控制流图:①a②b③c d④⑤e f g⑥h i⑦j⑧k m⑨语句覆盖:int year = 2016;int year =2017;int year=2018; 判定覆盖:实验题2.#include<stdio.h>#include<stdlib.h>void main(){int a,b,c;bool flag = false;scanf("%d%d%d",&a,&b,&c);if((a+b)>c&&(b+c)>a&&(a+c)>b) {flag =true;if(flag){if(a != b && b != c){printf("不等边三角形。

白盒测试实验报告

白盒测试实验报告

白盒测试实验报告关于三角形问题的白盒测试实验报告一、实验目的1、能熟练应用功能性测试技术进行测试用例设计;2、对测试用例进行优化设计;二、实验内容1、题目内容描述针对实验一编写的源代码进行白盒测试。

要求绘制出程序的控制流图,采用逻辑覆盖和基路径方法设计测试用例。

执行测试用例,并分析测试结果。

可以使用C++Test对代码进行静态检查和动态测试。

2、测试用例的编写根据条件绘制程序流程图如下:由程序流程图得如下控制流图:采用逻辑覆盖设计测试用例并执行测试用例:(1)语句覆盖:(2)判定覆盖(3)条件覆盖:(4)判定-条件覆盖:(5)条件组合覆盖:(6)路径覆盖:基路径方法设计测试用例并执行测试用例:3、测试结果分析经过以上测试发现:程序无法结束,达不到预测结果。

其余均能正确执行达到预期结果。

4、实验思考通过本次试验,对C++test工具有了一定的认识,学会了一些基本的用法和操作,用该工具测出了一些代码规范的问题,能够分析测试结果了。

本实验用两种方法对程序进行测试,从中可看出,基路径测试比逻辑覆盖测试过程简单,但是没有逻辑覆盖测试的效果好。

所以,我觉得应该更加熟悉两种测试方法的特色,以便在以后的测试中能更快更准确的选择测试方法,快速测试,找到程序中的错误。

附录:程序代码#include "iostream.h"#include "stdio.h"void Judge(int m_num1,int m_num2,int m_num3){while(scanf("%d %d %d",&m_num1,&m_num2,&m_num3)! =EOF){if(!(m_num1+m_num2<=m_num3 || m_num1+m_num3<=m_num2 || m_num2+m_num3<=m_num1)) {if (m_num1==m_num2 && m_num1==m_num3)cout<<"等边三角形"<else if (m_num1==m_num2 || m_num1==m_num3 || m_num2==m_num3)cout<<"等腰三角形"<elsecout<<"一般三角形"<}else{cout<<"不是三角形"<}}}void main(){int a,b,c;Judge(a,b,c);}第二篇:黑盒测试实验报告 12000字黑盒测试实验报告一实验内容1、系统地学习和理解黑盒测试的基本概念、原理,掌握黑盒测试的基本技术和方法;2、对一个已知的程序进行测试。

实验5、白盒测试:覆盖测试及测试用例设计

实验5、白盒测试:覆盖测试及测试用例设计
运用逻辑覆盖法的判定覆盖标准设计测试用例,并执行测试,撰写实验报告。
实验步骤:
1)画出程序流程图
#include <stdio.h>
float salary_compute(int time, float unit_pay);
void main()
{
int time=0;
float unit_pay=50;
float salary=0;
time=20;
salary=salary_compute(time, unit_pay);
printf("月薪为:%f\n",salary);
}
float salary_compute(int time, float unit_pay)
{
float salary=0.0;
实验5、白盒测试:覆盖测试及测试用例设计
一、实验目的
1、掌握白盒测试的概念。
2、掌握逻辑覆盖法。
二、实验任务
以下三个任务、至少完成一个
1、某工资计算程序功能如下:若雇员月工作小时超过40小时,则超过部分按原小时工资的1.5倍的加班工资来计算。若雇员月工作小时超过50小时,则超过50的部分按原小时工资的3倍的加班工资来计算,而40到50小时的工资仍按照原小时工资的1.5倍的加班工资来计算。程序输入为:雇员月工作时间及小时工资,输出为工资。
}
⑤else if(time >=0)
{
⑥salary = unit_pay * time;
}
⑦else
{
⑧salary = unit_pay * time;//printf("输入的工作时间有误!");
}

1.实验报告--白盒测试

1.实验报告--白盒测试

《白盒测试》一、企业发放奖金根据利润提成,利润I 低于或者等于10万元时,奖金可提10%;利润高于10万,低于20万元时候,其中10万元按10%提取,高于10万部分,可提成7.5%;200000<I<=400000时,其中低于20万仍按上述办法提成(下同),高于20万部分按5%提成;400000<I<=600000时,高于40万元的部分按3%提成;600000<I<=1000000时,高于60万元的部分按1.5%提成;I>1000000时,超过100万的部分按1%提成。

从键盘输入当月利润,求应发放的奖金。

1. 使用逻辑覆盖测试方法设计测试用例2. 使用基本路径测试方法设计测试用例w=33500+(i-600000)*0.015w=39500+(i-1000000)*0.01w=27500+(i-400000)*0.03w=17500+(i-200000)*0.05 w=10000+(i-100000)*0.075; i>0&&i<=100000 w=i*0.1 i>100000&&i<=200000 i>200000&&i<=400000 i>400000&&i<=600000i>600000&&i<=1000000i>1000000T FTFT F TF TFTFAB CDEG规定:r=rightl=left1、判定覆盖设计相应的测试用例(为变量i赋予特定的值),可以使判定A、B、C、D、E、G分别为真和假。

测试用例覆盖判定i=80000 A=Ti=180000 A=F,B=Ti=260000 A=F,B=F,C=Ti=570000 A=F,B=F,C=F,D=Ti=780000 A=F,B=F,C=F,D=F,E=Ti=1300000 A=F,B=F,C=F,D=F,E=F,G=Ti=-50000 A=F,B=F,C=F,D=F,E=F,G=F表1 判定覆盖测试用例2、条件覆盖设计若干测试用例,执行被测程序以后,要使每个判定中每个条件的可能取值至少满足一次。

白盒测试实验报告-范例

白盒测试实验报告-范例

广西科技大学计算机学院《软件测试技术》实验报告书实验一白盒测试学生姓名:xxxx学号:xxxx班级:xxxx指导老师:xxxxx专业:计算机学院软件工程提交日期:2014年10月20日白盒测试实验报告一实验内容1、系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法;2、举例进行白盒测试,使用语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖进行测试。

3、通过试验和应用,要逐步提高和运用白盒测试技术解决实际测试问题的能力;4、熟悉C++编程环境下编写、调试单元代码的基本操作技术和方法;5、完成实验并认真书写实验报告(要求给出完整的测试信息,如测试程序、测试用例,测试报告等)二实验原理白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。

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

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

其又称为结构测试。

对于该实验的例子给出其流程图如下图所示,我们来了解白盒测试的基本技术和方法。

语句覆盖是指选择足够的测试用例,使得程序中每个语句至少执行一次。

如上例选择测试用例x=1,y=1和x=1,y=-1可覆盖所有语句。

判定覆盖是指选择足够的测试用例,使得程序中每一个判定至少获得一次“真”值和“假”值,从而使得程序的每个分支都通过一次(不是所有的逻辑路径)。

选择测试用例x=1,y=1和x=1,y=-1可覆盖所有判定。

条件覆盖是指选择语句多数的测试用例,使得程序判定中的每个条件能获得各种不同的结果。

选择测试用例x=1,y=1和x=-1,y=-1可覆盖所有条件。

判定/条件覆盖是指选择足够多的测试用例,使得程序判定中每个条件取得条件可能的值,并使每个判定取到各种可能的结果(每个分支都通过一次)。

即满足条件覆盖,又满足判定覆盖。

白盒测试用例实验报告

白盒测试用例实验报告

白盒测试用例实验报告《白盒测试用例实验报告》一、实验目的本实验旨在通过白盒测试用例的实验报告,了解白盒测试的原理和方法,掌握白盒测试用例的编写和执行过程。

二、实验环境1. 软件环境:Windows 10操作系统、Eclipse集成开发环境2. 硬件环境:个人电脑三、实验内容1. 理解白盒测试的原理和方法2. 编写白盒测试用例3. 执行白盒测试用例4. 分析测试结果并撰写实验报告四、实验步骤1. 阅读相关文献,了解白盒测试的原理和方法2. 选择一个简单的软件模块,编写白盒测试用例3. 在Eclipse中创建测试类,并将编写的测试用例添加到测试类中4. 执行测试用例,观察测试结果5. 分析测试结果,撰写实验报告五、实验结果1. 经过测试,所有编写的白盒测试用例均能正确执行,并且符合预期结果2. 通过对测试结果的分析,发现了一些潜在的代码逻辑错误,并及时进行了修复3. 实验报告中详细记录了测试用例的编写过程、执行结果和分析结论六、实验总结通过本次实验,我对白盒测试有了更深入的了解,掌握了白盒测试用例的编写和执行方法。

同时,通过对测试结果的分析,我也发现了一些代码逻辑上的问题,并及时进行了修复。

这次实验不仅提高了我的软件测试能力,也增强了我对软件质量控制的认识。

七、实验感想白盒测试是软件测试中非常重要的一部分,通过本次实验,我深刻体会到了白盒测试对软件质量的重要性。

在今后的学习和工作中,我将继续深入学习白盒测试的理论知识,提高自己的测试能力,为软件质量的提升贡献自己的力量。

八、参考文献1. 《软件测试与质量保障》,王晓敏,清华大学出版社2. 《软件测试方法与技术》,李彦,人民邮电出版社以上就是本次实验的白盒测试用例实验报告,希望对大家有所帮助。

软件测试白盒测试测试用例与代码

软件测试白盒测试测试用例与代码

实验二白盒测试1.实验目的能熟练应用白盒测试技术设计测试用例2.实验内容计算生日是星期几已知公元1年1月1日是星期一。

编写一个程序,只要输入年月日,就能回答那天是星期几。

应用逻辑覆盖方法和基本路径测试方法为上面的问题设计测试用例。

要求:(1)画出该程序的控制流图;(2)用基本路径测试方法给出测试路径;(3)为满足判定/条件覆盖设计测试用例。

3.程序代码#include "stdio.h"#include "conio.h"int main1(){int day,mn,yr,i,days=0,s,k;int mont[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};char wek[][9]={ {'S','u','n','d','a','y'},{'M','o','n','d','a','y'},{'T','u','e','s','d','a','y'},{'W','e','d','n','s','d','a','y'},{'T','h','u','r','s','d','a','y'},{'F','r','i','d','a','y'},{'S','a','t','u','r','d','a','y'}};printf("Inpute the date (year-month-day):");scanf("%d-%d-%d",&yr,&mn,&day);if (yr%4==0&&yr%100!=0||yr%400==0)mont[2]=29;elsemont[2]=28;if(yr<=0||mn<=0||mn>=13||day>mont[mn]||day<=0){printf("输入日期有误\n");return 0;}for (i=0;i<mn;i++)days+=mont[i];days+=day;s=yr-1+(int)((yr-1)/4)-(int)((yr-1)/100)+(int)((yr-1)/4 00)+days;k=s%7;printf("%d-%d-%d is %s.",yr,mn,day,wek[k]);return 0;}void main(){do {main1();printf("\n******************************\n");printf("请按回车继续:\n");}while (getch()==13);}4.画出程序的控制流图流程图:控制流图:5.写出基本路径条件:。

白盒测试实验报告

白盒测试实验报告

白盒测试实验报告一、实验目的。

本次实验旨在对软件系统的内部结构进行测试,以验证代码的逻辑正确性、路径覆盖率和条件覆盖率等指标,从而提高软件系统的质量和稳定性。

二、实验环境。

1. 软件系统,本次实验选择了XXX软件系统作为测试对象,该系统包含了多个模块和功能,是一个typical的软件系统。

2. 测试工具,我们使用了XXX测试工具来进行白盒测试,该工具能够帮助我们对代码进行覆盖率分析、路径跟踪和条件测试等。

3. 测试人员,实验由XXX团队的测试人员进行,每位成员都具备扎实的编程基础和测试经验。

三、实验步骤。

1. 确定测试目标,我们首先对软件系统进行分析,确定了需要测试的模块和功能,以及测试的重点和难点。

2. 设计测试用例,针对每个测试目标,我们设计了一系列的测试用例,覆盖了各种可能的输入、路径和条件组合。

3. 执行测试用例,测试人员按照设计的测试用例,对软件系统进行了全面的白盒测试,记录了测试过程中的日志和结果。

4. 分析测试结果,通过测试工具对测试结果进行分析,统计了代码的覆盖率、路径覆盖情况和条件覆盖情况,发现了一些潜在的问题和漏洞。

5. 修复和再测试,根据分析结果,开发人员对发现的问题进行了修复,然后再次进行了白盒测试,确保问题得到了解决。

四、实验结果。

经过本次实验,我们对软件系统进行了全面的白盒测试,覆盖了大部分的代码路径和条件分支,发现了一些潜在的问题和漏洞,并及时进行了修复。

最终,软件系统的质量得到了显著提高,稳定性和可靠性得到了保障。

五、实验总结。

通过本次实验,我们深刻认识到了白盒测试在软件开发过程中的重要性,它能够帮助我们发现代码中的潜在问题,提高软件系统的质量和稳定性。

同时,我们也意识到了白盒测试需要结合黑盒测试和其他测试手段来进行,以全面保证软件系统的质量。

在未来的工作中,我们将继续深入研究和应用白盒测试技术,为软件开发和测试工作贡献更多的价值。

六、参考文献。

[1] XXX.《软件测试与质量保障》. 机械工业出版社,2018.[2] XXX.《白盒测试技术与实践》. 电子工业出版社,2017.[3] XXX.《软件测试工程师教程》. 清华大学出版社,2016.以上就是本次白盒测试实验的报告内容,谢谢阅读。

白盒测试实例日期

白盒测试实例日期

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++;
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,通力根1保过据护管生高线产中敷工资设艺料技高试术中卷0资不配料仅置试可技卷以术要解是求决指,吊机对顶组电层在气配进设置行备不继进规电行范保空高护载中高与资中带料资负试料荷卷试下问卷高题总中2体2资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况1卷中下安,与全要过,加度并强工且看作尽护下可1都关能可于地以管缩正路小常高故工中障作资高;料中对试资于卷料继连试电接卷保管破护口坏进处范行理围整高,核中或对资者定料对值试某,卷些审弯异核扁常与度高校固中对定资图盒料纸位试,置卷编.工保写况护复进层杂行防设自腐备动跨与处接装理地置,线高尤弯中其曲资要半料避径试免标卷错高调误等试高,方中要案资求,料技编试术写5、卷交重电保底要气护。设设装管备备置线4高、调动敷中电试作设资气高,技料课中并3术试、件资且中卷管中料拒包试路调试绝含验敷试卷动线方设技作槽案技术,、以术来管及避架系免等统不多启必项动要方高式案中,;资为对料解整试决套卷高启突中动然语过停文程机电中。气高因课中此件资,中料电管试力壁卷高薄电中、气资接设料口备试不进卷严行保等调护问试装题工置,作调合并试理且技利进术用行,管过要线关求敷运电设行力技高保术中护。资装线料置缆试做敷卷到设技准原术确则指灵:导活在。。分对对线于于盒调差处试动,过保当程护不中装同高置电中高压资中回料资路试料交卷试叉技卷时术调,问试应题技采,术用作是金为指属调发隔试电板人机进员一行,变隔需压开要器处在组理事在;前发同掌生一握内线图部槽 纸故内资障,料时强、,电设需回备要路制进须造行同厂外时家部切出电断具源习高高题中中电资资源料料,试试线卷卷缆试切敷验除设报从完告而毕与采,相用要关高进技中行术资检资料查料试和,卷检并主测且要处了保理解护。现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

(完整word版)白盒测试实验报告

(完整word版)白盒测试实验报告

实验报告一、实验目的1.熟练掌握如何运用基路径测试方法进行测试用例设计。

2.初步熟悉如何利用程序插装技术进行逻辑覆盖率分析。

二、实验内容1、题目前一日函数PreDate是NextDate的逆函数(代码实现见下),实现功能为:输入1800 年到2050 年之间的某个日期,函数返回这一天的前一天的日期。

(此处不考虑无效输入)请采用基路径方法对前一日函数进行测试用例设计,并利用程序插装技术对测试用例的判定覆盖率进行检查分析。

代码:(被测函数为PreDate)#include"stdio.h"typedef struct MyDate{int month;int day;int year;}MyDate;MyDate PreDate(MyDate date);int Leapyear(int year);void Print(MyDate date);MyDate PreDate(MyDate date)//输入日期有效性检查中其他模块实现,此处假设输入日期都是合法数据{1.MyDate yesterday;2.yesterday.month = date.month; // initialization3.yesterday.day = date.day;4.yesterday.year = date.year;5.int days_month[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};//初始化每月天数,其中2月不确定,初始化为06.if(date.day>1)7.yesterday.day=date.day-1;else{8.if(date.month==1){9.yesterday.year=date.year-1;10.yesterday.month=12;11.yesterday.day=31;}12.else if(date.month==3){13.if(Leapyear(date.year)){14.yesterday.month=2;15.yesterday.day=29;}else{16.yesterday.month=2;17.yesterday.day=28;}}else{18.yesterday.month=date.month-1;19.yesterday.day=days_month[date.month-1];}}20.return yesterday;}21.int Leapyear(int year){22.if((year%4==0&&year%100!=0) || (year%400==0))23.return 1;24.else return 0;}void Print(MyDate date){25.printf("%d--%d--%d\n",date.year,date.month,date.day); }2、测试用例设计1)控制流图2)环路复杂度计算由图可知,图中的环路有五条,故环路复杂度为五。

实验二_白盒测试

实验二_白盒测试

实验二:白盒测试一、实验目的保证一个模块中的所有独立路径至少被执行一次;对所有的逻辑值均需要测试真、假两个分支;在上下边界及可操作范围内运行所有循环;检查内部数据结构以确保其有效性。

二、实验内容要求:被测测试程序功能:PriorDate函数;程序定义:为了获得前一个日期, PriorDate函数执行如下操作:(默认年数大于等于0)如果输入日期day变量值大于1,则把day变量的值减1;如果输入日期是2~12月份中某月的第一天,则把day变量的值置为前一个月的最后一天,month变量的值减1;如果输入日期是1月的第一天,则day变量的值置为31,month变量的值置为12,year变量的值减1。

关于最后一天的判断:如果是有31天的月份(1,3,5,7,8,10,12),day变量值为31;如果是有30天的月份(4,6,9,11),day变量值为30;如果是有29天的月份(闰年的2月),day变量值为29;如果是有28天的月份(非闰年的2月),day变量值为28。

测试环境:Windows 7、Eclipse;三、实验要求根据代码调通程序并进行白盒测试,即用语句覆盖、分支覆盖、条件覆盖、分支/条件覆盖、条件组合覆盖及基本路径测试方法,写出测试用例,执行测试,给出测试报告,实验报告。

四、实验测试用例与测试结果程序的流程图如下图:1.语句覆盖语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。

测试数据执行路径结果month=13,day=32,year=-10OACEGZ 日的范围为:1 (31)月的范围为:1 (12)年应该大于0month=12,day=12,year=2012 OBDFHL Y 前一天为:12 11 2012month=12,day=1,year=2012 OBDFHMY 前一天为:11 30 2012month=11,day=1,year=2012 OBDFIPY 前一天为:10 31 2012 month=3,day=12,year=2000 OBDFJQY 前一天为:3 11 2000 month=3,day=1,year=2012 OBDFJRY 前一天为:2 28 2012 month=1,day=12,year=2012 OBDFKSY 前一天为:1 11 2012 month=1,day=1,year=2012 OBDFKTWY 前一天为:12 31 2009 month=1,day=1,year=0 OBDFKTXY 上一年也应大于02.分支覆盖执行足够的测试用例,使得程序中的每一个分支至少都通过一次测试数据执行路径结果month=13,day=32,year=-10OACEGZ 日的范围为:1 (31)月的范围为:1 (12)年应该大于0month=12,day=12,year=2012 OBDFHL Y 前一天为:12 11 2012 month=12,day=1,year=2012 OBDFHMY 前一天为:11 30 2012 month=11,day=12,year=2012 OBDFINY 前一天为:11 11 2012 month=11,day=1,year=2012 OBDFIPY 前一天为:10 31 2012 month=3,day=12,year=2000 OBDFJQY 前一天为:3 11 2000 month=3,day=1,year=2000 OBDFJRY 前一天为:2 29 2000 month=3,day=1,year=2012 OBDFJRY 前一天为:2 28 2012 month=1,day=12,year=2012 OBDFKSY 前一天为:1 11 2012 month=1,day=1,year=2012 OBDFKTWY 前一天为:12 31 2009 month=1,day=1,year=0 OBDFKTXY 上一年也应大于03.条件覆盖测试数据执行路径结果month=13,day=32,year=-10OACEGZ 日的范围为:1 (31)月的范围为:1 (12)年应该大于0month=0,day=0,year=1800 OACEGZ 日的范围为:1 (31)月的范围为:1 (12)年应该大于0month=12,day=1,year=2012 OBDFHMY 前一天为:11 30 2012 month=11,day=12,year=2012 OBDFINY 前一天为:11 11 2012 month=11,day=1,year=2012 OBDFIPY 前一天为:10 31 2012 month=3,day=12,year=2000 OBDFJQY 前一天为:3 11 2000 month=3,day=1,year=2000 OBDFJRY 前一天为:2 29 2000 month=3,day=1,year=2012 OBDFJRY 前一天为:2 28 2012 month=1,day=12,year=2012 OBDFKSY 前一天为:1 11 2012 month=1,day=1,year=2012 OBDFKTWY 前一天为:12 31 2009 month=1,day=1,year=0 OBDFKTXY 上一年也应大于0执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。

实训 白盒测试用例设计

实训  白盒测试用例设计

实训白盒测试用例设计实训1、实训目的1、掌握白盒测试用例的设计方法。

2、综合运用所学的白盒测试方法设计测试用例。

2、实训准备1、白盒测试用例的设计方法。

2、测试用例模板。

3、实训内容3.1基本训练实验一:下面是快速排序算法中的一趟划分算法,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。

算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey( ),一是交换两数组元素内容的操作Swap( ):int Partition ( datalist &list, int low, int high ) {//在区间[ low, high ]以第一个对象为基准进行一次划分,k返回基准对象回放位置。

int k = low; Element pivot = list.V[low]; //基准对象for ( int i = low+1; i <= high; i++ ) //检测整个序列,进行划分if ( list.V[i].getKey ( ) < pivot.getKey( ) && ++ k != i ) Swap ( list.V[k], list.V[i] ); //小于基准的交换到左侧去Swap ( list.V[low], list.V[k] ); //将基准对象就位return k; //返回基准对象位置}(1)试画出它的程序流程图;(2)试利用路径覆盖方法为它设计足够的测试用例(循环次数限定为0次,1次和2次)。

实验二:下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。

算法中用到两个操作,一是取某数组元素V[ i]的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( ):void SelectSort ( datalist & list ) {//对表list.V[0]到list.V[n-1]进行排序,n是表当前长度。

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

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

软件测试白盒测试实验报告软件测试白盒测试实验报告引言:软件测试是确保软件质量的重要环节之一。

在软件开发过程中,白盒测试是一种常用的测试方法,通过对软件内部结构进行检查,以验证其是否符合设计要求和预期功能。

本文将对进行的白盒测试实验进行详细报告和分析。

实验目的:本次实验的目的是通过对一个简单的软件系统进行白盒测试,验证其内部逻辑和代码的正确性,并发现可能存在的缺陷和错误。

通过实验,我们希望能够了解白盒测试的基本原理和方法,并掌握其实际应用技巧。

实验环境:本次实验使用的软件系统是一个简单的计算器应用,开发语言为Java。

实验环境包括Java开发工具集(JDK)和集成开发环境(IDE),以及相关的测试工具和框架。

实验过程:1. 理解需求:首先,我们仔细阅读了计算器应用的需求文档,了解了其基本功能和预期行为。

2. 设计测试用例:根据需求文档,我们设计了一系列测试用例,覆盖了计算器应用的各个功能模块和边界条件。

测试用例包括输入合法数字、输入非法字符、进行加减乘除运算等。

3. 编写测试代码:根据设计的测试用例,我们编写了相应的测试代码。

测试代码主要包括模拟用户输入、调用计算器应用的相关方法,并对返回结果进行断言和验证。

4. 执行测试:在完成测试代码编写后,我们使用测试工具和框架对计算器应用进行了测试。

测试过程中,我们记录了每个测试用例的执行结果和异常情况,并对其进行了分类和整理。

实验结果:经过测试,我们发现了一些计算器应用存在的问题和潜在的缺陷。

其中,一些常见的问题包括:1. 输入非法字符时,计算器应用没有进行有效的错误处理,导致程序崩溃或返回错误结果。

2. 在进行除法运算时,计算器应用没有对除数为零的情况进行判断和处理,导致程序异常。

此外,我们还发现了一些较为隐蔽的问题,例如:1. 在进行大数计算时,计算器应用没有进行溢出检查和处理,导致结果不准确。

2. 在进行浮点数计算时,计算器应用没有进行舍入误差的处理,导致结果不精确。

白盒测试实验报告

白盒测试实验报告

白盒测试实验报告一、实验目的本次白盒测试实验的主要目的是深入理解和掌握白盒测试的基本原理、方法和技术,通过对给定程序的分析和测试,发现程序中的逻辑错误、路径覆盖不全、代码冗余等问题,提高程序的质量和可靠性。

二、实验环境1、操作系统:Windows 102、开发工具:Eclipse3、编程语言:Java三、实验内容本次实验选取了一个简单的 Java 程序,该程序的功能是计算两个整数的和、差、积、商。

以下是程序的代码:```javapublic class Calculator {public static void main(String args) {int num1 = 10;int num2 = 5;int sum = calculateSum(num1, num2);int difference = calculateDifference(num1, num2);int product = calculateProduct(num1, num2);int quotient = calculateQuotient(num1, num2);Systemoutprintln("两数之和为:"+ sum);Systemoutprintln("两数之差为:"+ difference);Systemoutprintln("两数之积为:"+ product);Systemoutprintln("两数之商为:"+ quotient);}public static int calculateSum(int num1, int num2) {return num1 + num2;}public static int calculateDifference(int num1, int num2) {return num1 num2;}public static int calculateProduct(int num1, int num2) {return num1 num2;}public static int calculateQuotient(int num1, int num2) {if (num2 == 0) {Systemoutprintln("除数不能为 0");return -1;}return num1 / num2;}}```四、实验步骤1、代码审查对程序的整体结构进行分析,包括类的定义、方法的声明和调用等。

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

日期问题白盒测试用例的设计(实验时间2012.3.21)
一、实验目的
1.熟练掌握如何运用基路径测试方法进行测试用例设计。

二、实验内容
1、题目
前一日函数PreDate是NextDate的逆函数(代码实现见下),实现功能为:输入1800 年到2050 年之间的某个日期,函数返回这一天的前一天的日期。

(此处不考虑无效输入)请采用基路径方法对前一日函数进行测试用例设计。

代码:(被测函数为PreDate)
#include"stdio.h"
typedef struct MyDate{
int month;
int day;
int year;
}MyDate;
MyDate PreDate(MyDate date);
int Leapyear(int year);
void Print(MyDate date);
MyDate PreDate(MyDate date)
//输入日期有效性检查中其他模块实现,此处假设输入日期都是合法数据{
1.MyDate yesterday;
2.yesterday.month = date.month; // initialization
3.yesterday.day = date.day;
4.yesterday.year = date.year;
5.int days_month[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};
//初始化每月天数,其中2月不确定,初始化为0
6.if(date.day>1)
7.yesterday.day=date.day-1;
else
{
8.if(date.month==1)
{
9.yesterday.year=date.year-1;
10.yesterday.month=12;
11.yesterday.day=31;
}
12.else if(date.month==3)
{
13.if(Leapyear(date.year))
{
14.yesterday.month=2;
15.yesterday.day=29;
}
else
{
16.yesterday.month=2;
17.yesterday.day=28;
}
}
else
{
18.yesterday.month=date.month-1;
19.yesterday.day=days_month[date.month-1];
}
}
20.return yesterday;
}
21.int Leapyear(int year)
{
22.if((year%4==0&&year%100!=0) || (year%400==0))
23.return 1;
24.else return 0;
}
void Print(MyDate date)
{
25.printf("%d--%d--%d\n",date.year,date.month,date.day); }
三、总结与体会
白盒测试是一种被广泛使用的逻辑测试方法,是由程序内部逻辑驱动的一种单元测试方法。

只有对程序内部十分了解才能进行适度有效的白盒测试。

实验中对于路径测试有了更深的理解,可以更好、更迅速的去划分路径,设计测试用例.。

相关文档
最新文档