DUTY STATION  Geneva, Switzerland  COMMENCEMENT OF DUTY   To be determined   NATURE OF APPOINTMENT  Variable (depending on needs of Department/Division) 90 days        📚 𝗗𝗶𝘀𝗰𝗼𝘃𝗲𝗿 𝗛𝗼𝘄 𝘁𝗼 𝗚𝗲𝘁 𝗮 𝗝𝗼𝗯 𝗶𝗻 𝘁𝗵𝗲 𝗨𝗡 𝗶𝗻 𝟮𝟬𝟮𝟯! 🌍🤝 𝗥𝗲𝗮𝗱 𝗼𝘂𝗿 𝗡𝗘𝗪 𝗥𝗲𝗰𝗿𝘂𝗶𝘁𝗺𝗲𝗻𝘁 𝗚𝘂𝗶𝗱𝗲 𝘁𝗼 𝘁𝗵𝗲 𝗨𝗡 𝟮𝟬𝟮𝟯 𝘄𝗶𝘁𝗵 𝘁𝗲𝘀𝘁 𝘀𝗮𝗺𝗽𝗹𝗲𝘀 𝗳𝗼𝗿 𝗨𝗡𝗛𝗖𝗥, 𝗪𝗙𝗣, 𝗨𝗡𝗜𝗖𝗘𝗙, 𝗨𝗡𝗗𝗦𝗦, 𝗨𝗡𝗙𝗣𝗔, 𝗜𝗢𝗠 𝗮𝗻𝗱 𝗼𝘁𝗵𝗲𝗿𝘀! 🌐  
  ⚠️ 𝐂𝐡𝐚𝐧𝐠𝐞 𝐘𝐨𝐮𝐫 𝐋𝐢𝐟𝐞 𝐍𝐨𝐰: 𝐏𝐨𝐰𝐞𝐫𝐟𝐮𝐥 𝐓𝐞𝐜𝐡𝐧𝐢𝐪𝐮𝐞𝐬 𝐡𝐨𝐰 𝐭𝐨 𝐠𝐞𝐭 𝐚 𝐣𝐨𝐛 𝐢𝐧 𝐭𝐡𝐞 𝐔𝐧𝐢𝐭𝐞𝐝 𝐍𝐚𝐭𝐢𝐨𝐧𝐬 𝐍𝐎𝐖! 

