Accessibility Links

Software Development Engineer in Test

Expired
  • Salary: Negotiable
  • Job type: Contract
  • Location: West London, London
  • Sector: IT
  • Date posted: 22/01/2018
  • Job reference: J380410A

We're really sorry, but it looks like this job has already been filled.

Register your CV with us, see our latest jobs or use the search below.

Software Development Engineer in Test [SDET]

Description

As a Software Development Engineer in Test you will have strong Java experience and have a strong appreciation for test automation with the ability to think outside of the box for new solutions. You will work within the Content Discovery Department, testing End to End solutions that provide metadata and discovery services for the Sky Q platform. The role will mainly focus on writing fast, automated end to end tests in Java.

Responsibilities

Team

  • Continuous development, improvement and administration of our Java-based automation test framework, while adhering to industry standard software development practices.
  • Writing fast, automated integration and end-to-end tests in Java to provide quick feedback to software development teams and integration partners and ensuring that the test suite is up-to-date with relevant tests
  • Work with the test manager and delivery teams to Identify and write acceptance criteria.
  • Analyse the Impact of stories on end-end functionality and Identify the test criteria for end-end coverage
  • Involve in end-end analysis of the product design
  • Collaborate with developers to ensure that completed user stories satisfy all the acceptance criteria and edge cases
  • Collaborate with developers notifying them of defects discovered.
  • Collaborate with developers to set-up and maintain suitable test data.
  • Co-Ordinate with deployment team for releases and support the releases.
  • Manage and operate a QA environment including builds and deployment.
  • Work as part of the team to support and maintain the live product.
  • Work as part of an effective self-organizing, cross-functional and disciplined team to achieve repeatable success. Recognise that team success is more important than individual success.
  • Abide by a set of 'norms' that help govern team behaviours and interactions.
  • Participate in the team with the right level of respect and professional behaviour.
  • Work in the team to achieve consensus agreement and binding decisions.
  • Demonstrate ownership and responsibility by making commitments to the team about what you will achieve and communicate honestly about what has been achieved. Make any obstacles visible.
  • Pursue learning and new skills.
  • Share knowledge with the team.
  • Work in the team to continuously improve process and behaviour through regular reflection and adaptation.

Process

  • Ensure user stories are analysed to consider the new functionality changes and regression impact on existing behaviour of product.
  • Verify the quality and coverage of Automation test suite and non-functional coverage.
  • Design aggressive and thorough system and integration tests. Review the tests written by your colleagues.
  • Automate as many of these tests as possible, using appropriate tools. Execute any manual exploratory testing which may be necessary.
  • Take ownership of the defect lifecycle, ensuring that all issues are recorded, tracked and resolved appropriately.
  • Be able to test failure scenarios and help the teams to design circuit breakers and fail in favour of the customer

Required Behaviours / Skills

The right candidate will have a track record in:

  • Strong Java programming skills - experience and strong ability of agile, test-driven software development.
  • Experience and strong ability with any other mainstream scripting or programming language (Go, Python, Ruby etc).
  • Demonstrable experience in test automation for large, complex integration projects.
  • Creating and implementing end-to-end automation framework for APIs; developing test packs and libraries
  • Writing automated tests and test sequences against services and APIs
  • Developing and maintaining modular, robust, scalable, reusable, data driven automated test solutions
  • Setting up continuous Integration and Continuous delivery pipelines for projects
  • Testing large integrated systems with a high degree functional complexity.
  • Testing services and APIs using XML, JSON
  • Must have extensive Automation experience
  • Should have experience of non-functional testing. Ideally tool experience of Soasta, Gatling Jmeter or Performance Centre (Load Runner).
  • Being highly motivated and a capable team member.
  • Establishing credibility with peers.
  • Collaborating within a team to reach consensus about technical solutions, weighing up options clearly and concisely.
  • Sharing knowledge and learning from peers.
  • Being able to interact confidently with people from other disciplines and domains, in particular Product Sponsors, Product Owners, stakeholders, customers and users.

The right candidate will exhibit the following experience and behaviours:

  • Strong Java coding for test automation
  • Able to design and build robust automation from the ground up
  • Rest Assured for API testing - open to other ways of working
  • Docker for containerization
  • Jenkins for CI
  • Someone that demonstrates active and conscious awareness of their environment, sensing and anticipating situations and being able to ask the right questions at the right time.
  • An open and honest
  • Someone that is comfortable with change, able to fail fast, learn quickly, and be able to adapt to new challenges.
  • Rigorous and disciplined approach to exploratory software.
  • Consistent attention to detail.
  • Be readily accountable and hold other team members accountable.
  • Innovative and a source for ideas.

Experience in the following is required:

  • Languages: Java, Ruby, Python, Perl
  • Test frameworks: Cucumber, Cucumber-JVM, SOAPUI, TestNG/Junit, Jmeter, Gatling, Protractor
  • Web Automation: Selenium Web driver, Wtir Web driver
  • Mobile Automation: Appium, Calablash
  • Dev tools: Memcache, Hazelcast cache, Kafka
  • Version Control Platform: Git, Subversion, Perforce
  • Database: Postgres, SQL, Hbase
  • Devops Tools: Docker, Tomcat/nginx, Cachet, Nagios, Chef
  • Scrum, Extreme Programming or another agile approach.
  • User-centric approaches.
  • Performance testing tools
  • Jira
  • Basic Unix / Linux skills.