# Testing The overall aim of testing is to validate the correct behaviour of funcitonality provided by a system. This document provides on overview of testing related items as it relates to the MiGrid codebase. ## Guidelines around testing requirements Expectations around the level of testing for changes made to the system and how their criteria based upon the components affected are described [here](CodeTestingGuide). ## Automated Testing We have made a commitment going forward to the implementation of automated tests to support ongoing validation of behaviour during development and for the prevention of regressions. As part of that adaoption, a rationale for the use of automated tests was written to provides an overview and introduction both to the techniques and benefits they can devlier. The discussion serves as an introduction to the concepts and specifically those we will make use of and is suggested for an overview at a high-level. See [AutomatedTesting](AutomatedTesting). For those already familiar with automated testing and looking to exercise the code they are writing, we cover aspects of writing unit test within the MiGrid repository in a dedicated [practical unit testing guide](PracticalUnitTestingGuide).