软件工程实验报告学号:姓名:专业:年月实验一:白盒测试
一、实验目的巩固白盒测试知识,对于给定的待测程序,能熟练应用基本控制流覆盖方法设计测试用例;能够执行白盒测试过程,并撰写白盒测试分析报告。
二、实验内容白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。测试规划基于产品内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试方法。
白盒测试将被测程序看做一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用例。白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。测试内容包括语句覆盖测试、分支覆盖测试、条件覆盖测试、分支/条件覆盖测试、条件组合覆盖测试和基本路径测试。
三、程序代码要求:实现对不少于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)语句覆盖测试测试结果:①②测试结果分析:输入元素时需要输入的元素个数大于最初输入的元素个数。问题出现在输入元素进数组的for循环部分,数组下标从0开始,因此判定循环的条件i<=N会导致要多输入一个数。
(2)判定覆盖测试结果:①②③测试结果分析:对于小于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;elseSystem.out.println("除数不能为0");return0;}publicstaticvoidmain(String[]args){Scannerscanner=null;scanner=newScanner(System.in);System.out.println("请输入0~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());}elseSystem.out.println("输入的当输入的数值不符合程序要求规定时,程序无法输出结果。
当输入数值在有效范围的边界时,程序仍可以正常进行。
【软件工程实验报告 软件工程实验报告总结】相关文章:
软件工程专业实习报告 软件工程专业实践08-05
软件工程实验报告 - 十个实验 软件工程实验报告完整版08-05
软件工程实验报告_学生成绩管理系统 软件工程项目设计学生成绩管理08-05
软件工程实验报告 软件工程实验报告总结08-05
软件工程实验报告完整版 软件工程实验报告完整版范文08-05
软件工程实验报告 软件工程实验报告一08-05