软件测试作业hw3_TestPrintPrimes
来源:互联网 发布:yum cache clean 编辑:程序博客网 时间:2024/06/10 01:52
- printPrimes()的控制流图如下:
- 可令常数MAXPRIMES = 4
- 若跳过循环体直接执行print的for循环,则测试路径为1,2,10,11,其条件为
numPrimes≥n ,可令n=1即可 - 节点覆盖:
{【1,2,3,4,5,6,7,8,9,2,10,11】}
边覆盖:
{【1,2,3,4,5,6,7,8,9,2,10,11】,【1,2,3,4,5,4,7,9,2,10,11】}
主路径覆盖:
{【4,5,4】,
【5,4,5】,
【1,2,3,4,5,6,7,8,9】,
【1,2,3,4,5,6,7,9】,
【1,2,3,4,7,8,9】,
【1,2,3,4,7,9】,
【1,2,10,11】
【2,3,4,5,6,7,8,9,2】,
【2,3,4,5,6,7,9,2】,
【2,3,4,7,8,9,2】,
【2,3,4,7,9,2】}
5.基于Junit及Eclemma(jacoco)实现一个主路径覆盖的测试:
测试类:
package com.tju.edu.junittest;import org.junit.Test;import static org.junit.Assert.*;import java.io.ByteArrayOutputStream;import java.io.PrintStream;import org.junit.After;import org.junit.Before;import com.tju.edu.model.Prime;public class PrimeTest { private int primes[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29}; private final ByteArrayOutputStream outContent = new ByteArrayOutputStream(); @Before public void setUpStreams(){ System.setOut(new PrintStream(outContent)); } @After public void cleanUpStreams(){ System.setOut(null); } @Test public void testPrime(){ testOnce(10); } public void testOnce(int num){ String output = ""; for(int i = 0; i < num; i++){ output += "Prime: " + primes[i]; } Prime.printPrimes(num); assertEquals(output, outContent.toString()); }}
被测试类:
package com.tju.edu.model;public class Prime { public static int MAXPRIMES = 10; public static void printPrimes(int n){ int curPrime; int numPrimes; boolean isPrime; int[] primes = new int[MAXPRIMES]; //Initialize 2 into the list of primes primes[0] = 2; numPrimes = 1; curPrime = 2; while(numPrimes < n){ curPrime++; isPrime = true; for(int i = 0; i <= numPrimes - 1; i++){ if(isDivisible(primes[i], curPrime)){ isPrime = false; break; } } if(isPrime){ primes[numPrimes] = curPrime; numPrimes++; } }//End While //Print all the primes out for(int i = 0; i <= numPrimes-1; i++){ System.out.print("Prime: " + primes[i]); } } private static boolean isDivisible(int divisor, int divided){ if(divisor != 0){ return (divided % divisor) == 0; } return false; }}
用该方法可以实现测试覆盖100%:
0 0
- 软件测试作业hw3_TestPrintPrimes
- 软件测试作业一
- 软件测试作业2
- 软件测试作业进度
- 软件测试技术第一次作业
- 软件测试技术第二次作业
- 软件测试技术第三次作业
- 软件测试(二) 第二次作业
- 软件测试作业进度-2
- JAVA作业 算法测试:编写算法测试小软件
- 【软件测试】操作系统篇:第二章 作业管理
- 【软件测试】操作系统篇:第二章 作业管理
- 编译原理大作业《软件测试的初识》
- 软件测试作业 图中任意两点的最短路径
- 广州八神软件性能测试课程优秀学员作业-第1课-抓包不求人
- 作业调度小软件
- 软件项目管理作业
- 软件项目管理作业
- ERROR 1366 (HY000): Incorrect string value: '\xE7\x9A\x84' for column 'name' at row 1
- 在其他程序中如何使用FFMPEG 提供的lib dll文件
- junhyukoh的lstm代码解析
- 使用map实现函数的switch-case
- API集合框架-ArrayList取出重复元素方式(一)
- 软件测试作业hw3_TestPrintPrimes
- Leetcode - Median of Two Sorted Arrays
- VJ 【规律题】
- 第5周项目2—游戏中的角色类(2)
- leetcode_004 Median of Two Sorted Arrays
- 1011. A+B和C (15)
- 程序员们最爱犯的几个愚蠢错误
- lesson 4 Building a Dynamic UI with Fragments
- Markdown 语法的简要规则