《软件测试概论》实验东莞理工学院计算机学院学号:201241402102姓名:温燕姿班级:12计科1班指导教师:张福勇地点:7A202,时间:2014-12-05实验六基于功能分解的集成测试一、实验目的(实验所要达到那些目的)1、掌握基于功能分解的集成测试的原理和方法。2、掌握桩和驱动程序的编写方法。3、能够对软件进行基于功能分解的集成测试。二、实验内容或实验过程(实验所做的内容)内容:1、自编软件的基于功能分解的集成测试:1)、由给定软件规格说明书写出源程序并运行。(见附录)2)、分别采用自顶向下和自底向上的集成测试方法产生测试用例(对每个测试会话设计一个正常值测试用例即可)。3)、运行软件,输入测试用例并记录结果。4)、分析结果,调试源程序。(注意:调试前一定要保存上一个版本)5)、重复步骤3),直到所有测试用例的输出与预期的一致。要求:1、做好实验预习,掌握并熟悉本实验中所使用的测试环境及相应的软件。2、完成三中规定的实验任务。3、写出实验报告。(要求见《软件测试概论》实验报告要求.doc)4、上报实验报告到,登录名为zhangfuyongs,密码为空。5、实验报告上传位置:学生作业-软件测试概论-实验66、上传的文件名:学号+姓名+实验6.doc。附录1规格说明:编制一元二次方程式AX2+BX+C=0的求根程序。程序有以下功能:1.输入A、B、C三个系数;-200=A、B、C=2002.输出根的性质的信息:包括两个相等实根、两个不相等的实根、一个实根、两个虚根、有无数根、无根等。3.输出根的值4.程序结构采用下图形式:《软件测试概论》实验东莞理工学院计算机学院三、实验中出错信息及处理方法(可选)四、实验结果(包括实验处理结果和设计心得)程序代码:#includestdio.h1.voidformula(inta,intb,intc){inti=0;i=b*b-4*a*c;2.if(a-200||a200||b-200||b200||c-200||c200){3.printf(输入的系数有误\n);}4.else{5.if(a==0){6.if(b==0){7.if(c==0)printf(此二元一次方程有无数个根\n);8.elseprintf(此二元一次方程无根\n);}9.elseprintf(此二元一次方程有1个实根);result(a,b,c);}msg110.if(a!=0){11.if(i0)printf(此二元一次方程有2个不相等的实根);result(a,b,c);msg212.if(i==0)printf(此二元一次方程有2个相等的实根);result(a,b,c);msg313.elseprintf(此二元一次方程有2个虚根);result(a,b,c);}msg414.}15.}16.Voidresult(inta,intb,intc){主程序输出根的性质信息判断ACB42输出根的值《软件测试概论》实验东莞理工学院计算机学院intresult1,result2;17.If(a!=0){18.result1=(-b-sqrt((b*b-4*a*c)))/2*a;result2=(-b+sqrt((b*b-4*a*c)))/2*a;printf(根的值分别为:%d,%d,result1,result2);}19.elseprintf(根的值为,(-c)/b);20.}21.voidmain(){printf(请输入一元二次方程Ax^2+Bx+C的系数ABC:(注意:输入以逗号为间隔;ABC均为整数,且每个数都在-200到+200间));scanf(%d,%d,%d,&a,&b,&c);22.formula(a,b,c);msg523.}流程图:CBA23567981110041213141516171819202122231《软件测试概论》实验东莞理工学院计算机学院MM-路径图:MM-路径:P1:main(21,22)Msg5Formula(1,2,4,10,13)Msg4result(16,17,18,20)P2:main(21,22)Msg5formula(1,2,4,10,12)Msg4result(16,17,18,20)P3:main(21,22)Msg5formula(1,2,4,10,11)Msg4result(16,17,18,20)P4:main(21,22)Msg5formula(1,2,4,5,9)Msg4result(16,17,19,20)P5:main(21,22)Msg5formula(1,2,3,15)P6:main(21,22)Msg5formula(1,2,4,5,6,8,14,15)main()result()formula();《软件测试概论》实验东莞理工学院计算机学院P7:main(21,22)Msg5formula(1,2,4,5,6,7,14,15)处理结果:所有的预计输出和实际输出是一样的设计心得:通过这次实验我知道了:基于功能分解的集成测试的原理和方法。其中最重要的是要掌握桩和驱动程序编写。画出每个函数的程序图,标上调用了函数的那些代码,找出MM-路径,再根据MM-路径找到对应的测试用例。测试用例如下:用例ID输入数据预期输出值对应基路径1a=2,b=3,c=2两个虚根-P12a=2,b=4,c=2两个相等实根-1P23a=3,b=4,c=1两个不相等实根(-1/3)、-1P34a=0,b=1,c=3一个实根-3P45a=0,b=0,c=-201系数有误-P56a=0,b=0,c=2无根-P67a=0,b=0,c=0无数根-P7