Test Automation Engineer III
PDI - Houston, TX
Employment Type : Full-Time
TEST AUTOMATION ENGINEER III
OVERVIEW
PDI helps convenience store retailers and petroleum wholesale marketers worldwide thrive in a digital economy with enterprise management software. Over 1,200 customers operating more than 100,000 locations trust PDI to optimize their operations, whether they are a single site, multi-site, dealer, or a franchise operator. PDI’s enterprise software, wholesale and logistics management software solutions, and retail back office systems have been designed around the evolving needs of customers for more than 35 years. We reimagine enterprise management to help our customers transform their business and deliver exceptional experiences. Backed by the investment of TA Associates and Genstar, PDI is embarking upon an aggressive expansion strategy through internal investment in development as well as intensive M&A activity. The result will be a broader, more powerful, international company that serves customers across the entire supply chain, from wholesalers to retailers, and every stop in between.
JOB SUMMARY
Do you love building software that thrills your customers? Do you obsess over the quality of your software? Do you insist on the highest standards for the software your team develops? Are you an advocate of measurable quality? Can you dive deep and still maintain the big picture of your solution’s components and the customer experience? Well if this is you, then come join an energetic team of engineers building the future of PDI software solutions.
As a Test Automation Engineer (a.k.a. Software Engineer in Test) you will be part of an Agile team and involved in all aspects of our projects’ lifecycle from inception through release working closely with the team’s product owner, architects, and engineers. Your mandate on the team will be to (a) maximize the quality, measurability, and supportability of the production feature being developed, (b) maximize the testability of the software by finding and closing gaps in test coverage (c) minimize the team’s overall internal defect escapes by shifting the balance of how we manage quality from end-of-cycle defect detection and containment (bug-finding and fix cycles) to up-front defect prevention (automation backed coverage of all our application features).
You will not be writing production code. You will however be writing a lot of code in the form of tools, emulators, mocks, fakes, stubs, unit, component, and integration tests. You will also be working closely with the Engineering DevOps teams helping enhance our integration with our continuous integration (CI) systems, our virtual labs and helping build out fully automated reporting of all the various project quality metrics with a vision of achieving “push-button” reporting of a project’s software quality and trending (code coverage, static analysis, test surface coverage).
RESPONSIBILITIES
- Set up test environments as required including client and web applications, services, and databases
- Prepare Automation Test Plans for Service Level Tests, Integration Tests, and UI tests as needed
- Review product owner acceptance criteria and look for Non-Functional Requirement gaps to fill
- Mentor and support other engineering teams on how to write good unit tests, component, integration, and E2E tests using best practices and standard frameworks
- Question and challenge manual QA by other teams and guide them to eliminate it replacing manual with automation
- Support automating traceability of Stories, Acceptance Criteria, and Test cases through the integration of CI and BDD frameworks and tools
- Be part of an Agile team, participate in all Agile ceremonies and activities and be accountable for the sprint deliverable
- Participate in Release/Iteration planning, smoke, feature, and regression test planning
- Design and build automation smoke, feature, and regression tests
- Review code with your peers for testability, supportability and look for full unit test coverage
- Write feature use cases in BDD to drive the creation of automated and/or manual test cases
- Build mocks, emulators, fakes, stubs, and test case libraries driving towards 100% acceptance test coverage of stories
KNOWLEDGE, SKILLS & ABILITIES
- 5-9 years’ experience in software development and software automation
- Proficient in SQL based RDBMS, DML, and DDL (e.g. MySQL, PostgreSQL, Microsoft SQL Server, MariaDB.)
- Proficient in two or more of WCF, .NET WebAPI, Selenium/Appium, Coded UI, MS Automation UI
- Experience integrating testing results with CI tools: MSBuild, Jenkins, SonarQube, etc.
- Experience with network management, windows application, services, web application, and database setup
- Experience with BDD, Gherkin language (SpecFlow, Cucumber, JBehave)
- Experience with multi-tenant architecture, infrastructure security, and routing
- Experience writing functional and performance tests for Web APIs and Web Applications
- Experience with NoSQL databases (e.g., Redis, Cassandra, MongoDB, .)
- Experience writing tests for SPA client development stacks(Angular, AngularJS, Xamarin Forms, React, NativeScript)
- Experience with mocking frameworks and IoC/DI: Moq, RhinoMocks, CastleWindsor, EF
- Experience hooking windows and web controls via code
- Experience with Windows and Linux OS, network management, services, web application, and database setup
- Experience designing systems in consideration of NFRs: performance, responsiveness, concurrency, availability, supportability
- Comfortable working in Windows and Linux OS and networking including network configuration, scripting, permissions mgmt., using bash, PowerShell
- Highly motivated self-starter with a desire to help others and take action
- Requires strong written and verbal communication skills with the ability to translate technical concepts into non-technical terms
- Ability to independently work as a contributing member in a high-paced and focused team
- Ability to multi-task and prioritize tasks with competing deadlines
- Strong problem-solving and analytical skills with the ability to work under pressure
- Ability to socialize ideas and influence decisions without direct authority
- Collaborative in nature with a strong desire to dig in and learn independently and as well as through asking questions
- Considers ‘best-practice’ standards, as well as departmental policies and procedures
- Experience with one or more mainstream programming languages: C#, Java, Node.JS/JavaScript, Go, Python
- Experience writing functional E2E automation tests
- Aware of CI, CD, and DevOps tools and scripting (i.e. Jenkins, Bash, PowerShell, Chef, Puppet, Ansible, SaltStack Artifactory.)
- Strong computer science fundamentals: OOP, design patterns, data structures, and algorithms
- Preferred: Fuel Retail, Wholesale or Logistics domain experience
PDI’s employee-oriented culture provides a supportive and dynamic work environment for high achievers. PDI seeks individuals who value continuous learning, hold high ethical standards, and are top performers in their respective fields. We offer competitive wages, professional development, superb culture, and a highly competitive benefits package. For more information about PDI, please visit our website at https://www.profdata.com. PDI is an Equal Opportunity Employer. We verify employment eligibility for all new hires using e-Verify.
Powered by JazzHR
I8k1GSYlCO