Medior Ontwikkelaar Testautomatisering (17-3)
Functie: Medior Ontwikkelaar Testautomatisering
Locatie: Bernhardkazerne Amersfoort
Startdatum: 01-07-2024
Einddatum: 31-01-2025
Aantal uur per week: 36
Optie op verlenging: Ja
Opdrachtomschrijving:
- Ontwikkelen van C# .NET desktop applicaties binnen een complexe gelaagde architectuur;
- Onderhoud en doorontwikkeling aan de automatische test omgeving en in-house ontwikkelde distributed test framework;
- Applicaties automatiseren (testen) middels C# op API, ViewModel en Ul niveau;
- Automatiseren (testen) van testgevallen van complexe gedistribueerde applicaties;
- Zelfstandig inhoud kunnen geven aan het ontwerpen en definiëren van complexe automatische testscenario’s binnen een gelaagde software
architectuur;
- Uitvoeren van testen (component-integratie testen en systeem testen);
- Het adviseren van ontwikkelteams m.b.t. testbaarheid product code en geautomatiseerd testen;
- Het adviseren van kwaliteitsmanager m.b.t. de kwaliteit van de code in de te testen producten;
- Reviewen en opstellen van requirements en gebruikersdocumentatie;
- Administreren bevindingen en het opstellen van testrapporten m.b.v. Azure Devops Server;
- Vastleggen en beoordelen van testresultaten;
- Debuggen en analyseren van bevindingen binnen complexe gedistribueerde applicaties;
- Meedenken/discussiëren over het (geautomatiseerde) test proces en verbeteringen in dit proces;
Achtergrond opdracht:
De Sectie Systeemontwikkeling en Integratie binnen de afdeling Landgebonden IT bij het JIVC ontwikkelt voor het landoptreden binnen Defensie
Command en Control (C2) systemen t.b.v. operationele commandovoering. Voor het mobiele domein ontwikkelt de sectie Projecten en Ontwikkeling
ook de dragende (communicatie-) infrastructuur. In het mobiele domein is dit het Battlefield Management Systeem (BMS) en in het dismounted
domein het VOSS project.
De C# Software engineer Testautomatisering, waarvan grote affiniteit verwacht wordt voor software kwaliteit en testautomatisering, werkt nauw
samen met de ontwikkelaars die de C2 producten ontwikkeld hebben en de testengineers die handmatig de producten testen.
Voor het uitvoeren van geautomatiseerde testen is bovenop Visual Studio 2022 en Azure Devops Server, een eigen geautomatiseerde testomgeving
en framework gebouwd waarmee de C2 applicaties worden getest. Draagt bij aan het onderhouden van het testframework om ervoor te zorgen dat
het compatibel en marktconform blijft met de nieuwste versies van de C2 applicaties, programmeertalen en tools.
Eisen:
- De kandidaat heeft minimaal 5 jaar aantoonbare werkervaring in development projecten waarbij de
kandidaat verantwoordelijk was voor C#-ontwikkeling binnen het project.
- Kandidaat heeft aantoonbaar een minimaal HBO werk- en denk niveau, ontwikkeld via
opleiding(en) en/of door minimaal 5 jaar aantoonbare werkervaring.
- Kandidaat heeft minimaal 3 jaar aantoonbare werkervaring als software engineer in Visual Studio
C# .NET4.0 of Hoger
- Kandidaat heeft minimaal 3 jaar aantoonbare werkervaring in development projecten waarbij de kandidaat verantwoordelijk was
voor het ontwikkelen van desktopapplicaties met behulp van Windows Presentation Foundation (WPF). Dit omvat het begrip van
MVVM-architectuur, het implementeren van complexe gebruikersinterfaces en het optimaliseren van WPF-applicaties.
- De kandidaat moet minimaal 3 jaar aantoonbare werkervaring hebben met het implementeren van Inversion of Control (IoC) en/of
Dependency Injection in development projecten. Dit omvat het begrip van IoC-containers, het configureren van dependency
injection in applicaties, en het gebruik van IoC-patterns om de afhankelijkheden van componenten te beheren en de modulariteit
van de codebase te verbeteren.
- De kandidaat moet minstens 3 jaar aantoonbare werkervaring hebben in development projecten waarbij de kandidaat
verantwoordelijk was voor het ontwerpen van schaalbare, onderhoudbare softwarearchitecturen en het implementeren van SOLID-
principes en verschillende design patterns.
Functie wensen:
- Kandidaat heeft bij voorkeur minimaal 3 jaar ervaring met het documenteren van de architectuur van een codebase. Dit omvat het beschrijven
van de overkoepelende structuur, de onderlinge relaties tussen componenten, en de flow van gegevens door het systeem.
- Kandidaat heeft bij voorkeur minimaal 1 jaar ervaring met het gebruik van tools en of frameworks voor automatische codeanalyse en -tests om
de kwaliteit van de code te verbeteren. Dit omvat het integreren van tools in het ontwikkelproces en het regelmatig uitvoeren van code-analyses en
-tests opzetten van onder andere geautomatiseerde functionele, load/performance en UI testen.
- Kandidaat heeft bij voorkeur minimaal 2 jaar kennis en ervaring met het implementeren van tests als onderdeel van het ontwikkelproces. Dit
omvat het schrijven van verschillende soorten tests, zoals unit tests, integratietests en acceptatietests.
- Kandidaat heeft bij voorkeur minimaal 2 jaar kennis en ervaring ervaring met test-driven development (TDD).
- De kandidaat heeft bij voorkeur 2 jaar ervaring met het debuggen en analyseren van bevindingen binnen een complexe architectuur. Dit omvat
het vermogen om problemen te identificeren, te analyseren en op te lossen in een omgeving met meerdere componenten en subsystemen. Dit door
gebruik te maken van geavanceerde debuggertools en technieken.
- Kandidaat heeft bij voorkeur minimaal 1 jaar kennis en ervaring met het implementeren en aanroepen van unmanaged code vanuit managed
code, inclusief het gebruik van platform invoke (P/Invoke) en COM-interoperabiliteit.
- De kandidaat heeft bij voorkeur 2 jaar ervaring met verschillende vormen van multithreading in C# .NET 4.0 en hoger. Daarbij bekend zijn met
de concepten van thread-synchronisatie.
- De kandidaat heeft bij voorkeur 2 jaar ervaring in development projecten waarbij versiebeheersystemen zoals Git werden gebruikt en waarbij
- Kandidaat heeft bij voorkeur minimaal 1 jaar kennis en ervaring met ontwikkelen en consumeren van RESTful API’s, inclusief het begrip van de
OpenAPI-specificatie voor het definiëren van API’s, en het genereren van clientcode op basis van OpenAPI-specificaties.
- Kandidaat heeft bij voorkeur minimaal 1 jaar kennis en ervaring met virtualisatieplatforms zoals VMware, Hyper-V, of KVM, en begrip hebben
van virtualisatieconcepten zoals hypervisors, virtuele machines, en snapshots.
- Kandidaat heeft bij voorkeur minimaal 1 jaar kennis en ervaring met containerisatietechnologieën zoals Docker of Kubernetes, inclusief het
opzetten, beheren en schalen van containerized applicaties.