When you are developing applications, you need to write tests. A unit test is a test written by the programmer to verify that small piece of code is doing what it is intended to do. The tests are intended for the use of the programmer. An integration test on the other hand is done to demonstrate that different pieces of the system work together. Integration tests cover whole applications, and they require much more effort to put together. The integration tests do a more convincing job of demonstrating the system works than a set of unit tests can. Unit tests can be great but they tightly couple your tests to your code, making it really fragile and anti Agile. We will show integration testing of web mapping applications using Python bindings to Selenium browser automation tool. We can test JavaScript application from Python environment, using standard unittest module. Since Python is very easy to be used and it's very universal language, it's easy to be learned by non-programming co-workers, who can automate application tests and help the developers with testing. Using integration tests in continuous integration development, enables us to be more agile, making sure that both parts - frontend and backend remain integrated even bigger refactoring occures. Part of testing is also background data services, with new project called WMSChecker. This is used in our Jenkins environment, so that system administrators can have overview about current status of running custom nad 3rd party services. |