Organizational Unit    WIS Branch Data and Information Management Division / Member Platform Unit Infrastructure Department   WMO is committed to achieving diversity and a balanced workforce. Applications are welcome from qualified women and men, including those with disabilities. The statutory retirement age after 1 January 2014 is 65. For external applicants, only those who are expected to complete the term of appointment will normally be considered.     DUTIES AND RESPONSIBILITIES  BACKGROUND AND PURPOSE OF THE ASSIGNMENT:WMO develops WDQMS, a Python/Django, React/Leaflet and PostGIS based monitoring system (https://wdqms.wmo.int). The core part of the system are periodic and complex ETL processes aggregating data which is downloaded from external systems, and then aggregated in the database with Python based scripts. The system is deployed in Kubernetes and developed using a Docker Compose based approach. Unit and integration tests are run with Pytest as part of the CI/CD pipeline, also using Docker Compose.WMO is seeking a qualified Python Testing Engineer to enhance the integration testing framework of WDQMS. This document outlines the scope, objectives, and expectations for the consultant's engagement.ACCOUNTABILITIES/RESPONSIBILITIES:The current approach to integration testing is to execute the ETL scripts in isolation on a fresh database, and to compare the resulting database tables with the baseline. There are currently around 30 integration tests, each executing the same aggregation logic, but based on different input files.This approach has several drawbacks;a) Not end-to-end: Since the test are based on database content, key parts of the application such as API and processing in the react frontend are excluded from the testing. The integration testing also does not fully mock the upstream systems from which data is downloaded. b) Maintenance: The baseline files are big (several MB and consist of thousands of rows), which makes maintaining the baselines difficult.c) Interpretation: The big size of the baseline files makes interpreting errors in the testing difficult.The consultant will help the team review the current integration testing architecture, identify and implement improvements to address the identified shortcomings. DELIVERABLES AT THE END OF THE CONTRACT:- Review of the current integration test architecture and validated approach to improve it.- Implemented end-to-end testing • Adjusted the existing test framework to obtain test data via the React frontend, instead of directly from the database. Possible approaches are either to take screenshots via Selenium, or, preferably, to obtain information by decoding vector tiles in the map component (PoC python code available). • Extended the Docker compose testing setup by additional containers mocking the external HTTP and FTP servers from which data is downloaded.- Migrated existing tests • Migrated existing tests to use the new framework.- Automated maintenance • Created a script which automates the re-creation of baseline files (sometimes required when the processing logic changes are part of the evolution of the system).    QUALIFICATIONS   Education  Bachelors (or Masters) degree related to software engineering / development.  Experience  - Strong Python development skills, ideally with a DevOps background. - Strong experience with unit and integration testing using pytest or unittest. - Experience with Python mocking frameworks in the context of testing (mock, freezegun).- Familiarity with Docker.- Experience with web technology.- Experience with API Testing.
 Languages  Excellent knowledge of English (both oral and written). Knowledge of other official languages of WMO would be an advantage.   (Note: The official languages of the Organization are Arabic, Chinese, English, French, Russian and Spanish.)             Additional Information:  FOCAL POINT/EMAIL: tproescholdt@wmo.intOnly applicants in whom WMO has a further interest will be contacted. Shortlisted candidates may be required to sit a written assessment and/or an interview.    Date of issue of vacancy notice:         






    📚 𝗗𝗶𝘀𝗰𝗼𝘃𝗲𝗿 𝗛𝗼𝘄 𝘁𝗼 𝗚𝗲𝘁 𝗮 𝗝𝗼𝗯 𝗶𝗻 𝘁𝗵𝗲 𝗨𝗡 𝗶𝗻 𝟮𝟬𝟮𝟰! 🌍🤝 𝗥𝗲𝗮𝗱 𝗼𝘂𝗿 𝗡𝗘𝗪 𝗥𝗲𝗰𝗿𝘂𝗶𝘁𝗺𝗲𝗻𝘁 𝗚𝘂𝗶𝗱𝗲 𝘁𝗼 𝘁𝗵𝗲 𝗨𝗡 𝟮𝟬𝟮𝟰 𝘄𝗶𝘁𝗵 𝘁𝗲𝘀𝘁 𝘀𝗮𝗺𝗽𝗹𝗲𝘀 𝗳𝗼𝗿 𝗨𝗡𝗛𝗖𝗥, 𝗪𝗙𝗣, 𝗜𝗢𝗠, 𝗨𝗡𝗜𝗖𝗘𝗙, 𝗨𝗡𝗗𝗦𝗦, 𝗨𝗡𝗙𝗣𝗔 𝗮𝗻𝗱 𝗼𝘁𝗵𝗲𝗿𝘀!  🌐   





Apply for this job











Recommended for you




    📚 𝗗𝗶𝘀𝗰𝗼𝘃𝗲𝗿 𝗛𝗼𝘄 𝘁𝗼 𝗚𝗲𝘁 𝗮 𝗝𝗼𝗯 𝗶𝗻 𝘁𝗵𝗲 𝗨𝗡 𝗶𝗻 𝟮𝟬𝟮𝟰! 🌍🤝 𝗥𝗲𝗮𝗱 𝗼𝘂𝗿 𝗡𝗘𝗪 𝗥𝗲𝗰𝗿𝘂𝗶𝘁𝗺𝗲𝗻𝘁 𝗚𝘂𝗶𝗱𝗲 𝘁𝗼 𝘁𝗵𝗲 𝗨𝗡 𝟮𝟬𝟮𝟰 𝘄𝗶𝘁𝗵 𝘁𝗲𝘀𝘁 𝘀𝗮𝗺𝗽𝗹𝗲𝘀 𝗳𝗼𝗿 𝗨𝗡𝗛𝗖𝗥, 𝗪𝗙𝗣, 𝗨𝗡𝗜𝗖𝗘𝗙, 𝗨𝗡𝗗𝗦𝗦, 𝗨𝗡𝗙𝗣𝗔 𝗮𝗻𝗱 𝗼𝘁𝗵𝗲𝗿𝘀! 🌐