This page contains some of the rationale that led to the decision about a new test framework in the Agile Lab 2009a. The main results have been: It should be easy to write test data just like any other Java code, Testers prefer to use JUnit as a Frontend (over FitNesse), Factbases should be pregenerated so that the test execution is fast.
What do we wan't?
Stuff to test:
Java parts
Prolog parts
General Criterias
Independence of tests and code
Evaluation Criterias for Prolog tests:
Fast Tests
Automated Tests
Real classes as testdata
Clear relations between testdata, tests and code
Test cases should be easy to write
Test framework should be easy to use
What do we have?
Java Parts
Plain Tests: Test of java cultivate core functionality
Plugin Tests: Test of cultivate functionality related to eclipse
Prolog Parts
Prolog Tests (based on plugin tests):
Slow
No automation because of a bug
plwin does not close if test fails
Testdata are no real classes
Testdata in the tests
Assertions not intuitive to check
Easy to use, since junit test integration is good in eclipse
JTransformer predicates readily available for the tests.
Same internal mechanisms as in Cultivate itself.
Fitnesse Tests
Fast
Automation works
Real classes as test data
Traceability between testdata and factbases not given
Easy writable tests through wiki syntax
Fitnesse is unintuitive for tests at the beginning
JTransformer predicates need to be explicitly consulted.
JTransformer (based on plugin-tests)
Slow
Automation works
Testdata are real classes, but zipped
Testdata in the tests
Assertions not intuitive to check
Easy to use, since junit test integration is good in eclipse
What can we do?
Assumptions:
One project for the test framework (cultivate.tests)
One test project per project to test (e.g. cultivate.core ⇒ cultivate.core.tests)
Fitnesse
One sourcefolder per factbase in each test project and precompile and filter factbases based on sourceFolderT
Prepare Fixture that consults all JTransformer predicates.
Junit Tests
One sourcefolder per factbase in each test project
Still needs slow plugin tests
additionaly precompile and filter factbases based on sourceFolderT
would get rid of plugin tests and move to plain prolog tests
Improve assertion checking for prolog results
Timeout for prolog tests, so that plwins get removed.
Write a test environment for plain prolog tests
Java Prolog Queries not testable
Relation between factbase and source code not visible again
research/cultivate/history.txt · Last modified: 2018/05/09 01:59 (external edit)