Last active
March 20, 2016 21:31
-
-
Save jachym/51d5d71d0df6d11e58a2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Integration testing of Web Mapping applications (including web mapping server) using Python | |
Authors: Jáchym Čepický, Magdalena Kabátová, Alžběta Gardoňová, Eva Jelínková | |
Keywords: Python, Integration testing, Continuous integration, Selenium | |
Abstract: | |
A unit test is a test written by the programmer to verify that a relatively small piece of code is doing what it is | |
intended to do. They are narrow in scope, they should be easy to write and execute. The tests are intended for the use | |
of the programmer. | |
An integration test 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. They usually require resources like database | |
instances and hardware to be allocated for them. The integration tests do a more convincing job of demonstrating the | |
system works (especially to non-programmers) than a set of unit tests can, at least to the extent the integration test | |
environment resembles production. | |
When you are developing applications, you need to write tests. Can you ship what’s on Master right now? If not, it's not | |
agile. Screw unit tests. 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. | |
In this way, 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'se easy to be lerned by non-programming | |
coworkers, 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. | |
Testing the application itself is one step, but how to make sure, the background data load well? For this task, we developed | |
WMSChecker project: based on configuration file containing list of servers and desired layers, final report is constructed | |
about how the service and each layer published via OGC WMS is performing. This is used in our Jenkins environment, so that | |
system administrator can have overview about current status of running custom nad 3rd party services. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment