private double getFitness(TestSuiteChromosome suite) { for (FitnessFunction<? extends Chromosome> ff : objective.getFitnessFunctions()) { TestSuiteFitnessFunction tff = (TestSuiteFitnessFunction) ff; tff.getFitness(suite); } return suite.getFitness(); }
/** * Applies DSE on the test case of the suite * * @param suite * @param testIndex * @param test * @param objective * @return */ private boolean applyDSE(TestSuiteChromosome suite, int testIndex, TestChromosome test, LocalSearchObjective<TestSuiteChromosome> objective) { TestSuiteLocalSearchObjective testSuiteObject = TestSuiteLocalSearchObjective .buildNewTestSuiteLocalSearchObjective(objective.getFitnessFunctions(), suite, testIndex); DSETestCaseLocalSearch dseTestCaseLocalSearch = new DSETestCaseLocalSearch(suite); boolean improved = dseTestCaseLocalSearch.doSearch(test, testSuiteObject); return improved; }
/** * Applies AVM on the test case in the suite * * @param suite * @param testIndex * @param test * @param localSearchObjective * @return */ private boolean applyAVM(TestSuiteChromosome suite, int testIndex, TestChromosome test, LocalSearchObjective<TestSuiteChromosome> objective) { logger.debug("Local search on test " + testIndex + ", current fitness: " + suite.getFitness()); final List<FitnessFunction<? extends Chromosome>> fitnessFunctions = objective.getFitnessFunctions(); TestSuiteLocalSearchObjective testCaseLocalSearchObjective = TestSuiteLocalSearchObjective .buildNewTestSuiteLocalSearchObjective(fitnessFunctions, suite, testIndex); AVMTestCaseLocalSearch testCaselocalSearch = new AVMTestCaseLocalSearch(); boolean improved = testCaselocalSearch.doSearch(test, testCaseLocalSearchObjective); return improved; }
TestSuiteFitnessFunction defaultFitness = (TestSuiteFitnessFunction) objective.getFitnessFunctions().get(0); for (FitnessFunction<? extends Chromosome> ff : objective.getFitnessFunctions()) { ((TestSuiteFitnessFunction) ff).getFitness(individual);
updateFitness(suite, objective.getFitnessFunctions()); updateFitness(suite, objective.getFitnessFunctions()); } else {
public boolean doSearch(TestSuiteChromosome suite, LocalSearchObjective<TestSuiteChromosome> objective) { updateFitness(suite, objective.getFitnessFunctions()); double fitnessBefore = suite.getFitness(); restoreBranchCoverage(suite, (TestSuiteFitnessFunction) objective.getFitnessFunctions().get(0));
oldTests.addAll(newTestSuite.getTestChromosomes()); suite.setChanged(true); for (FitnessFunction<? extends Chromosome> ff : objective.getFitnessFunctions()) { ((TestSuiteFitnessFunction) ff).getFitness(suite);