Joseph Adams

A technical Senior Tester with 15 years’ experience gained in a mixture of environments, experienced with the creation of automation frameworks, Selenium, QTP (UFT) and Test Complete. Experienced in system testing, test case creation, and maintenance, mentoring and team-leading, defect prioritisation, customer management, and training.

Working either within a team or independently, I enjoy challenges and strive to not only improve my knowledge and skills continually but also to bring more efficient ways of working into every task I undertake.



Regularly attend local meetings and continue to upskill in my own time.


Experience

Test Engineer

Deepmatter

Deepmatter has a combined hardware and software solution to enable reproducibility in chemistry. Hired as the first tester in the Company. My role was to define the test processes and interactions between the 3 development teams, the hardware team, and the test function.

Created 3 test frameworks within Deepmatter. The WebUI framework, the API framework, and the Mobile App framework. WebUI and API frameworks currently being run via a Jenkins CI install (separate from the main development tool.)

The WebUI framework was the first tool created due to the volatility of the WebUI. I investigated the various tooling options available and settled on a WebDriverIO based solution. WebDriverIO is a Javascript-based automation tool. I designed the initial proof of concept and have since expanded this. The tool makes heavy use of “helper” functions (which I have created in an almost English-like syntax) allowing anyone to pick up the tool. A “Page-Object” Design-like pattern has been implemented to allow for easier maintenance and to counter some side-effects of the React framework (which the application under test has been developed using.) The Automation framework has been written to use a reporting framework called “Allure.” I have used “Allure” since its’ Beta phase and like this tool, as it is very visual, allowing non-technical managers the ability to understand test runs without becoming overloaded with “Technical Information.” Also, the tool allows tests to be assigned a severity, so when a test run fails, some analysis has already been performed and the impact of the failing more easily understood.

The API framework is a custom made Java framework using Rest-Assured and Junit. This framework is less well advanced than the WebUI framework due to the API being redeveloped. This does mean the new API is being created with tests at the same time as the API code and is much more stable.

The Mobile framework is another WebDriverIO based tool, this time with Appium support. At the moment, the tool has limited scope and runs a very cursory regression test.

The Jenkins installation is specific to the Test Team. This tool is used to control the WebUI and API frameworks. These frameworks have been written to allow them to run in either the release environment or the development environment. Failures are reported via Slack for a quick resolution.

Due to a shortage of staff, I have also been performing Peer Reviews of the WebUI code. This involves checking out the branches and running the code on my setup to verify it works. This has the benefit of allowing test work to progress work slightly faster and has been fed into the process as a possible change.

Part of a working group to try to streamline the release process. As part of this, it was identified that we needed a “big picture” view of the release, the code quality, and the backlog. I created a series of “dashboards”, these are groups of graphs which have been created using the Google Chart API and with the data coming from either the Jira API or the Jenkins API (for automation results) and show defect trends (critical and all defects over the last 12 months), open/closed issues, the current release state, and the automation results.

I drove the recruitment for a junior automation tester. This involved setting a simple test, evaluation of the solutions provided, interviewing, and subsequent hiring and onboarding. As part of bringing in additional resources, I implemented a review process for automation test scripts using GitFlow.

As part of our release process, I double-check all kits being sent to customers, both for the physical contents of the box and check that both the hardware and software work as intended. This firstly provides confidence in the deployment process and second eliminates faulty hardware if something fails on the customer site.

In addition to the work in Test, I have acquired the role of “IT Support Person” within the Company. This includes setting up desks for new starts, wiping data, and reformatting the machines of employees who have left. I have also had to recommend and educate Finance staff on backup solutions and set these up.

September 2018 - Present

Specialist Tester

Scottish Environment Protection Agency

Promoted to Specialist Tester with the remit of bringing automation and efficiency to the test team along with mentoring of junior staff and stood in for Test Manager when they weren’t available. As part of this promotion, I had to assist in the hiring of several members of staff. I reworked the “standard” interview process to create a mini test for candidates to sit (10 questions, designed to see how they would write test scripts and approach problems.) One of the first things which I did as part of the new role was to re-evaluate QTP as a test tool (SEPA had several unused licenses which kept being renewed.) Given the tool wasn’t suitable for the role it was needed for, my recommendation was to terminate the renewal and use a cheaper product that was advertised to work with what was needed. This was eventually replaced entirely with Selenium.

Created SEPA automated test framework using Jenkins, maven, Selenium (with custom webdriver interface) which kept an eye on our deployed databases and prevented changes being made “on-the-fly” as had been previously happening.

External websites (created with .net) were also automated using standard Selenium.

Some performance testing was also performed, using JMeter, though due to not having “identical” setups in Test and Development as was in Production, these performance tests were not as accurate and were merely used as guides.

To support cross-browser testing, Xenserver was used to host and run several static virtual machines.

As part of a “transparency” initiative, I was tasked to create a dashboard for the automation suites and have these displayed through the Development area.

As the team was working in a more dispersed manner and with multiple projects, was tasked to create a “virtual whiteboard” which not only let other members of the team know what work they had come up but was used as a focal point in Test team meetings as well as a reference for the head of information services.

Latterly involved a Scottish Government funded Agile transformation to convert SEPA from a wholly waterfall methodology to a more Agile methodology. This involved the recreation of the base harness to work with the Angular front end (after some investigation using Protractor.) Due to the complete changing of the development tech stack (as well as the architecture), Git was introduced for source control (from PVCS for dev and SVN for test) as well as Postman for API testing. Personal Jenkins work furthered with the use of webhooks to create a mini CI environment where tests where ran on developer commits and fails reported out via slack.

Attended the ISTQB Agile Extension course, but due to workload, the exam hasn’t been sat.

Was also key in delivering a Foundation Apprenticeship to 3 pupils from local schools. Setting a project, providing ongoing support and help. As a result of the program, one of the pupils has since gained a position within SEPA as a modern apprentice Technical Tester.

August 2013 - September 2018

System Tester

Scottish Environment Protection Agency

As a System Tester, I was responsible for manual testing against requirements, on projects from websites to Oracle enabled form applications. Responsible for creating test strategy per project, writing requirements, and test scripts in HP Quality Centre, executing test scripts, creating test completion reports, and guiding business users through User Acceptance Testing. Point of contact for contract system testers for any SEPA specific questions.

I also was part of the first line support for any application issues which arose.

March 2013 - August 2014

Tester

Xedo Software

Hired as the first tester for Xedo. Tasked with creating the test processes. Manual testing, to begin with, moved to some automation testing as the need arose. For web testing, Selenium was used and for testing of the Windows client, Test Complete was chosen (after some investigation and proof of concept work to determine suitability.)

Also assisting of the support function when the need arose (and taking on this role during times of annual leave.)

August 2011 - March 2013

Tester

Acrede

Engaged to define and set up a test team and quality standard for payroll and employee management systems.

July 2011 - August 2011

QA Test / Process Engineer

Ceridian (UK)

Test team lead accountable and responsible for co-ordinating retest of all defects before deployment. Responsible for test data creation as well as reviewing and advising on test documentation, peer reviews, and tracking database changes.

May 2009 - July 2011

Education

University of the Highlands and Islands

MSc Web Technologies

On going

Estimated 2023

BCS

ISTQB - BSC Certified Tester Foundation Level

Pass

February 2013

Paisley University

Bachelor of Science
Majoring in Computing

(With Distinction)

August 2002 - November 2005

Bell College of Technology

HND Electrical and Electronic Engineering

Pass

August 2002 - May 2006

Skills

Programming Languages & Tools