In software development we often develop tests on various levels to ensure application behaves correctly. Many times there is lack of resources to test applications in detail, in different environments, in different configuration. Also maintenance of tests is time-consuming. Rapid development of test suites with little code (therefore easier to maintain) having only abstract terms. This can be applied to multiple environments and can help with regression.
There exist general solution, but they are very general. Having a common platform makes it easier to narrow the search space. The idea of AppBAD is to scan/record application behavior which has been thouroughly verified by other tools or people, create model out of it and then detect anomalous behaviour of the next version of application or in different environment. The idea is not to replace automated tests. It is intended to be an additional tool to perform verification. Functional testing - there has to be defined exact things to test. Code might be complicated. Visual testing compares snapshots of application so that any, even the valid, difference from baseline is considered as a failed test. Therefore such test requires precise setup to prevent many false positives.