# Levenshtein Testing Framework > Structural and behavioural tests for student code that tolerate small naming deviations, built on Ares 2. Structural and behavioural tests for Java student code that tolerate small naming deviations (typos, case slips, int vs. Integer), built on Ares 2 for exams and exercises on Artemis. Wrappers (ClassWrapper, AttributeWrapper, MethodWrapper, ConstructorWrapper) describe the expected classes; the framework finds the student's elements with Levenshtein distance and grades them EXACT, DEVIATES or MISSING. The Javadoc is at https://valentinherrmann.github.io/Levenshtein-Testing-Framework/api/. ## Getting started - [Home](): Overview, key features and the list of guides - [Quick Start](): From zero to a running test in four steps - [Writing Tests](): Wrapper reference, structural and behavioural tests, getters and setters, failure format, configuration, annotations - [Independent Tests and Mocks](): Objects without constructor, method overrides and mocks - [Ares 2 Setup in Detail](): Ares 2 dependencies, build wiring, reserved-package guard and security policy ## Reference - [How Matching Works](): How elements are found and graded: names, types, modifiers, methods, constructors, classes - [Architecture](): How the parts fit together, class overview and diagrams ## Help - [FAQ & Troubleshooting](): Common problems, fixes and known limitations - [Versions and Migrating](): Changes per release and how to update existing tests - [Development and Releasing](): Building, testing and releasing the framework (maintainers)