实验一单元测试(4学时)实验类别:基本实验实验目的:1、掌握黑盒测试技术,并能应用黑盒测试技术设计测试用例。2、掌握白盒测试技术,并能应用白盒测试技术设计测试用例。3、掌握对测试用例进行优化设计方法。4、掌握单元测试技术,并按单元测试的要求设计测试用例。5、掌握一种单元测试工具的使用。实验内容:一、黑盒测试题目:选择3个完成。1.题目一:电话号码问题某城市电话号码由三部分组成。它们的名称和内容分别是:(1)地区码:空白或三位数字;(2)前缀:非'0'或'1'的三位数字;(3)后缀:4位数字。假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。2.题目二:三角形问题根据下面给出的规格说明,利用边界值测试的方法,给出足够的测试用例。“一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。”3.题目三:日期问题用决策表测试法测试以下程序:该程序有三个输入变量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),画出简化后的决策表。4.题目四:自动售货机问题向自动售货机中投入1元或5角硬币,并按下【橙汁】或【可口可乐】按钮,则相应饮料送出来。如果售货机没有零钱找,当投入1元硬币时,显示【零钱找完】信息,并退出1元硬币;如果有零钱找,不显示【零钱找完】信息,则送出饮料并找回5角硬币。(1)分析场景,根据场景设计测试用例。二、白盒测试题目:选择3个完成。1.题目一:使用逻辑覆盖测试方法测试以下程序段voidDoWork(intx,inty,intz){1intk=0,j=0;2if((x3)&&(z10))3{4k=x*y-1;5j=sqrt(k);6}7if((x==4)||(y5))8j=x*y+10;9j=j%3;10}说明:程序段中每行开头的数字(1~10)是对每条语句的编号。(1)画出程序的控制流图(用题中给出的语句编号表示)。(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。2.题目二:三角形问题在三角形计算中,要求输入三角型的三个边长:A、B和C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。画出程序流程图、控制流程图、计算圈复杂度V(g),找出基本测试路径。3.题目三:计算生日是星期几已知公元1年1月1日是星期一。编写一个程序,只要输入年月日,就能回答那天是星期几。应用逻辑覆盖方法和基路径测试方法为上面的问题设计测试用例。4.题目四:选择排序下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey(),一是交换两数组元素内容的操作Swap():voidSelectSort(datalist&list){/对表list.V[0]到list.V[n-1]进行排序,n是表当前长度。for(inti=0;ilist.n-1;i++){intk=i;//在list.V[i].key到list.V[n-1].key中找具有最小关键码的对象for(intj=i+1;jlist.n;j++)if(list.V[j].getKey()list.V[k].getKey())k=j;//当前具最小关键码的对象if(k!=i)Swap(list.V[i],list.V[k]);//交换}}用基本路径覆盖法给出测试路径,为各测试路径设计测试用例。实验步骤1、分别从白盒测试题目和黑盒测试题目中选择3个问题。2、根据所选问题,用熟悉的语言编写程序。3、针对所选问题设计测试用例。4、编写测试程序。5、执行测试。6、选择一种单元测试工具,选择一个问题进行自动单元测试。7、编写测试报告,记录测试过程及结果实验要求1、时间安排:第一次实验(2学时):题目选择、源程序编写、测试用例设计测试用例设计、测试程序编写、执行测试第二次实验(2学时):执行测试、记录测试结果、书写测试报告2、实验过程注意做好记录3、实验报告按照实验报告模板书写,每项内容必须填写。4、按时上交实验报告