There are several distinct types of testing Khan does, all of them important.
Khan has a goal that all code has associated tests with it. We use unit tests to test our code, and also when appropriate higher level tests (such as functional tests, end-to-end tests, etc).
When changing the Khan site, we want to have evidence that the change will achieve the goal we want. For this purpose, we use A/B testing.
Monitoring can be seen as a type of "reactive" testing. We have a few monitoring tools we use: