软件工程实验报告_第1页
软件工程实验报告_第2页
软件工程实验报告_第3页
软件工程实验报告_第4页
软件工程实验报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程实验报告学号:姓名:专业:年月实验一:白盒测试一、实验目的巩固白盒测试知识,对于给定的待测程序,能熟练应用基本控制流覆盖方法设计测试用例;能够执行白盒测试过程,并撰写白盒测试分析报告。二、实验内容白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。测试规划基于产品内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试方法。白盒测试将被测程序看做一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用例。白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。测试内容包括语句覆盖测试、分支覆盖测试、条件覆盖测试、分支/条件覆盖测试、条件组合覆盖测试和基本路径测试。三、程序代码要求:实现对不少于10个随机输入的数的冒泡排序算法。#include<iostream>usingnamespacestd;intmain(){ doublea[100]; intN; inti=0,j=0; cin>>N;//排序元素的个数 for(i=0;i<=N;i++) { cin>>a[i]; } for(i=0;i<N-1;i++){ for(j=0;j<N-1-i;j++) { if(a[j]>a[j+1]){ inttmp; tmp=a[j]; a[j]=a[j+1]; a[j+1]=tmp; } } } for(i=0;i<N;i++) { cout<<a[i]<<""; } cout<<endl; return0;}四、程序流程图五、测试内容(1)语句覆盖测试测试用例:预期结果:1099671235435658976225967输入所要排序的元素个数及元素数值,程序进行排序输入非int型程序结束测试结果:①②测试结果分析:输入元素时需要输入的元素个数大于最初输入的元素个数。问题出现在输入元素进数组的for循环部分,数组下标从0开始,因此判定循环的条件i<=N会导致要多输入一个数。(2)判定覆盖测试用例预期结果覆盖路径1099671235435658976225967程序正常进行排序a、b、c、d、e、f、g-5程序结束a10.699671235435658976225967程序正常进行排序a、b、c、d、e、f、g测试结果:①②③测试结果分析:对于小于0的N值,循环无法进行对于输入非int型数值,如带小数点的数,由于考虑不周,程序无法输出正确答案实验二:黑盒测试实验学时:4学时实验类型:设计 实验要求:必修一、实验目的巩固黑盒测试知识,黑盒测试能够发现下述错误,功能不正确或遗漏了功能;界面错误;数据结构错误或外部数据库访问错误;性能错误;初始化和终止错误。能够熟练的运用所学知识测试程序;二、实验内容测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,这种策试方法称为黑盒测试方法。黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。黑盒测试的基本观点是:任何程序都可以看作是从输入定义域映射到输出值域的函数过程,被测程序被认为是一个打不开的黑盒子,黑盒中的内容完全不知道,只明确要做到什么。黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。黑盒测试技术包括:等价划分法、边界值分析法、错误推测法、因果图法等三、程序代码要求:实现求两整数的加、减、乘、除运算结果,要求两整数的范围都是[0,100]。从键盘输入数m,数n,判断他们的范围,若不在[0,100]范围内,则输出提示语,要求重新输入,并且在做除法运算时,当除数为0时,输出提示语,说明除数不能为0。package黑盒测试;importjava.util.Scanner;publicclassComputer{privateinta;privateintb;publicComputer(intx,inty){a=x;b=y;}publicdoubleadd(){ returna+b;}publicdoubleminus(){ returna-b;}publicdoublemultiply(){ returna*b;}publicdoubledivide(){ if(b!=0) returna/b; else System.out.println("除数不能为0"); return0;}publicstaticvoidmain(String[]args){ Scannerscanner=null; scanner=newScanner(System.in); System.out.println("请输入0~100的两个整数进行计算"); System.out.println("请输入第一个数"); while(true){ intm=scanner.nextInt(); if(m>=0&&m<=100) { System.out.println("请输入第二个数"); while(true){ intn=scanner.nextInt(); if(n>=0&&n<=100) { Computercpt=newComputer(m,n); System.out.println("运算结果为:"); System.out.println(m+"+"+n+"="+cpt.add()); System.out.println(m+"-"+n+"="+cpt.minus()); System.out.println(m+"*"+n+"="+cpt.multiply()); System.out.println(m+"/"+n+"="+cpt.divide()); } else System.out.println("输入的第一个数不符合要求,请重新输入\n"); } } else System.out.println("输入的第二个数不符合要求,请重新输入\n");}}}四、测试内容(1)等价划分法有效等价类无效等价类(1)整数(2)整数外的其他值(3)除数不为0(4)除数为0(5)输入整数属于0~100(6)输入整数小于0或大于100 测试用例及结果输入预期结果输出覆盖等价类9084运算结果为:90+84=174.090-84=6.090*84=7560.090/84=1.0运算结果为:90+84=174.090-84=6.090*84=7560.090/84=1.0(1)0.3无法正常输出显示出错(2)3622运算结果为:36+22=58.036-22=14.036*22=792.036/22=1.0运算结果为:36+22=58.036-22=14.036*22=792.036/22=1.0(3)0输出:除数不能为0输出:除数不能为0(4)4259运算结果为:42+59=101.042-59=-17.042*59=2478.042/59=0.0运算结果为:42+59=101.042-59=-17.042*59=2478.042/59=0.0(5)101输入的第一个数不符合要求,请重新输入输出:输入的第一个数不符合要求,请重新输入(6)(2)边界值分析法测试用例及结果测试用例说明测试数据预期结果实际结果除数为0,不能进行除法运算00输出:除数不能为0输出:除数不能为0在有效范围的边界进行数据选取100100运算结果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论