1、3)&(z5)8 j=x*y+10;9 j=j%3;10 说明:程序段中每行开头的数字(110)是对每条语句的编号。(1)画出程序的控制流图(用题中给出的语句编号表示)。(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。题目二、折半查找请按要求对下面的java 代码进行测试。代码的功能是:用折半查找法在元素呈升序排列的数组中查找值为key 的元素。public int binSearch ( int array, int key ) int mid, low, high;low = 0;hig
2、h = array.length-1;while ( low = high ) mid = (low high)/2;if ( key = = array mid )return mid;else if ( key 3 ; z 5 ;设计用例时要使每个条件分别取真和取假。设计的测试用例如下表。测试用例编号测试数据覆盖条件执行路径1x=3,y=8,z=8假真假真1-2-3-6-7-8-9-102x=4,y=5,z=13真假真假 判定条件覆盖:判定/条件覆盖要求判断中每个条件的所有可能至少出现一次,并且每个判断本身的可能判定结果也至少出现一次。题目中的条件有四个,分别如下:1 x 该程序中的分支有
3、四个 。所以设计的测试用例如下表所示:x=4,y=8,z=8真真真真1-2-3-4-5-6-7-8-9-10x=3,y=5,z=13假假假假1-2-3-6-7-9-10条件组合覆盖:条件组合覆盖要求每个判定的所有可能条件取值组合至少执行一次。这道题目中共有四个条件分别如下:1 x 设定x 3 为真时,记作T1 ;为假时,即x 3 , 记作F1 ;z 5为真时,记作T4 ; 为假时,即y 5 , 记作F4 。条件组合如下表:编号具体条件取值判定取值x 3 , z 10T1,T2第一个判定:取真分支 3 , z 10T1,F2取假分支3x 3 ,z 5T3,T4第二个判定:6x = = 4 ,y
4、5T3,F47x 4 , y F3,T48x 4 , y 5F3,F4设计的测试用例如下:x = 4 , y = 8 , z = 8T1,T2,T3,T4x = 4 , y = 3 , z = 13T1,F2,T3,F4x = 2 , y = 8 , z = 8F1,T2,F3,T4x = 2 , y = 3 , z = 13F1,F2,F3,F4路径覆盖:路径覆盖要求覆盖程序中所有可能的路径。这道题中可能的执行路径共有4条,所以需要设计4个测试用例:x = 6 , y = 2 , z = 81-2-3-4-5-6-7-9-10(2) 题目二程序编号后如下:1.int mid, low, high;2.low = 0;3.high = array.length-1;4.while ( low 5.mid = (low high)/2;6.if ( key = = array mid )7.return mid;8.else if ( key 3) & (z上海市劳动和社会保障局所辖的“促进就业基金”,还专门为大学生创业提供担保,贷款最高上限达到万元。 j=x*y+10;图1-5 购物是对消费环境的要求分