PL/SQL Developer with Unit Testing, Mocking, and TDD Expertise
We are in need of a skilled PL/SQL developer with expertise in Unit Testing, Mocking, and Test-Driven Development (TDD) to join our team. We require a professional who can evaluate and select a suitable framework for unit testing PL/SQL code and proficiently implement unit tests to ensure the quality, reliability and performance of our database systems.
Responsibilities
1. Unit Testing Expertise: You should have extensive experience in writing unit tests for PL/SQL code, including knowledge of best practices, test case design, and test coverage.
2. Mocking: Proficiency in creating mock objects and mock databases for isolating unit tests, ensuring that the tests are independent and can be run consistently.
3. Test-Driven Development (TDD): Demonstrated ability to follow the TDD approach, where tests are written before the code is developed. You should drive the implementation of PL/SQL code through TDD.
4. Framework Evaluation: You should be capable of researching and evaluating various PL/SQL unit testing frameworks available and making informed decisions on the best framework for our specific projects.
5. Implementation: Implement unit tests using the selected framework, following industry best practices and our organization’s coding standards.
Qualifications
1. Proven experience in PL/SQL development, with a strong understanding of database design, stored procedures, triggers, and functions.
2. Comprehensive knowledge of unit testing methodologies, techniques, and tools for PL/SQL.
3. Experience in mock testing tools and libraries for PL/SQL to create and manage mock objects and database interactions.
4. Strong understanding of TDD principles and the ability to apply them in practice.
5. Excellent problem-solving and critical-thinking skills to identify and address potential issues in PL/SQL code.
6. Familiarity with continuous integration and deployment (CI/CD) practices.
The System
We are using Oracle 19c at the moment.
The widespread legacy code is obviously hard to test. There is a lot of business logic in the PL/SQL code so tread carefully! We might have to refactor stuff to make it testable but that obviously means changing untested code.