1软件测试课程设计姓名学号班级电子商务1001所在学院通信学院专业电子商务指导教师2013年7月18日2课程设计任务书软件测试技术概述实训是在完成了软件测试技术概述课程学习之后安排的实践训练,要求学生能利用已学的测试基本知识,掌握软件测试的基本原理和技术。通过一周的技能训练,使学生进一步理解软件测试的理论知识,基本掌握使用测试技术进行软件项目测试的方法。功能测试按以下步骤进行:在Firefox中访问一个有输入数据和提交数据功能的页面,使用SeleniumIDE录制脚本,并转换成JUnit代码。针对第1步中的页面的功能,使用“等价类划分法”和“边界值分析法”设计黑盒测试用例(以表格的形式列出)。注意测试用例表的要素:输入数据、期望输出、实际输出。根据设计的测试用例修改完善第一步中的Junit代码,在Eclipse中运行测试,完成用例表的实际输出部分。3指导教师评语评语:成绩:指导教师年月日领导审核意见签章年月日备注1目录1、三角形单元测试.......................................21.1、题目要求:.......................................21.2、源代码程序:.....................................21.3、程序运行结果:...................................41.4、测试脚本结果:...................................51.5、代码覆盖率:.....................................62、功能性测试...........................................62.1、实验目的:.......................................62.2、实验内容:.......................................62.3、实验步骤.........................................73、白盒测试.............................................94、课程设计与心得体会..................................12参考文献................................................1221、三角形单元测试1.1、题目要求:使用c#语言编写程序,实现下面功能:输入三个数,判断能否构成三角形,如果能构成三角形,判断其为等边三角形、等腰三角形或不等边三角形。三角形的判定方法有返回值,并对该方法进行测试。1.2、源代码程序:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceTriangleTest{classTriangle{inta,b,c;publicTriangle(inta0,intb0,intc0){this.a=a0;this.b=b0;this.c=c0;}publicboolIsTriangle(){if((a+b)c&&(a+c)b&&(b+c)a)3returntrue;elsereturnfalse;}publicboolIsTwoEqualTriangle(){if(IsTriangle()){if(a==b||a==c||b==c)returntrue;elsereturnfalse;}else{Console.WriteLine(Itisnotatriangle!);returnfalse;}}publicboolIsThreeEqualTriangle(){if(IsTriangle()){if(a==b&&a==c)returntrue;elsereturnfalse;}else{Console.WriteLine(Itisnotatriangle!);returnfalse;}}staticvoidMain(string[]args){inta=0,b=0,c=0;Console.WriteLine(Pleaseinputthreeedges:\n);a=Convert.ToInt32(Console.ReadLine());b=Convert.ToInt32(Console.ReadLine());c=Convert.ToInt32(Console.ReadLine());Triangletri=newTriangle(a,b,c);if(tri.IsThreeEqualTriangle())Console.WriteLine(Itisathreeequaltriangle!);4else{if(tri.IsTwoEqualTriangle())Console.WriteLine(Itisatwoequaltriangle!);elseif(tri.IsTriangle())Console.WriteLine(Itisatriangle!);elseConsole.WriteLine(Itisnotatriangle!);}Console.ReadLine();}}}1.3、程序运行结果:1.判断是否为三角形:2.判断是否为等腰三角形:3.判断是否为等边三角形:51.4、测试脚本结果:1.三角形测试:2.等边三角形测试:61.5、代码覆盖率:2、功能性测试2.1、实验目的:1、掌握应用功能性测试技术进行测试用例设计。2、掌握对测试用例进行优化设计方法。2.2、实验内容:1.题目一:三角形问题根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。“一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。”72.题目二:日期问题用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为2004年11月29日,则该程序的输出为2004年12月1日。(1)分析各种输入情况,列出为输入变量month、day、year划分的有效等价类。(2)分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。(3)根据(1)和(2),画出简化后的决策表。2.3、实验步骤1、三角形问题(1)根据功能性测试技术设计测试用例,主要考虑等价类划分测试技术。•使用等价类划分方法必须仔细分析和推敲题目所给出的要求。本题的输人条件要求的关键之处有:–1)整数;–2)三个数;–3)非零数;–4)正数;•输出条件要求的关键之处有:–5)应满足两边长之和大于第三边边长;–6)等腰;–7)等边;•其中,3)、4)和5)并没有在题目上明显给出,但这些条件是必要的。列出等价类表(表中号码为等价类编号)表1-1三角形问题等价类划分有效等价类号码无效等价类号码输入条件输入三个整数整数1一边为非整数a为非整数12b为非整数13c为非整数14两边为非整数a,b为非整数15b,c为非整数16a,c为非整数17三边均为非整数18三个数2只给一边只给a19只给b20只给c21只给两边只给a,b22只给b,c23只给a,c24给出三个以上258非零数3一边为零a为026b为027c为028二边为零a,b为029a,c为030b,c为031三边a,b,c均为032正数4一边0a033b034c035二边0a0且b036a0且c037b0且c038三边均0;a0且b0且039输出条件构成一般三角形a+bc5a+bc40a+b=c41b+ca6b+ca42b+c=a43a+cb7a+cb44a+c=b45构成等要三角形两边之和大于第三边a=b8b=c9a=c10构成等边三角形a=b=c11(2)根据所学知识确定优化策略(原则:用最少的用例检测出更多的缺陷、软件测试的充分性与冗余性考虑),设计两套测试用例集。列出覆盖步骤1中的等价类划分的测试用例表1-2三角形问题测试用表abc覆盖等价类号码3451—74451—7,84551—7,995451—7,104441—7,11(3)根据设计的两套测试用例集进行测试。表1-3Test1测试用例的测试结果测试用例IDTest1目的测试程序能否识别一般三角形前提输入三个不等的正整数,且两边之和大于第三边输入a=3;b=4;c=5预期结果输出“三角形是一般三角形”测试结果输出“三角形是一般三角形”测试日期2011-11-15备注无表1-4Test2测试用例的测试结果测试用例IDTest2目的测试程序能否识别等腰三角形前提输入三个不等的正整数,且两边之和大于第三边输入a=4;b=4;c=5预期结果输出“三角形是等腰三角形”测试结果输出“三角形是等腰三角形”测试日期2011-11-15备注无3、白盒测试业务处理流程的思路用流程图表示如下10把相同的逻辑提取到一个函数中,然后三次调用。程序设计对于软件的质量和软件实施过程的难易程度起着至关重要的作用。好的设计,即使聘用没什么经验的开发人员都很容易产生出高质量的代码出来;而差的设计,即使是经验很丰富的开发人员也很容易产生缺陷,特别是可重用性、可测试性、可维护性、可扩展性等方面的缺陷。经过以上的分析,下面来看一下如何设计。在下图中,每个方框都使用一个函数来实现,为了跟用户界面分开,最顶上的函数不要写在main函数中。把思路用流程图的方式表达出来,不用停留在脑袋里:11具体的函数的调用关系图复杂模块triangleType的流程图:124、课程设计与心得体会通过此次实验我学会使用LoadRunner来预测系统行为。Loadunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。Loadunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。参考文献13[1]李龙澍.实用软件工程[M].北京:人民邮电出版社.2005:13-18.[2]王欣.管理信息系统[M].北京:中国水利水电出版社.2004.[3]汪孝宜、刘中兵、徐佳晶等.JSP数据库开发实例精粹[M].北京:电子工业出版社.2005.[4]张大治绍勇王欢等.Jsp实用教程[M].北京:清华大学出版社.2006.[5]何玉洁.数据库原理与应用教程[M].北京:机械工业出版社.2005.[6]陈明.软件工程学教程[M].北京:科学出版社.2002.[7]王愿波.管理信息系统实用教程[M].北京:电子工业出版社.2006.[8]刘彬.jsp数据库高级教程[M].北京:清华大学出版社.2007.[9]王克宏.Java语言SQL接口——JDBC编程技术[M].北京:清华大学出版社.1997.[10]千雪芳.计算机现代饭店管理[M].重庆:重庆大学出版社.2002.[11]徐文苑、严金明.饭店前厅管理与服务[M].北京:清华大学出版社.2004.