Bestand wählen
Merken

Integration testing of Web Mapping applications (including web mapping server) using Python

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
so that it the hi my name my name is still
future sky and I would like to tell you something to both server application distinct using origin should set it also something about a weakness that services to what we can probably talk later about this because I have to shorten the presentation format just for the 1st topic I still hold you will enjoy as I said I'm not
and it generally speaking to
everything related to GAS of open source and maps and I belong to the pie WPS appointment in the processing services producing committee and it will continue so
and I also work for a company called clear under you met information systems for a so called test sets of property management and on yeah
each article might map sensory and something really cold a data-centric view on the data and to be around
the whole system also on the mobile phones of course of cell phones apparently we need to address somehow do testing problem sing problematic be for we
stopped let's make it clear and what we are going to talk about what is it that suffered distinct according to the kipedia its own investigation conduct dates to provide stakeholders with information about the quality of the product or service hundreds test this thing is done usually at by protesters what are they do nanotube writing the software itself they just try to help to get as far
better everybody's somehow understand that as they apply some metrics on the software and try to make sure that everything is in line with the requirements and that all the systems are working together of course but this is all they really do deafening box in this and sometimes 3 as a developers used to say they're creating new box of course to suffer be but classic distress was founded in depends on how the teams
organized in the task is usually not done some
task is usually not done when tests are not passing
this is the sort of relationship between the project manager is the corporate and source this is a real life we can understand other
that produces various feelings is but so that thing is serious topic we try to eliminate box in the system and disable shows basically that cost the relative costs 2 figures about in various stages of the software development that you should what should shook you hopefully is for the expensive to try to
fix the block in the software which is already freely you should not use the software on the states that means basically that if you find if you try to read if you try to fix a bug in order of these stages costs are by up to 25 times higher than it should talk to try to fix them in 1 of the 1st stages
so I would test certain teams important because they're are kind watching or having of 6 there are watching your back when you try to hack around the system short
history of self-adjusting and volatiles basically slowly moving from the like saving moral to prevention narratives distinct types there's a whole around which I actually don't understand by generally speaking there stopping tests basically this in the quality of the cold itself and our dynamic tests proving that the cold behave the way we want it to behave and those on how deep justice known the source code of the program white the white bollocks why books this thing up to black box the data data is basically no no idea what was going on there just by testing DDI for example there is generally speaking for recognized levels of this thing called human just think iteration distinct component interface thing and system things and they of course there this are frequently groups by where there editors offered in the development process or by the level of this specifically for the test domain levels during the development process our unit and integration or system we can also talk about rule liver and higher levels of software testing
Tokyo's what does the sergeant unit testing I believe everybody using here and
everybody is always you know remembering or keeping a repeating use our bright unit destined to righteousness to get yourself a stable and the units that's the refer to it as the today verify the functionality of specific section of the Colts usually on a functional level on Middleton Class level so I'm very very level integration
testing is any type of software testing that seeks to refine interfaces between between components and so for design integration testing and our tests of 1st to expose the defects in the interface and interaction interaction between various components and they're already written by distance while you this best of course written by software developers and system testing is and to and think that it does the whole components by the Colombian Burke's at printing versus stuff like this all to better but you need to
ensure that the whole system is functioning and that not only small part on functional and so this is the relationship in unit and a system for integration I would like to show
your introduce how we are organizing the development of that Batman application in clear and how do we tested now we have some
things to be is basically the front and the back and team and they use every every game uses a accustomed units there at the front and using incomes Pajares that the candidate use some PHP framework for of last newly and not so far
the we found among the oldest thing doesn't work anymore but 2 stars there exposed states and they they were never able to repeat actually must have physics and twice and you know sometimes we missed something can develop this box in the system so it didn't work and
also from time to time to time yeah as I said have somebody has changed to database data prior diner database so suffered invert just because of the date of a wrong and so it's just simply stopped working can't everybody was complaining OK was going to happen and what was happening right well and being that
the and so we decided to to go more into system system distinct right so what people write a coach will just for us but we heat energy topic problem it was like of developers because of it but it was developing and when it's time for writing tests and apparently to used to developers what's special kind of developers of variety system so what we doing that we
picked 1 of the manual distinct colleagues I have to mention it was a and completely person who never had never has written as a cold single line of code and uh any time before and it took us about 2 week true data somehow into the problem of how how to write a program and another week out till she started to write to system tests using Python and in the 3rd week she is really pretty Britain everything I have done some weeks before and so we made it developers they do not break the main functional it it anymore because of its really around the system that's with every comment just for part of it and then every hour we we test the whole obligation all functionalities enhanced so we can make sure that everything is in dynamic and everything works and what is even nicer from my perspective there's no single 1 of 2 everything works by so it is
not good we set up the size of our use spiking units disorder which is pretty common and sniffing correspondence of that page using mainly a CSS selectors and is chicken from that Parliament's power like datasets spans of tables and it's filling in forms and clicking the buttons and stuff like that yeah this is done actually by the provide of possible by the projects called city New Chinese was this allows you to to to connect to the browser kernel greatest cystic
1 more time and you're currently will be probably touching is pick 1 more time and the article moving from font of GS is a headless preserved to Firefox as a kind so when the system model and so
the whole static she's to manage of course at the beginning she was not so convinced noted that it
was a good idea about what's true 1 of the examples have 1 of the practical in sample we are approaching this is all but the
propagation and the 1st you need to do of course you need to
import some some stuff from last year is the most from and then you have to define so that the development of so called the driver which can be cruel or Firefox performed or whatever and then you need for example as a user usually they think build a case to the little application are dust something we set them as generated time to 90 seconds to be really sure that that is everything thing working and of course you need to define the window size and so that means that you can just of response at the site where every and you go to don't have to do is to URL you to test and then you wait for something for example for selector dead open letters has slowly once the page loaded we make sure that our purpose that everybody is there with me for example can see this disclaimer here represented by 2 D closet years what we do next many find it be have to find a disclaimer element locate the decree button which is of this 1 and weekly collect so given the button and click on it Our the disclaimers if it if it doesn't work and broke cable basically faceless search for this grammar 1 more time and there is an exception expected to be dry so when there is no expect exception we have a problem next we have to look into
that means the estimated identified and manual alignment these too quickly and we have to find local and then and click on the log button what do we
have here again we can find elements called looking for and yet make sure it's it's the end we have to and identify the user input profitable something not fail the input with some variables of course and click on the submit button and so on then we have to make sure that there is a long tour and which will tell us that something is happening so should be information for the models of for the user the desired age he gave basically and and 1 and it's going to be make sure that there's no element anymore and a page and so on but it'll just the beginning of the 1 pretty complex task and we call its so called simple test so this is this is this and furthermore we are running on every comment on our continuous integration appointments you can test composite drawings to just by clicking conforming to map of all longer but you just putting the coordinates and you can always save the screen short and for example compared it and 5 sums and nobody deserves that and this is always so so so this is how it looks for all the time from the test error support of you have fewer lines of code and CSS selectors OK you know the whole infrastructure is
set up lodging conservatism so telling and for branches like 4 for something because master branch out of 4 there reproduction and production and you can see in in Jenkins particulary how we are doing right now so the master doesn't work pretty well but it doesn't bother us that the integration of the production protection application seems to be at time and we have also we can see here to try and how out tests apart doing basically for the
time and this is the common plant output of successful test you can again see the Python code here what we are interested in is this all came and at the end of the course now you can basically just to
sit and watch how all your tests are passing and the results we have
also the product of of course that sometimes still need some manual testing about about 90 per cent of the function of the whole obligation discovered by those of the existence of a because and it's safe to say that
all the time and and sometimes fail to integration to start filling but be reordered know in advance that something is happening all yeah can't really already known as I said about some serious problems between the front-end and the back-end entered the database and the data in advance the all still facing
some use and they would like to work on over all possible it is 1 of the defunct engineers doesn't behave very well it's like very lol sometimes they're are like memories it gives you an exception you don't know why it's is a little bit problem about that also developers are complaining coupled tests right fish therefore falling down and always it's always statistics order problem on the test right from the developer's point of view but then you get into it you get in the cold and proof a look you you did this change and as well and the test proof simply that that you do the wrong think and digits that you broke something so from the from of broader view was that source tests are going to draw from the developer's point of view this sort of working with the terrible broken again now and next problem is still Python an exceptional walk which is not suitable for has you know just Our PHP developers so we have to we have to make nite output looking little bit places and the last problem of mentioned was ingested in which isn't the as we would like to and we'll probably hear about to more tool for folks to come the so this is
open a backtrace through like and I ran some tests it is failing and what you
can see here me as applied per as you're message element is no longer attached to the to the dome and like I could probably go to switches line 169 and check for sampling there but this is really not a message you can show to the front end of over but so
this is this is something that just
a developer would like to see the message what is failing so we are working to go home do
now realize just units that relief you want to have this whole system are running right the system tests were integration but it sometimes even more easily and it's to write it and it gives you sometimes information is very easy to implement and even if you actually don't have any program was at hand in your team and every everybody sexually had had been used to having them around because while the they'll
over the number of the boxes and a whole system significantly and of course Python is a great tool for for vector mapping application testing you know it's and you would probably not consider 1st sign there is a present number 2 is a habit history what does his John happily it means but also for reasons you for since a self organized any questions we do but and available but and how do you deal with has stated the fixed database with special data instead because you you may moving around the and selecting features that good point have a specific especially delays of its testing data which try to cover some how the whole that problematic so to say and now we are at introducing new levels of users because every user after all he looks and see something different different functional think so a this is what we are going to not only the data can change can be different but also the users and the analysis of simply you have to know is that the the best is if you if you current them also you have a test database testing project basically where you can just all the function these and also that you test already a like I applications which are in production and then you can test that is just the just the main functionality right that it's wrong some of as its answer questions walking I was asked to watch a newcomer to now think about this the have you found good ways to test the complex visual features like the extra map itself all the the overlay you show that for example then can big someone here this is a matter of pride
yes have you found for example good ways you do the they are taking their on the on test this is the graphical user interface here everywhere and to reason that I'm drawing McBride so demand we don't test and because it was tested by Open last but it well actually if you look at the notice of of what is that they were created as I said you can make a screenshot of this is actually the way how openness they make a screenshot and compared EMD 5 some image so that would be that would be doing but we simply relying on parameters that it docile to supposed to do this is all I can say to it and we just really rely the remaining functionally which is like
switching camps and got a timetable and stuff like that this is perfectly OK for us more questions the thank you be
Offene Menge
Komponententest
Gewichtete Summe
Desintegration <Mathematik>
Leistungsbewertung
Blackbox
Browser
Formale Grammatik
Iteration
Information
Textur-Mapping
Rechenbuch
Service provider
Computeranimation
Homepage
Intel
Vorzeichen <Mathematik>
Statistischer Test
Gerade
Kartesische Koordinaten
Schnittstelle
Softwaretest
Signifikanztest
Multifunktion
Dean-Zahl
Sichtenkonzept
Güte der Anpassung
Ausnahmebehandlung
Biprodukt
Software
Dienst <Informatik>
GRASS <Programm>
Menge
Einheit <Mathematik>
Rechter Winkel
Festspeicher
Beweistheorie
Digitalisierer
Dynamischer Test
Server
Benutzerführung
Ordnung <Mathematik>
Wärmeleitfähigkeit
Fehlermeldung
Tabelle <Informatik>
Verzweigendes Programm
Subtraktion
Betragsfläche
Spielkonsole
Wort <Informatik>
Mathematisierung
Klasse <Mathematik>
Identitätsverwaltung
Signifikanztest
Open Source
Graphikprozessor
Domain-Name
Bildschirmmaske
Variable
Spieltheorie
Perspektive
Datentyp
Endogene Variable
Abstand
Analysis
Videospiel
Video Genie
Open Source
Verzweigendes Programm
Schlussregel
Programmfehler
Whiteboard
Softwareschwachstelle
Komponente <Software>
Offene Menge
Identitätsverwaltung
System Dynamics
Hill-Differentialgleichung
Inverter <Schaltung>
Bitmap-Graphik
Resultante
Bit
Punkt
Prozess <Physik>
Element <Mathematik>
Ausbreitungsfunktion
Gruppenkeim
Kartesische Koordinaten
Element <Mathematik>
Übergang
Kernel <Informatik>
Statistischer Test
Einheit <Mathematik>
Font
Existenzsatz
Mehragentensystem
Bildschirmfenster
Figurierte Zahl
Funktion <Mathematik>
Informationssystem
Umwandlungsenthalpie
Parametersystem
Lineares Funktional
Softwareentwickler
Statistik
Synchronisierung
Schreib-Lese-Kopf
Datenhaltung
Verhandlungs-Informationssystem
Übergang
Web Site
p-Block
Quellcode
Ein-Ausgabe
Texteditor
Framework <Informatik>
COM
ATM
Dateiformat
Projektive Ebene
Garbentheorie
Information
Versionsverwaltung
Message-Passing
Aggregatzustand
Varietät <Mathematik>
Server
Web Site
Quader
Physikalismus
Besprechung/Interview
Zahlenbereich
Interaktives Fernsehen
Gebäude <Mathematik>
Kombinatorische Gruppentheorie
Overlay-Netz
Framework <Informatik>
Code
Unendlichkeit
Task
Physikalisches System
Textur-Mapping
Software
Front-End <Software>
Stichprobenumfang
Pi <Zahl>
Biprodukt
Modelltheorie
Strom <Mathematik>
Optimierung
Softwareentwickler
Bildgebendes Verfahren
Basisvektor
Gammafunktion
Touchscreen
Leistung <Physik>
Linienelement
Cookie <Internet>
Zwei
Kontinuierliche Integration
Einfache Genauigkeit
Vektorraum
Physikalisches System
Sichtenkonzept
Quick-Sort
Endogene Variable
Integral
Mapping <Computergraphik>
Singularität <Mathematik>
Energiedichte
Druckertreiber
Parametersystem
Mereologie
Entropie
Mini-Disc

Metadaten

Formale Metadaten

Titel Integration testing of Web Mapping applications (including web mapping server) using Python
Serientitel FOSS4G Bonn 2016
Teil 187
Anzahl der Teile 193
Autor Čepický, Jáchym (Geosense.cz)
Jelínková, Eva
Kabatova, Magdalena (Geosense)
Lizenz CC-Namensnennung 3.0 Deutschland:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
DOI 10.5446/20398
Herausgeber FOSS4G, Open Source Geospatial Foundation (OSGeo)
Erscheinungsjahr 2016
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract 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.

Zugehöriges Material

Ähnliche Filme

Loading...
Feedback