Software Test Engineer
Job Description:
JOB PURPOSE:
As a Software Test Engineer, you will contribute to quality assurance of software systems and/or applications.
JOB DUTIES: Responsibilities of the incumbents are to provide manual and/or automation testing of features and capabilities of platform and/or applications.
Competent to perform all testing, project management, and quality assurance assignments without close supervision; normally assigned the complex aspects of systems work.
Competent to perform all testing activities of new and existing software products.
Use your understanding of systems, regression, integration, performance, and user acceptance testing.
Works directly on complex application/technical problem identification and resolution.
Works independently on complex systems or infrastructure components that may be used by one or more applications or systems.
Analyze business requirement to develop and execute manual and automation test cases
Document software issues and defects in bug tracking software and monitor for the resolution.
Coordinate with product owner to resolve open issues/enhancements/upgrades and understand the use of a specific functionality as needed
Communicate with end users and internal customers to help direct development, debugging, and testing of application software for accuracy, integrity, interoperability, and completeness
Performs integrated testing and customer acceptance testing of components that requires careful planning and execution to ensure timely, quality results.
Employee is also responsible for performing other job duties as assigned by Caterpillar management from time to time.
Basic qualifications:
Position requires a four-year degree from an accredited college or university.
3 years or more of software testing experience (manual or automation) or a master’s degree in computer science or related field.
1 year or more of test automation framework design and development experience
1 year or more of prior either functional or object- oriented coding experience in modern programming languages like C++, Java or Python (preferably Java)
Strong development skills in two or more of the following technologies and tools: Java/Junit, Python, Cucumber, JBehave or other BDD testing frameworks
Top candidates will also have:
Plan, design, develop, and maintain API test automation framework that facilitates automation scripting, execution, and analysis of results
Develop of test automation code for Continuous Integration (CI), Continuous Delivery (CD), of systems, infrastructure, and test framework.
End-to-end system integration testing experience for software platforms
Proven experience developing test scripts, test cases, and test data
Strong experience in testing Webservices (REST APIs)
The ability to write queries in SQL or other relational databases
Experience testing full stack and integration testing with 3rd parties
Experience in TDD, continuous integration, code review practice is strongly desired
Experience with Apigee or other API gateways is a plus
Experience with DevOps concepts and tools (e.g., CI/CD, Jenkins, Git)
At least 2 years working on an Agile team with a solid understanding of Agile/Lean practices.
Understanding of a micro service Architecture
Experience load and performance testing
Strong documentation skills
Ability to adapt quickly to a complex environment
Pro-active, flexible and creative
Very strong communication skills and the ability to collaborate with developers and business users.