Die Finanz Informatik ist der bundesweit tätige IT-Dienstleister der Sparkassen-Finanzgruppe. Zu ihren Kunden gehören 367 Sparkassen, sechs Landesbanken, die DekaBank, acht Landesbausparkassen, öffentliche Versicherer sowie weitere Unternehmen der Sparkassen-Finanzgruppe und der Finanzbranche. Mit OSPlus (One System Plus) bietet die Finanz Informatik (FI) ihren Kunden eine einheitliche und zukunftsfähige Gesamtbanklösung, die auf einer modernen Architektur basiert. Zentraler Bestandteil der IT-Lösung ist das leistungsfähige Kernbanksystem, das durch eine Vielzahl von Anwendungen rund um das Sparkassen- bzw. Bankgeschäft komplettiert wird.
Reproduzierung und Lösung von Fehlern durch Programmierung in Java, JSP und Javascript
Defekts in der Software werden über Quality Center erfasst und den entsprechenden Entwickler:innen zugewiesen. Zunächst lasse ich mir den kompletten Ablauf zur Reproduzierung der Fehler mit Kommentaren anzeigen. Dann reproduziere ich den Fehler, finde eine Lösung und passe in Java, JSP und/ oder Javascript diesen jeweils an. Schließlich weise ich den Task dann dem Ersteller zur Abnahme zurück.
Methodik/Vorgehensweise: V-Modell
Die regio iT gesellschaft für informationstechnologie mbh ist ein IT-Dienstleister für Kommunen, Schulen, Energieversorger und Entsorger sowie Non-Profit-Organisationen mit Sitz in Aachen. Ziel des Projektes ist der Auf- und Ausbau der Web-Applikation ?Ehrenamt interaktiv? der Stadt Aachen. Die Plattform ist für eine breitgefächerte Zielgruppe ausgelegt, so dass es mehrere Nutzergruppen, wie z. B. Unternehmen, Privatpersonen, Vereine / freie Initiativen, Bildungseinrichtungen und die Kommune als Portalbetreiber gibt. Jede Zielgruppe kann Anzeigen erstellen, um ehrenamtliche Hilfe bitten oder Hilfe anbieten.
Entwicklung des Frontends mit Angular 11 in IntelliJ und Versionierung mit GitLab
Die vorgegebenen Kundenanforderungen sind in Jira erfasst. Auf dieser Basis entwickele ich das Frontend mit Hilfe von Angular 11 Framework in der Entwicklungsumgebung IntelliJ. Die Versionierung sowie die Tags für Releases erstelle und verwalte ich in Git und GitLab.
Entwicklung des Backends mit JPA und Springboot in IntelliJ und Versionierung mit GitLab
Auf der Grundlage, der in Jira erfassten Kundenanforderungen, entwickele ich mit Hilfe von JPA und Springboot das Backend oder passe bestehenden Code an. Ich programmiere nach der Clean Code Regel unter Nutzung der Programmiersprache Kotlin und REST-API. Die Versionierung erfolgt über GitLab.
Methodik/Vorgehensweise: Wasserfall
SPIRIT-Candidates ist eine Web Applikation der SPIRIT-TESTING Software & Services GmbH zum Management der Bewerber:innen im Recruitingprozess von der Ansprache über das Interview bis zur Einstellung oder Absage. Candidates dient sowohl der Datenpflege als auch dem Monitoring des Bewerbungsstatus. So können die Recruiter auf einen Blick sehen, wer muss noch kontaktiert werden. Ziel des internen SCRUM-Projektes ist es, Microservices, wie z. B. eine automatische Maileinbindung einzubauen und umfassend zu testen.
Bearbeitung der Backend-Klassen mit Java, Spring Boot und JPA und Durchführung von JUnit-Tests
Ich passe die Entitys an und generiere die PostgreSQL Datenbank. Ich bearbeite die Backend-Klassen mit Java, Spring Boot und JPA und erstelle Ressourcen, Repository und Service Klassen. Ich führe JUnit-Tests durch und erreiche ich damit mindestens eine 80%ige Testabdeckung. Dann erstelle ich DTO Klassen, um in JSON nur notwendige Elemente für das Frontend übergeben zu können.
Methodik/Vorgehensweise: Agile Vorgehensweise und Scrum
Die ISB AG entwickelt Softwarelösungen und unterstützt Kunden aus den Bereichen Industrie und Öffentliche Verwaltung bei der Umsetzung ihrer Softwareentwicklungsprojekte. GeoBas Refactoring ist eine Weiterentwicklung und Umsetzung einer bereits existierenden Java-Anwendung in eine neue Web-Anwendung auf Basis neuer Technologien, sowie Angular 11 und Java Spring Framework. Ziel des GeoBas Refactorings ist es, die Performance zu verbessern und gleichzeitig soll auch die digitale Barrierefreiheit beachtet werden. So soll die Web-Anwendung durch Screen Reader oder nur über die Tastatur bedienbar sein.
Anpassung der digitalen Barrierefreiheit im Frontend in Angular, Angular Material und Spring Boot
Meine Aufgabe ist es, dass alle Masken, Dialoge und Tabellen nun Elemente (Attribute) bekommen, die nur mit der Tastatur bedient werden können. Ich sorge dafür, dass der Screen Reader für die Benutzer problemlos alles lesen kann und nutze dazu die Entwicklungsumgebungen Eclipse und Visual Studio Code. die Versionsverwaltung BitBucket sowie die Frameworks Angular, Angular Material und Spring Boot.
Erweiterung und Bearbeitung der Backend-Klassen in Java und SpringBoot sowie Aufbau der Rest API
In diesem Refactoring-Projekt passe ich mehrere Klassen des alten Codes für die neue Web-Anwendung an oder programmiere in Java und SpringBoot neue. So erweitere ich z. B. bestehende Klassen so, dass nun eine Verbindung zwischen Frontend und Backend mit Rest API funktioniert. Ich erweitere und erstelle JUnit Tests, um damit die neuen Funktionalitäten in der Software umfassend zu testen.
Methodik/Vorgehen: Agile Vorgehensweise und SCRUM
Beschreibung
Der SPIRIT-Profiler dient intern zur Verwaltung und Generierung von Berater-Profilen auf Basis einer Angular-Frontend- und Java-Backend-Entwicklung. Zum Ausbau unserer Testautomatisierung soll die Testabdeckung über Postman auf Basis der REST API aufgebaut werden. Ziel ist es, insbesondere die Themen Sicherheit und Datenübertragungskorrektheit zu prüfen.
Methodik/Vorgehen
Agile Vorgehensweise und SCRUM
Aufgaben
Erstellung und Durchführung von Testfällen mit Postman sowie Einbindung in die CI/CD-Pipeline
Ich implementiere die Testfälle mittels Javascript für die Rest-API-Schnittstelle. Dann prüfe ich in Postman, ob die Datensicherheit und Übertragung von JSON-Dateien einwandfrei funktionieren. Die Tests binde ich in die CI/CD-Pipeline mit GitHub ein. Die Tests dienen im Build-Prozess als ein weiteres Kriterium für einen erfolgreichen Build. Wir gehen agil vor und ich nehme an SCRUM-Meetings teil.
Die Bundesagentur für Arbeit (BA) in Nürnberg ist als Behörde der Ansprechpartner für die Arbeits- und Ausbildungsvermittlung und unterstützt Bürger:innen mit finanziellen Leistungen wie Arbeitslosengeld und Kindergeld. Das Projekt ALLEGRO (Arbeitslosengeld II Leistungsverfahren Grundsicherung Online) ist eine Java basierte Anwendung zur Leistungsberechnung von Arbeitslosengeld II für die Jobcenter in Deutschland. Um den gesetzlichen Auftrag erfüllen zu können, die Leistungen pünktlich und rechtmäßig zahlbar zu machen, wird in den gemeinsamen Einrichtungen (gE) täglich mit dem IT-Verfahren A2LL gearbeitet. Ziel des Projektes ist es, die Performance zu verbessern, Gesetzesänderungen, ohne große Verzögerungen in der Anwendung umsetzen zu können, sowie die Betriebs- und Weiterentwicklungskosten bei jeder Anpassung zu senken.
Testanalyse und Erstellung des Test Designs in Innovator auf Basis der Spezifikationen
Sobald die Spezifikationen (Innovator-F3 Texte) vorhanden sind, haben wir als Testteam u.a. mit der User Story Formulierung gestartet und die Testaufgaben zugeteilt. Ich habe in Innovator die neu definierten Spezifikationen analysiert und mit dem entsprechenden Test Design angefangen. Nach der Erstellung habe ich die Teamleitung informiert und mein Design ist auf Korrektheit überprüft worden.
Testfallerstellung für automatisiertes und manuelles Testen sowie Abfragen in Oracle-DB mit SilkTest
Nach der Überprüfung des Test Designs fange ich mit der Realisierung an. Die Testfälle erstelle ich mit Hilfe von SWET und BA Schlüsselwortbibliothek. Die Datenbankabfragen schreibe ich manuell in SilkTest und aktualisiere die Oracle-DB mit den benötigten Testdaten. Für den Oberflächentest lege ich eine einfache Testcharta (spezifische Exceltabelle) an und befülle diese bei der Durchführung.
Testdurchführung zur Fehleridentifizierung mit SilkTest und Testen der Oberfläche nach BA Standards
Alle fehlgeschlagenen Tests führe ich manuell und automatisiert in SilkTest durch, um festzustellen, ob es sich um Schreibfehler, Befunde in der Software, Spezifikationsfehler oder um neue Datensätze in der Datenbank handelt. Die Oberfläche der Software teste ich manuell und explorativ auf die Erfüllung der vorgegebenen BA Standards für die Oberfläche.
Bearbeitung fehlerhafter Testfälle in SWET, SilkTest und Oracle DB sowie Dokumentation in Jira
Nach der Analyse der fehlgeschlagenen Tests, analysiere ich die Fehler. Bei einer Spezifikation oder einem Softwarefehler stelle ich einen Fehlerbefund in Jira ein. Ab diesem Zeitpunkt kann man dann keine Testschritte mehr anpassen. Handelt es sich aber nur um Testschritte, einen Schreibfehler oder eine Datenbankaktualisierung, dann bearbeite ich das über SWET, SilkTest oder in der Oracle DB.
Verbesserung der Kommunikation und Wissenstransfer durch Teilnahme an Entwicklermeetings
Zur Verbesserung der Kommunikation und zum Wissenstransfer zwischen Testern und Entwicklern haben wir Tester:innen zu regelmäßigen Meetings auf Entwicklungsseite eingeladen. Hiermit haben wir in dem Wasserfall-Projekt erreicht, dass weniger Fehler und Unklarheiten in Anforderungen, bei der Umsetzung, beim Testen und in der Entwicklung aufkommen.
Methodik/Vorgehensweise: Manuelles Testing, Exploratives Testing und Wasserfall
Im Rahmen dieses internen Projekts soll eine Anwendung als Employer-Self-Service zur Eingabe, Pflege, Verwaltung und Ausgabe von Beraterprofilen geschaffen werden. Ziel des Product Owners (PO) ist es, eine deutliche Zeit- und Aufwandsersparnis zu erreichen. Die Webanwendung soll dabei auf Basis des Frameworks JHipster mit Java-Backend und Angular-Frontend umgesetzt werden. Im SCRUM-Prozess sollen Stories nach vertikalem Schnitt umgesetzt werden. Das Entwicklungsteam soll aus auszubildenden Fachinformatikern unter der Projektleitung eines Ausbilders bestehen. Mein Verantwortungsbereich umfasst von der Datenbank über Back- und Frontend Entwicklung auch das Testing und die Integration neuer Features in die Gesamtanwendung bis hin zum Ausrollen auf die Produktionsanwendung.
Abstimmung der Anforderungen mit dem Product Owner und Refinement von Stories im SCRUM-Prozess
Nach Abstimmung der Anforderungen mit dem Produkt Owner (PO), verfeinern und schätzen wir die User-Stories im Team. Am Anfang haben wir dazu ein SCRUM-Board benutzt und es dann in Trello umgesetzt, was die Arbeit im Homeoffice erleichtert. Ich erhalte die Stories pro Sprint zugeteilt und bearbeite diese. Nach Sprintende besprechen wir mit dem PO den Erfolg, auftretende Probleme und Lösungsansätze.
Änderungen und Erweiterungen an der PostgreSQL Datenbank mittels Liquibase-Skripten
Für die Anwendung benutze ich eine PostgreSQL Datenbank, die ich mit Liquibase Skripten erweitere und bearbeite. Nach jeder Erweiterung der Web-Anwendung gebe ich auch eine Erweiterung an die zugrundeliegende Datenbank und überprüfe im Sinne des Test Driven Development (TDD), ob die Struktur weiter problemlos funktioniert.
Aufbau der Frontend- und Backend-Kommunikation mit JHipster-Generatoren und Versionierung mit Github
Zur Erzeugung von zusätzlichen Klassen (Frontend- und Backend-Kommunikation) benutze ich JHipster-Generatoren und verwalte Versionen mit Github. Ich gebe dabei z. B. ein, was für eine Klasse es sein soll, wie viele Eigenschaften es geben soll und, welche Relation zu anderen Klassen bestehen soll. Wenn ich alles eingegeben habe, dann generiere ich den Code und verknüpfe diesen mit der Applikation.
Umsetzung der Backend-Geschäftslogik in Java mit Spring Boot Framework auf Basis der User Stories
Die User-Stories trennen wir im Sprint nach Backend und Frontend. Die Backend Stories setze ich mit Hilfe von Spring Boot Framework in Java um. Das Spring Boot gibt mir dabei eine Grundkonfiguration inklusive Richtlinien für die Nutzung des Frameworks sowie aller relevanten Drittanbieter-Bibliotheken vor, um den Einstieg in neue Projekte so mühelos wie möglich zu gestalten.
Realisierung der Frontend-Geschäftslogik mit Typescript in Angular 4, HTML/CSS und Javascript
Die Frontend-User-Stories bearbeite ich mit Hilfe von Typescript im Angular-Framework und nutze dabei auch die Programmiersprachen HTML/CSS und Javascript in der Entwicklungsumgebung Visual Studio Code. Das Angular-Framework wähle ich, da es neben der reinen ?API? zur Anwendungsentwicklung mittlerweile auch Entwicklungs-Werkzeuge, Generatoren und mitgelieferte Architektur-Konzepte beinhaltet.
Implementierung der GUI mit Bootstrap und Javascript sowie Erstellung von HTML- und CSS-Vorlagen
Ich entwerfe und implementiere die grafische Oberfläche (GUI) der Anwendung nach Corporate Identity (CI) / Corporate Design (CD) Vorgaben mittels Bootstrap und Javascript. Ich stelle HTML- und CSS-Vorlagen für das CD bereit und bette diese durch Javascript-Module in die Website ein. Mit Bootstrap schaffe ich alle Voraussetzungen, um das Mitarbeiterportal als responsives Webdesign zu gestalten.
Kommunikation im SCRUM-Team über Trello, JIRA und Slack sowie Präsentation vor Product Owner
Im SCRUM-Team und mit der Projektleitung haben wir über Slack und Skype kommuniziert. In den Dailys haben wir besprochen, wer gerade an welcher Story arbeitet und jeder hat seinen Stand über Slack gemeldet. Im Trello Board haben wir dazu auch Kommentare hinterlassen. Nach dem Sprintende haben wir die Ergebnisse für den Produkt Owner in einer Präsentation zusammengefasst und via Skype präsentiert.
Integration der implementierten Stories in die Software im GitHub-Repository und Regressionstests
Ich setzte das das GitHub?Repository ein, so dass mit dem Branchsystem jeder im Projekt einen Branch erstellen und seine Story umsetzen kann. Danach führen wir die Branchen zusammen und migrieren mit ?Master?. Die Heruko Cloud-Plattform hilft mir die Anwendung zu installieren, zu überwachen und zu skalieren. So starte ich dann die Regressionstests und prüfe, ob die Anwendung fehlerfrei ist.
Testautomatisierung der umgesetzten User-Stories mittels JUnit (Backend) und Karma (Frontend)
Nach der Entwicklung der User-Stories erstelle ich im Backend JUnit Tests, um mit dem Unit Test die Umsetzung der Stories automatisch auf Richtigkeit und Korrektheit zu prüfen. Für die Oberfläche (GUI) nutze ich im Frontend das Karma-Testframework und schreibe dort die Tests für die Komponenten, Services und Http, um eine maximale Fehlerfreiheit zu erreichen.
Systemintegrationstests mit Software-Build-Jobs auf Jenkins & Release-Erstellung
Um die Qualität der Entwicklung für den SPIRIT-Profiler sicher zu stellen, nutzen wir Heroku und Techniken wie Continuous Integration (CI), Testautomatisierung und kontinuierliche Installation in Kombination mit agilen Methoden. Software-Build-Jobs auf CI-Servern wie Jenkins ermöglichen mir dabei die Systemintegrationstests und das Erstellen von ?Nightly?- oder ?Release?-Versionen.
Defektmanagement nach Regressiontests zur Erfassung und Behebung der Fehler in der Anwendung
Nachdem wir die Branches zusammengeführt und die Regressiontests durchgeführt haben, analysiere ich die entstandenen Fehler. Die fehlerhaften Befunde, die aus den Tests resultierten, habe ich als Defects erfasst und bearbeitet. Nach der Behebung der mir zugeordneten Fehler habe ich die Defects dann nachgetestet und im gegebenen Fall auch geschlossen.
Erstellung und Pflege der Entwicklerdokumentation für die neu entwickelte Software im GitHub-Wiki
Zur Erstellung und Pflege der Dokumentation für die neu entwickelte Software SPIRIT-Profiler nutze ich die online Dokumentation GitHub-Wiki sowie das Repository. Das Wiki ist in zwei Hauptkategorien geteilt: eine für Entwickler und eine weitere für Benutzer. So erklären und spezifizieren wir die problematischen Stellen.
Pflege, Wartung und Erweiterung einer Engine zum Export von Datenbankinhalten in Word-Vorlagen
Für die Anwendung erstelle ich eine eigene Engine zur Generierung von Profilen in MS Word. Für diese Engine habe ich verschiedene Vorlagen bearbeitet und im Source Ordner gespeichert. Die Rahmen von Tabellen, Schriftarten und -größe habe ich in Java programmiert und bei der Generierung übernommen. Die Daten werden für jedes Profil aktuell aus der Datenbank entnommen und die Word-Vorlage befüllt.
Methodik/Vorgehensweise: Test Driven Development (TDD), Continuous Integration, Agile Vorgehensweise und Scrum
Das Goethe-Institut e.V. ist das weltweit tätige Kulturinstitut Deutschlands. Ziel des Projektes Check-Out Engine (COE) - Einführung eines responsiven Designs für den Webshop ist es, den Anforderungen in der Darstellung von mobilen Endgeräten gerecht zu werden. Daher soll das bestehende Design des Webshops zur Buchung von Sprachkursen durch eine Version im responsiven Design ersetzt werden. Der Webshop soll dann auf unterschiedlichen, mobilen Devices (Smartphones, Tablets, Phablets) und Laptops in allen gängigen Browser-Varianten getestet werden. Die manuelle und teils explorative Testdurchführung soll über vier Testzyklen im Projektzeitraum erfolgen.
Erstellung der Testfälle für das manuelle Testing und des Testdesigns über testSIDES
Ich erstelle die Testfälle für das manuelle und explorative Testing. Um einen Überblick über den Testfall zu erhalten, welcher gerade in dem Zeitpunkt durchgeführt wird, habe ich die testSIDES-Entscheidungsmatrix benutzt. So führe ich systematisch alle Schritte durch und bei einer Wiederholung weiß ich dann, wo genau der Fehler aufgetreten ist.
Erstellung der Testpläne, Mobile Testing der Devices und Browser mit Genymotion und BrowserStack
Zunächst erstelle ich die Testpläne. Dann führe ich das manuelle und explorative Testing des responsiven Designs durch. Beim Mobile Testing auf verschiedenen, mobilen Endgeräten, Laptops und Browsern, wie z. B. Firefox, Google Chrome, Microsoft Edge und Safari nutze ich Genymotion und BrowserStack.
Defektmanagement - Dokumentation und Nachverfolgung der Fehler in Jira
Die gefundenen Bugs ich habe nach der Testdurchführung dann in Jira genau erfasst und bearbeitet. Ich nutze Jira auch, um über die Boards und Filter bereits erfasste Fehler suchen zu können, um Wiederholungen zu vermeiden und, um einen besseren Überblick zu behalten. Nach der Behebung der mir zugeordneten Fehler habe ich die Defects dann nachgetestet und im gegebenen Fall auch geschlossen.
Methodik/Vorgehensweise: Exploratives und manuelles Testing
Ich bin ein hoch motivierter, engagierter und wissbegieriger Mensch, der sich gerne mit komplexen Strukturen auseinandersetzt.
Durch meine bisherigen Projekte konnte ich erste Erfahrungen mit unterschiedlichen Problemfeldern sammeln. Ich habe Web-Software in JAVA erstellt und mit JUnit getestet.
Gerne arbeite ich mich im Team oder auch alleine in neue Problemstellungen ein, um weitere automatische Testszenarien zu erstellen und zu optimieren.
Ich freue mich darauf, weitere Erfahrungen zu sammeln und somit meinen Wissensstand über das Erstellen und Testen von Software und dadurch mein Wissen über Programmier- und Testmethodik und die Implementierung von neuen Tools und Prozessen zu vertiefen und auszubauen.
Zertifikate
Microsoft Specialist in C#
Microsoft Specialist in HTML5, JavaScript und CSS3
Basiszertifikat im Projektmanagement
ISTQB® Certified Tester Foundation Level
Selenium® Foundation Level - Testautomatisierung im Web
Schulungen/Fortbildungen
Functional Programming + Lambdas, Method References, Streams (Udemy)
Git from Basics to Advanced: Practical Guide for Developers (Udemy)
Java Collections Framework + Generics, Lambdas & Stream API (Udemy)
Grundlagen der digitalen Barrierefreiheit (mindscreen GmbH)
Datenschutz für Mitarbeiter (www.lawpilots.eu)
IT-Sicherheit im Unternehmen (www.lawpilots.eu)
Ausbildung
Fachinformatikerin für Anwendungsentwicklung
Die Finanz Informatik ist der bundesweit tätige IT-Dienstleister der Sparkassen-Finanzgruppe. Zu ihren Kunden gehören 367 Sparkassen, sechs Landesbanken, die DekaBank, acht Landesbausparkassen, öffentliche Versicherer sowie weitere Unternehmen der Sparkassen-Finanzgruppe und der Finanzbranche. Mit OSPlus (One System Plus) bietet die Finanz Informatik (FI) ihren Kunden eine einheitliche und zukunftsfähige Gesamtbanklösung, die auf einer modernen Architektur basiert. Zentraler Bestandteil der IT-Lösung ist das leistungsfähige Kernbanksystem, das durch eine Vielzahl von Anwendungen rund um das Sparkassen- bzw. Bankgeschäft komplettiert wird.
Reproduzierung und Lösung von Fehlern durch Programmierung in Java, JSP und Javascript
Defekts in der Software werden über Quality Center erfasst und den entsprechenden Entwickler:innen zugewiesen. Zunächst lasse ich mir den kompletten Ablauf zur Reproduzierung der Fehler mit Kommentaren anzeigen. Dann reproduziere ich den Fehler, finde eine Lösung und passe in Java, JSP und/ oder Javascript diesen jeweils an. Schließlich weise ich den Task dann dem Ersteller zur Abnahme zurück.
Methodik/Vorgehensweise: V-Modell
Die regio iT gesellschaft für informationstechnologie mbh ist ein IT-Dienstleister für Kommunen, Schulen, Energieversorger und Entsorger sowie Non-Profit-Organisationen mit Sitz in Aachen. Ziel des Projektes ist der Auf- und Ausbau der Web-Applikation ?Ehrenamt interaktiv? der Stadt Aachen. Die Plattform ist für eine breitgefächerte Zielgruppe ausgelegt, so dass es mehrere Nutzergruppen, wie z. B. Unternehmen, Privatpersonen, Vereine / freie Initiativen, Bildungseinrichtungen und die Kommune als Portalbetreiber gibt. Jede Zielgruppe kann Anzeigen erstellen, um ehrenamtliche Hilfe bitten oder Hilfe anbieten.
Entwicklung des Frontends mit Angular 11 in IntelliJ und Versionierung mit GitLab
Die vorgegebenen Kundenanforderungen sind in Jira erfasst. Auf dieser Basis entwickele ich das Frontend mit Hilfe von Angular 11 Framework in der Entwicklungsumgebung IntelliJ. Die Versionierung sowie die Tags für Releases erstelle und verwalte ich in Git und GitLab.
Entwicklung des Backends mit JPA und Springboot in IntelliJ und Versionierung mit GitLab
Auf der Grundlage, der in Jira erfassten Kundenanforderungen, entwickele ich mit Hilfe von JPA und Springboot das Backend oder passe bestehenden Code an. Ich programmiere nach der Clean Code Regel unter Nutzung der Programmiersprache Kotlin und REST-API. Die Versionierung erfolgt über GitLab.
Methodik/Vorgehensweise: Wasserfall
SPIRIT-Candidates ist eine Web Applikation der SPIRIT-TESTING Software & Services GmbH zum Management der Bewerber:innen im Recruitingprozess von der Ansprache über das Interview bis zur Einstellung oder Absage. Candidates dient sowohl der Datenpflege als auch dem Monitoring des Bewerbungsstatus. So können die Recruiter auf einen Blick sehen, wer muss noch kontaktiert werden. Ziel des internen SCRUM-Projektes ist es, Microservices, wie z. B. eine automatische Maileinbindung einzubauen und umfassend zu testen.
Bearbeitung der Backend-Klassen mit Java, Spring Boot und JPA und Durchführung von JUnit-Tests
Ich passe die Entitys an und generiere die PostgreSQL Datenbank. Ich bearbeite die Backend-Klassen mit Java, Spring Boot und JPA und erstelle Ressourcen, Repository und Service Klassen. Ich führe JUnit-Tests durch und erreiche ich damit mindestens eine 80%ige Testabdeckung. Dann erstelle ich DTO Klassen, um in JSON nur notwendige Elemente für das Frontend übergeben zu können.
Methodik/Vorgehensweise: Agile Vorgehensweise und Scrum
Die ISB AG entwickelt Softwarelösungen und unterstützt Kunden aus den Bereichen Industrie und Öffentliche Verwaltung bei der Umsetzung ihrer Softwareentwicklungsprojekte. GeoBas Refactoring ist eine Weiterentwicklung und Umsetzung einer bereits existierenden Java-Anwendung in eine neue Web-Anwendung auf Basis neuer Technologien, sowie Angular 11 und Java Spring Framework. Ziel des GeoBas Refactorings ist es, die Performance zu verbessern und gleichzeitig soll auch die digitale Barrierefreiheit beachtet werden. So soll die Web-Anwendung durch Screen Reader oder nur über die Tastatur bedienbar sein.
Anpassung der digitalen Barrierefreiheit im Frontend in Angular, Angular Material und Spring Boot
Meine Aufgabe ist es, dass alle Masken, Dialoge und Tabellen nun Elemente (Attribute) bekommen, die nur mit der Tastatur bedient werden können. Ich sorge dafür, dass der Screen Reader für die Benutzer problemlos alles lesen kann und nutze dazu die Entwicklungsumgebungen Eclipse und Visual Studio Code. die Versionsverwaltung BitBucket sowie die Frameworks Angular, Angular Material und Spring Boot.
Erweiterung und Bearbeitung der Backend-Klassen in Java und SpringBoot sowie Aufbau der Rest API
In diesem Refactoring-Projekt passe ich mehrere Klassen des alten Codes für die neue Web-Anwendung an oder programmiere in Java und SpringBoot neue. So erweitere ich z. B. bestehende Klassen so, dass nun eine Verbindung zwischen Frontend und Backend mit Rest API funktioniert. Ich erweitere und erstelle JUnit Tests, um damit die neuen Funktionalitäten in der Software umfassend zu testen.
Methodik/Vorgehen: Agile Vorgehensweise und SCRUM
Beschreibung
Der SPIRIT-Profiler dient intern zur Verwaltung und Generierung von Berater-Profilen auf Basis einer Angular-Frontend- und Java-Backend-Entwicklung. Zum Ausbau unserer Testautomatisierung soll die Testabdeckung über Postman auf Basis der REST API aufgebaut werden. Ziel ist es, insbesondere die Themen Sicherheit und Datenübertragungskorrektheit zu prüfen.
Methodik/Vorgehen
Agile Vorgehensweise und SCRUM
Aufgaben
Erstellung und Durchführung von Testfällen mit Postman sowie Einbindung in die CI/CD-Pipeline
Ich implementiere die Testfälle mittels Javascript für die Rest-API-Schnittstelle. Dann prüfe ich in Postman, ob die Datensicherheit und Übertragung von JSON-Dateien einwandfrei funktionieren. Die Tests binde ich in die CI/CD-Pipeline mit GitHub ein. Die Tests dienen im Build-Prozess als ein weiteres Kriterium für einen erfolgreichen Build. Wir gehen agil vor und ich nehme an SCRUM-Meetings teil.
Die Bundesagentur für Arbeit (BA) in Nürnberg ist als Behörde der Ansprechpartner für die Arbeits- und Ausbildungsvermittlung und unterstützt Bürger:innen mit finanziellen Leistungen wie Arbeitslosengeld und Kindergeld. Das Projekt ALLEGRO (Arbeitslosengeld II Leistungsverfahren Grundsicherung Online) ist eine Java basierte Anwendung zur Leistungsberechnung von Arbeitslosengeld II für die Jobcenter in Deutschland. Um den gesetzlichen Auftrag erfüllen zu können, die Leistungen pünktlich und rechtmäßig zahlbar zu machen, wird in den gemeinsamen Einrichtungen (gE) täglich mit dem IT-Verfahren A2LL gearbeitet. Ziel des Projektes ist es, die Performance zu verbessern, Gesetzesänderungen, ohne große Verzögerungen in der Anwendung umsetzen zu können, sowie die Betriebs- und Weiterentwicklungskosten bei jeder Anpassung zu senken.
Testanalyse und Erstellung des Test Designs in Innovator auf Basis der Spezifikationen
Sobald die Spezifikationen (Innovator-F3 Texte) vorhanden sind, haben wir als Testteam u.a. mit der User Story Formulierung gestartet und die Testaufgaben zugeteilt. Ich habe in Innovator die neu definierten Spezifikationen analysiert und mit dem entsprechenden Test Design angefangen. Nach der Erstellung habe ich die Teamleitung informiert und mein Design ist auf Korrektheit überprüft worden.
Testfallerstellung für automatisiertes und manuelles Testen sowie Abfragen in Oracle-DB mit SilkTest
Nach der Überprüfung des Test Designs fange ich mit der Realisierung an. Die Testfälle erstelle ich mit Hilfe von SWET und BA Schlüsselwortbibliothek. Die Datenbankabfragen schreibe ich manuell in SilkTest und aktualisiere die Oracle-DB mit den benötigten Testdaten. Für den Oberflächentest lege ich eine einfache Testcharta (spezifische Exceltabelle) an und befülle diese bei der Durchführung.
Testdurchführung zur Fehleridentifizierung mit SilkTest und Testen der Oberfläche nach BA Standards
Alle fehlgeschlagenen Tests führe ich manuell und automatisiert in SilkTest durch, um festzustellen, ob es sich um Schreibfehler, Befunde in der Software, Spezifikationsfehler oder um neue Datensätze in der Datenbank handelt. Die Oberfläche der Software teste ich manuell und explorativ auf die Erfüllung der vorgegebenen BA Standards für die Oberfläche.
Bearbeitung fehlerhafter Testfälle in SWET, SilkTest und Oracle DB sowie Dokumentation in Jira
Nach der Analyse der fehlgeschlagenen Tests, analysiere ich die Fehler. Bei einer Spezifikation oder einem Softwarefehler stelle ich einen Fehlerbefund in Jira ein. Ab diesem Zeitpunkt kann man dann keine Testschritte mehr anpassen. Handelt es sich aber nur um Testschritte, einen Schreibfehler oder eine Datenbankaktualisierung, dann bearbeite ich das über SWET, SilkTest oder in der Oracle DB.
Verbesserung der Kommunikation und Wissenstransfer durch Teilnahme an Entwicklermeetings
Zur Verbesserung der Kommunikation und zum Wissenstransfer zwischen Testern und Entwicklern haben wir Tester:innen zu regelmäßigen Meetings auf Entwicklungsseite eingeladen. Hiermit haben wir in dem Wasserfall-Projekt erreicht, dass weniger Fehler und Unklarheiten in Anforderungen, bei der Umsetzung, beim Testen und in der Entwicklung aufkommen.
Methodik/Vorgehensweise: Manuelles Testing, Exploratives Testing und Wasserfall
Im Rahmen dieses internen Projekts soll eine Anwendung als Employer-Self-Service zur Eingabe, Pflege, Verwaltung und Ausgabe von Beraterprofilen geschaffen werden. Ziel des Product Owners (PO) ist es, eine deutliche Zeit- und Aufwandsersparnis zu erreichen. Die Webanwendung soll dabei auf Basis des Frameworks JHipster mit Java-Backend und Angular-Frontend umgesetzt werden. Im SCRUM-Prozess sollen Stories nach vertikalem Schnitt umgesetzt werden. Das Entwicklungsteam soll aus auszubildenden Fachinformatikern unter der Projektleitung eines Ausbilders bestehen. Mein Verantwortungsbereich umfasst von der Datenbank über Back- und Frontend Entwicklung auch das Testing und die Integration neuer Features in die Gesamtanwendung bis hin zum Ausrollen auf die Produktionsanwendung.
Abstimmung der Anforderungen mit dem Product Owner und Refinement von Stories im SCRUM-Prozess
Nach Abstimmung der Anforderungen mit dem Produkt Owner (PO), verfeinern und schätzen wir die User-Stories im Team. Am Anfang haben wir dazu ein SCRUM-Board benutzt und es dann in Trello umgesetzt, was die Arbeit im Homeoffice erleichtert. Ich erhalte die Stories pro Sprint zugeteilt und bearbeite diese. Nach Sprintende besprechen wir mit dem PO den Erfolg, auftretende Probleme und Lösungsansätze.
Änderungen und Erweiterungen an der PostgreSQL Datenbank mittels Liquibase-Skripten
Für die Anwendung benutze ich eine PostgreSQL Datenbank, die ich mit Liquibase Skripten erweitere und bearbeite. Nach jeder Erweiterung der Web-Anwendung gebe ich auch eine Erweiterung an die zugrundeliegende Datenbank und überprüfe im Sinne des Test Driven Development (TDD), ob die Struktur weiter problemlos funktioniert.
Aufbau der Frontend- und Backend-Kommunikation mit JHipster-Generatoren und Versionierung mit Github
Zur Erzeugung von zusätzlichen Klassen (Frontend- und Backend-Kommunikation) benutze ich JHipster-Generatoren und verwalte Versionen mit Github. Ich gebe dabei z. B. ein, was für eine Klasse es sein soll, wie viele Eigenschaften es geben soll und, welche Relation zu anderen Klassen bestehen soll. Wenn ich alles eingegeben habe, dann generiere ich den Code und verknüpfe diesen mit der Applikation.
Umsetzung der Backend-Geschäftslogik in Java mit Spring Boot Framework auf Basis der User Stories
Die User-Stories trennen wir im Sprint nach Backend und Frontend. Die Backend Stories setze ich mit Hilfe von Spring Boot Framework in Java um. Das Spring Boot gibt mir dabei eine Grundkonfiguration inklusive Richtlinien für die Nutzung des Frameworks sowie aller relevanten Drittanbieter-Bibliotheken vor, um den Einstieg in neue Projekte so mühelos wie möglich zu gestalten.
Realisierung der Frontend-Geschäftslogik mit Typescript in Angular 4, HTML/CSS und Javascript
Die Frontend-User-Stories bearbeite ich mit Hilfe von Typescript im Angular-Framework und nutze dabei auch die Programmiersprachen HTML/CSS und Javascript in der Entwicklungsumgebung Visual Studio Code. Das Angular-Framework wähle ich, da es neben der reinen ?API? zur Anwendungsentwicklung mittlerweile auch Entwicklungs-Werkzeuge, Generatoren und mitgelieferte Architektur-Konzepte beinhaltet.
Implementierung der GUI mit Bootstrap und Javascript sowie Erstellung von HTML- und CSS-Vorlagen
Ich entwerfe und implementiere die grafische Oberfläche (GUI) der Anwendung nach Corporate Identity (CI) / Corporate Design (CD) Vorgaben mittels Bootstrap und Javascript. Ich stelle HTML- und CSS-Vorlagen für das CD bereit und bette diese durch Javascript-Module in die Website ein. Mit Bootstrap schaffe ich alle Voraussetzungen, um das Mitarbeiterportal als responsives Webdesign zu gestalten.
Kommunikation im SCRUM-Team über Trello, JIRA und Slack sowie Präsentation vor Product Owner
Im SCRUM-Team und mit der Projektleitung haben wir über Slack und Skype kommuniziert. In den Dailys haben wir besprochen, wer gerade an welcher Story arbeitet und jeder hat seinen Stand über Slack gemeldet. Im Trello Board haben wir dazu auch Kommentare hinterlassen. Nach dem Sprintende haben wir die Ergebnisse für den Produkt Owner in einer Präsentation zusammengefasst und via Skype präsentiert.
Integration der implementierten Stories in die Software im GitHub-Repository und Regressionstests
Ich setzte das das GitHub?Repository ein, so dass mit dem Branchsystem jeder im Projekt einen Branch erstellen und seine Story umsetzen kann. Danach führen wir die Branchen zusammen und migrieren mit ?Master?. Die Heruko Cloud-Plattform hilft mir die Anwendung zu installieren, zu überwachen und zu skalieren. So starte ich dann die Regressionstests und prüfe, ob die Anwendung fehlerfrei ist.
Testautomatisierung der umgesetzten User-Stories mittels JUnit (Backend) und Karma (Frontend)
Nach der Entwicklung der User-Stories erstelle ich im Backend JUnit Tests, um mit dem Unit Test die Umsetzung der Stories automatisch auf Richtigkeit und Korrektheit zu prüfen. Für die Oberfläche (GUI) nutze ich im Frontend das Karma-Testframework und schreibe dort die Tests für die Komponenten, Services und Http, um eine maximale Fehlerfreiheit zu erreichen.
Systemintegrationstests mit Software-Build-Jobs auf Jenkins & Release-Erstellung
Um die Qualität der Entwicklung für den SPIRIT-Profiler sicher zu stellen, nutzen wir Heroku und Techniken wie Continuous Integration (CI), Testautomatisierung und kontinuierliche Installation in Kombination mit agilen Methoden. Software-Build-Jobs auf CI-Servern wie Jenkins ermöglichen mir dabei die Systemintegrationstests und das Erstellen von ?Nightly?- oder ?Release?-Versionen.
Defektmanagement nach Regressiontests zur Erfassung und Behebung der Fehler in der Anwendung
Nachdem wir die Branches zusammengeführt und die Regressiontests durchgeführt haben, analysiere ich die entstandenen Fehler. Die fehlerhaften Befunde, die aus den Tests resultierten, habe ich als Defects erfasst und bearbeitet. Nach der Behebung der mir zugeordneten Fehler habe ich die Defects dann nachgetestet und im gegebenen Fall auch geschlossen.
Erstellung und Pflege der Entwicklerdokumentation für die neu entwickelte Software im GitHub-Wiki
Zur Erstellung und Pflege der Dokumentation für die neu entwickelte Software SPIRIT-Profiler nutze ich die online Dokumentation GitHub-Wiki sowie das Repository. Das Wiki ist in zwei Hauptkategorien geteilt: eine für Entwickler und eine weitere für Benutzer. So erklären und spezifizieren wir die problematischen Stellen.
Pflege, Wartung und Erweiterung einer Engine zum Export von Datenbankinhalten in Word-Vorlagen
Für die Anwendung erstelle ich eine eigene Engine zur Generierung von Profilen in MS Word. Für diese Engine habe ich verschiedene Vorlagen bearbeitet und im Source Ordner gespeichert. Die Rahmen von Tabellen, Schriftarten und -größe habe ich in Java programmiert und bei der Generierung übernommen. Die Daten werden für jedes Profil aktuell aus der Datenbank entnommen und die Word-Vorlage befüllt.
Methodik/Vorgehensweise: Test Driven Development (TDD), Continuous Integration, Agile Vorgehensweise und Scrum
Das Goethe-Institut e.V. ist das weltweit tätige Kulturinstitut Deutschlands. Ziel des Projektes Check-Out Engine (COE) - Einführung eines responsiven Designs für den Webshop ist es, den Anforderungen in der Darstellung von mobilen Endgeräten gerecht zu werden. Daher soll das bestehende Design des Webshops zur Buchung von Sprachkursen durch eine Version im responsiven Design ersetzt werden. Der Webshop soll dann auf unterschiedlichen, mobilen Devices (Smartphones, Tablets, Phablets) und Laptops in allen gängigen Browser-Varianten getestet werden. Die manuelle und teils explorative Testdurchführung soll über vier Testzyklen im Projektzeitraum erfolgen.
Erstellung der Testfälle für das manuelle Testing und des Testdesigns über testSIDES
Ich erstelle die Testfälle für das manuelle und explorative Testing. Um einen Überblick über den Testfall zu erhalten, welcher gerade in dem Zeitpunkt durchgeführt wird, habe ich die testSIDES-Entscheidungsmatrix benutzt. So führe ich systematisch alle Schritte durch und bei einer Wiederholung weiß ich dann, wo genau der Fehler aufgetreten ist.
Erstellung der Testpläne, Mobile Testing der Devices und Browser mit Genymotion und BrowserStack
Zunächst erstelle ich die Testpläne. Dann führe ich das manuelle und explorative Testing des responsiven Designs durch. Beim Mobile Testing auf verschiedenen, mobilen Endgeräten, Laptops und Browsern, wie z. B. Firefox, Google Chrome, Microsoft Edge und Safari nutze ich Genymotion und BrowserStack.
Defektmanagement - Dokumentation und Nachverfolgung der Fehler in Jira
Die gefundenen Bugs ich habe nach der Testdurchführung dann in Jira genau erfasst und bearbeitet. Ich nutze Jira auch, um über die Boards und Filter bereits erfasste Fehler suchen zu können, um Wiederholungen zu vermeiden und, um einen besseren Überblick zu behalten. Nach der Behebung der mir zugeordneten Fehler habe ich die Defects dann nachgetestet und im gegebenen Fall auch geschlossen.
Methodik/Vorgehensweise: Exploratives und manuelles Testing
Ich bin ein hoch motivierter, engagierter und wissbegieriger Mensch, der sich gerne mit komplexen Strukturen auseinandersetzt.
Durch meine bisherigen Projekte konnte ich erste Erfahrungen mit unterschiedlichen Problemfeldern sammeln. Ich habe Web-Software in JAVA erstellt und mit JUnit getestet.
Gerne arbeite ich mich im Team oder auch alleine in neue Problemstellungen ein, um weitere automatische Testszenarien zu erstellen und zu optimieren.
Ich freue mich darauf, weitere Erfahrungen zu sammeln und somit meinen Wissensstand über das Erstellen und Testen von Software und dadurch mein Wissen über Programmier- und Testmethodik und die Implementierung von neuen Tools und Prozessen zu vertiefen und auszubauen.
Zertifikate
Microsoft Specialist in C#
Microsoft Specialist in HTML5, JavaScript und CSS3
Basiszertifikat im Projektmanagement
ISTQB® Certified Tester Foundation Level
Selenium® Foundation Level - Testautomatisierung im Web
Schulungen/Fortbildungen
Functional Programming + Lambdas, Method References, Streams (Udemy)
Git from Basics to Advanced: Practical Guide for Developers (Udemy)
Java Collections Framework + Generics, Lambdas & Stream API (Udemy)
Grundlagen der digitalen Barrierefreiheit (mindscreen GmbH)
Datenschutz für Mitarbeiter (www.lawpilots.eu)
IT-Sicherheit im Unternehmen (www.lawpilots.eu)
Ausbildung
Fachinformatikerin für Anwendungsentwicklung