Software Development in Test2021 - 2021Tellimer Limited
- Contributed to the regression test suite for a serverless application in the AWS environment.
- Conducted a thorough review of the serverless codebase and designed a test of integration tests that can be triggered before deployment to catch defects earlier in the process.
- Contributed to a BDD test suite for the Tellimer web app based on scenarios agreed upon with the product owner.
QA/Test Lead2019 - 2021Dormzi
- Led the testing and QA efforts to launch the Dormzi web application and mobile.
- Built up the testing team and assisted in the recruitment process with the entire development team.
- Designed and oversaw the continuous integration and deployment processes for the testing and production environment.
QA Engineer2019 - 2019Caterpillar
- Developed a test suite for the API and UI of the system undergoing tests.
- Worked with business analysts daily to understand the business requirements and translate these into tests.
- Coached developers on using the tests to drive the development work and ensure that tests remain stable.
Agile Consultant2017 - 2018Barclays
Technologies: Amazon Web Services (AWS), Jenkins, AWS, Behave, WebDriver, Python
- Defined end-to-end Agile processes for translating user requirements into working software.
- Presented and rolled out Agile process which included a process for requirement elicitation and specification, developing and testing of software deliverable and finally the release processes include requirement documentation.
- Worked with feature team leads to define the definition of done as an application to the program.
- Coached and mentored testers and developers to ensure that test coverage was spread across unit, integration, and end-to-end test suites.
- Collaborated with the relevant teams to push activities that are performed late in the cycle to earlier stages of the delivery cycles.
- Coordinated with the team responsible for document tests and release notes to remove artifacts and practices that weren't adding much value to the delivery process.
- Contributed enormously to the test practices and continuous delivery processes across the entire program.
- Championed a set of changes that helped reduced the lead team and shrink the time spent on less valuable activities within the delivery lifecycle.
- Supported the refactoring of unstable tests into readable test and more stable tests that provided value at the same time saved for the team at large.
Agile Testing Coach2016 - 2017Ministry of Justice
Technologies: Event-driven Architecture, CQRS, Spock, Gatling, Apache JMeter, Java
- Coached and mentored business analysts to write user stories that adhere to the INVEST qualities of a user story.
- Facilitated a collaborative and dynamic planning process including the prioritizing of the work that needs to be done based on the capacity and capability of the team; also taking into account the team’s velocity.
- Worked closely with developers both front end and back end developers, ensuring that our test coverage was spread across the unit, integration, and end-to-end test suites.
- Due to the asynchronous nature of the system, I ensured that the test team weren’t adding unnecessary tests at a layer that would be expensive to maintain.
- Refactored and improved the test framework that was being used, as tests were difficult to read and no clear DSLs were defined.
- Defined and maintained the test approach for all project which was then shared with all team test leads.
- Ensuring that exploratory tests including negative tests are always executed before stories are signed off.
- Contributed enormously to the test practices and continuous delivery processes across the entire program.
- Conducted demo to business product owners regularly as soon as stories are done based on the team definition.
Agile Delivery Consultant2016 - 2016Barclays
Technologies: Angular, Jira, WebDriver, Java, Spock
- Worked closely with full stack developers to ensure that tests are efficiently distributed across unit test, integration test, and acceptance tests.
- Reviewed user stories that are prepared by business analysts and ensure that user stories are always testable.
- Ensured that exploratory tests are always executed before stories are signed off.
- Supported the release management by ensuring that data setup and binaries are always available using the continuous delivery pipeline.
- Promoted continuous improvement include quality being built into the product e.g. ensuring the application is resilient to failure in third-party applications that are being integrated with.
- Conducted regular demos to product owner and other business stakeholders.
Test Automation Consultant2015 - 2016State Street Bank, London
Technologies: WebDriver, Python, C#
- Planned and executed testing activities across a number of work streams including client onboarding, trade capture, trade lifecycle, and front office blotter.
- Worked with other testers and business analysts in the other work streams including settlement, confirmation, stock borrow loan, ERM, etc.
- Worked with business analyst and product owners to define and test client onboarding process including AML checks.
- Oversaw the automation of certain components across the programme to help reduce testing risk and reduce regressions using Ruby and Python in some other cases.
- Handled automation trade capture scenarios that would be used across the entire project’s work streams.
- Liaised with external vendors (Misys), raising issues as appropriate and chase up for a resolution to any issues found.
- Coordinated defect triages and liaising with the business owners as required.
Programme Test Lead2014 - 2015UBS
Technologies: GEB, WebDriver, Gatling, Spock, AngularJS, Java
- Managed testing activities on every project in the programme.
- Worked closely with developers to ensure that unit tests and integration tests are written for every story.
- Worked with quantitative analysts on testing of algorithms that were used for determining risk inherent in trading agreements.
- Developed a test framework in groovy, and use that for end to end (acceptance tests).
- Created acceptance test builds in teamcity for every project in the programme of work.
- Implemented a performance testing framework using Gatling (Scala).
- Attended meetings at different level of engagement from project initiation meeting to individual meeting within the different projects.
- Ensured that appropriate tests are executed before every release.
- Release management duties, which includes the deployment of code to test and pre-prod environments, and documentation of release notes in a clear and concise manner.
Agile Test Manager2012 - 2014BNP Paribas, London
Technologies: Windows Forms, Ruby, SpecFlow, WebDriver, C#
- Challenged any development, test, or release practices, which could potentially have an adverse effect on the quality of the system under test.
- Created and kicked off an agile testing strategy for the team.
- Created an automated build and deploy system using teamcity for the risk system being built; this has proven to be very useful as we have caught a number of defects much earlier on despite the challenges associated with testing the system.
- Built a number of test utilities in C#, Java and Ruby programming languages to support the testing being executed by the test team.
- Initiated a process to enable system integration testing to be reduced from 4 weeks to 2 weeks.
- Paired with developers on story testing; identifying scenarios that are required to be automated as part of the continuous build.
- Continuously worked with quantitative analysts and developers to analyze and validate risks that was produced by the system.
- Regularly create a test pack for our regular 6 weekly releases into the UAT environment, which is then used for system integration testing.
- Managing the offshore team for the bank required system Integration testing.
- Helped resolve production support issues and ensure any gaps in the test pack are addressed immediately.
- Worked closely with the app and desk support teams to ensure that the team’s test process are synced with the production support procedure.
Agile Developer in Test / Agile Coach2011 - 2012Collinson Latitude, London
Technologies: Cucumber, Watir WebDriver, Ruby
- Created a test automation strategy as part of a bigger continuous delivery plan.
- Implemented a continuous performance-testing framework using JMeter and integrated as part of continuous integration.
- Built an acceptance test framework using Ruby, Watir-Webdriver, and cucumber.
- Improved the manual testing process leveraging the advantages provided by the acceptance test.
- Coached the developer, testers, and business analysts on BDD practices.
- Improved agile practices including stand-up, release planning, and retrospectives.
- Supported the implementation of teamcity continuous integration environment and created a build for acceptance testing.
- Liaised with the offshore team daily and mentoring via Skype.
Technical Test Consultant2010 - 2011LMAX, London
Technologies: WebDriver, Java
- Mentored other testers in agile testing practices.
- Improved the automated acceptance testing using selenium and the LMAX REST API.
- Tested the KYC API integration ensuring that the guidelines for AML are implemented correctly by the system.
- Executed exploratory, regression, non-functional, and functional system testing as part of the day-to-day job.
- Tested all exchange and broker functions.
- Tested trade reporting functionality which is built on FIX protocol.
- Involved requirement definition and test automation for client money functionality.
- Tested the integration of third-party software. E.g. Integration of Scila market surveillance and Reuter's tick history data with the LMAX platform.
- Involved environment management and release management.
Technical Test Consultant2010 - 2010BBC Worldwide, London
Technologies: Ruby, ActiveRecord, RSpec, Watir, Cucumber
- Led a team of three testers and supporting these testers to be better technical testers.
- Established the testing process for the project.
- Tested a number of application including web services using SOAPUI and biztalk applications.
- Drove the BDD process used for development of features.
- Automated tests written using Cucumber, Watir, Rspec, ActiveRecord, and Ruby.
- Created a test framework for testing the ETL process using ActiveRecord.
- Actively involved in recruiting and interview testers (manual and technical) to come onboard the project.
Technical Test Consultant2009 - 2010Channel4, London
Technologies: TestNG, Apache JMeter, Java, Selenium
- Conducted user acceptance testing for all applications developed.
- Created a test automation suite using RIATest for testing the flash components of the channel 4 websites.
- Automated test framework deployed includes Selenium remote control and TestNg.
- Actively involved in the project processes, identifying risk and escalating such risk as appropriate.
- Reduced dependency on selenium by writing some at a much lower level below the user interface.
- Built a working and manageable framework using selenium for projects worked on.
- Worked extremely closely with developers and the business users to reduce project risks.
Senior QA Engineer2008 - 2009Sportingbet Plc, London
Technologies: Selenium, WebDriver, C#
- Automated test framework deployed includes selenium grid, remote control, and nunit.
- Extended Selenium framework to effectively run selenium test suites in parallel.
- Completed the pilot project with RIATest and Flash-Selenium for testing of Flash component on an eCommerce website.
- Pioneered and supported an ongoing process of moving from V-Model test model to an Agile testing process.
- Tested the Finsoft back office payment and settling suite.
- Managed the QA team and assigning QA engineers to projects team depending on project need, competencies and opportunity of cross-training.
- Initiated and co-coordinated daily QA engineers standup.
- Mentored junior QA engineers to write Selenium script using object-oriented paradigms.
- Developed a script in Ruby which was ported to C# to help with translation on foreign domains.
- Created abstract classes to make selenium scripts more maintainable.
- Monitored and reviewed Selenium test scripts to ensure maintain-ability at all times.
- Involved in iteration planning meeting and retrospectives.
QA Team Lead (Automation Team)2008 - 2008Elateral Limited, Surrey
Technologies: Apache JMeter, Selenium, C#
- Reviewed and redefined the Agile testing process.
- Mentored other testers and QA engineers in the IT department.
- Introduced and created automated regression test suites for the web applications that were being supported by the team.
- Worked closely with the offshore team to coordinate task and reduce redundancies.
- Initiated writing of automated test scripts for current projects (functionalities).
- Led a team of testers and analysts during both unit, system and regression test phases for a number of high profile client deliveries.
- Worked to very tight testing deadlines and in dealing with high-pressure situations calmly and effectively.
- Worked closely with customer side support teams and client staff to manage user acceptance testing projects.
- Managed a multi-project tracker system for both testing issues and user enhancement requests.
- Worked alongside system architects and developers to ensure high profile changes and additions were produced in a timely manner.
Application Developer2007 - 2008ThoughtWorks UK, Limited
Technologies: Selenium, JUnit, C#, Ruby, Java
- Analyzed user stories looking out for testing risks and dependencies.
- Defined test procedures for every iteration, and provided estimates for test time needed for each story.
- Automated test cases using JUnit and Selenium.
- Executed test scripts, reported bugs adequately with all information provided to reproduce bugs, regression testing, coordinated user acceptance testing, and carried out sign offs.
- Prioritized bugs and prepared release notes.