The Software Engineer in Test is responsible for designing, developing, and analyzing automated test suites and tools for Accruent’s asset management software. Responsibilities include mentoring entry level Software Associates in Test, reviewing manual test suites for automation, and developing automation tools and utilities in a variety of programming languages for a web based enterprise application.
The ideal candidate will be highly motivated and have a passion for technology and creative problem solving. If you are self-driven, enjoy working in a team environment, have an entrepreneurial spirit and enjoy creating innovative solutions to complex problems, Accruent may be a fit for you.
ESSENTIAL DUTIES & RESPONSIBILITIES
- Develop automation by writing components, tools, and scripts to automate the owned test cases
- Develop powerful tools and automation systems to accelerate product development, ensuring long-term quality
- Automate and execute functional UI and API end to end tests as well as integration tests.
- Ensure the teams and roles you work with are following the standards and best practices when working with QA
- Create test documentation (test strategies, plans, designs, scripts) derived from a variety of sources (business use cases, functional specifications, object models, relational diagrams, class diagrams, and system diagrams) to support individual and group testing efforts.
- Create feature test plans and cases, and supporting applications, harnesses, and automation to successfully test at the API, class, interface, data access, and application layers
- Assist in maintaining quality of work through regular code reviews
- Mentor entry level Software Associates in Test on engineering and company best practices
- Advocate for quality software development by influencing and improving upstream development processes, creating a proactive approach to quality in all its forms
- Analyzes test results to determine where application bugs exist and where tests need improvement
REQUIRED KNOWLEDGE, SKILLS & ABILITIES
- Bachelor’s Degree in Computer Science, Engineering, Math or Physics, graduation from Technical School, or 2 years of equivalent experience.
- 1+ years of test experience
- 2+ years of programming experience (C#, Java, Ruby, Python)
- Understanding of risk based testing and risk mitigation planning
- Ability to use metrics and data to holistically assess the testing needs of a product
- Clear understanding of software development practices and life cycles
- Strong knowledge of Object Oriented concepts
- Self-reliant and motivated self-starter
- Project and task oriented with a focus on details
- Ability to work well within a group or individually on projects
- Knowledge of industry testing/development best practices
- Agile Development Methodologies (Scrum/Kanban)
- Scalable Enterprise Web Based Applications
- Automated Testing Using Python, PERL, Java, Robot Framework, Selenium, SQL, etc.
- Using unit test frameworks such as xUnit or JUnit
- Building mocks/stubs to perform isolated testing
- Mobile Platform Testing (Android, iOS, Windows Phone)
- UI/UX, CLI, Microservice, and API Testing
- Cloud IaaS Solutions (AWS, Azure, OpenStack, etc.)
- Database Management Systems
- Linux and Windows Server/IIS Environments Testing
- Proven ability to write test automation frameworks or harnesses
- Experience with Crucible, Git, and Jenkins