Quality in the Software World

IMG_8820.jpg

This bootcamp was presented by Toby Martin, one of Pushpay’s Senior QA Engineers with over 20 years of experience in Software Quality, and Oliver Jacks, Summer of Tech’s past intern, now QA Engineer. Together they showed students the importance of quality processes, why a desire to look after customers is important and how breaking things can be fun!

What is Quality?

The simplest explanation is something that is “fit for purpose”. Toby then broke down the description by asking “What is the purpose of this product?” and “What are the requirements needed for this product?”. Once we clearly define the purpose, then how accurately a product meets its requirements is its ‘Fit’

Applying Quality to Software

A big misconception about quality in software is that it is only testing, right? The answer is no! Quality assurance requires:

  • Requirements analysis: Are they the right requirements? Will they lead to the right place? Will they give the right outcome?

  • Risk analysis: Determining if the product meets the customers’ needs, and investigating whether there will be negative implications for those customers, and assessing any possible risk that may arise because of this product.

  • Testing: Ensuring whether the product works or not.

  • Monitoring: Constantly supervising the software to ensure it maintains the level of quality that you expect.

  • Configuration management: A niche specialty where the system routinely checks if updated versions are used.

Pushpay’s Process for Quality

  • Agile Mindset: The agile mindset is slightly different from the Agile Methodology with lean canvas and Kanban. At Pushpay, the team uses what works best to deliver fast and mitigate risks.

  • Shift Left: Pull your quality processes all the way to the left (as early as possible), inject them at the start of the project or task.

  • Design Reviews: Asking ourselves on “What are we designing?”, “Are we designing the right stuff?, “What possible risk may occur?”

  • Plan, WOMM, Ship: “Works On My Machine” before the developers ship their code, they will pair test the code on their machines and ask “Have we thought of scenarios A, B and C?”, to allow any bugs to be fixed immediately and quickly retested, reducing the overall time spent in the testing stage of development.

Career paths in Quality

Toby and Oliver also shared what attributes they are looking for when hiring QA interns:

  • Be creative and detail oriented

  • Be outcome focused, with strong teamwork

  • Have an inquisitive mindset.

There are various career pathways that require QA skills:

  • Business Analysis or Product Management

  • Development

  • Quality Assurance (QA)

    • Testing - Manual, Automated, UAT (User Acceptance Testing), Integration, and Security

    • Risk analysis

    • Configuration management

    • Quality management

Join Pushpay this summer as their interns!

Pushpay is hiring 1 Quality Engineer Intern and 3 Software Engineer (.NET) Interns this year! 

Oliver shared his highlights from his summer internship experience at Pushpay as QA intern.

  • He switched teams every few weeks to experience the different teams at Pushpay

  • He was encouraged to work on a side project

  • Pushpay has collaborative environment, with a strong focus on people

  • Pushpay is proud of their blameless culture

  • They have guilds or communities to suit your work-related interests


Previous
Previous

How to deal with imposter syndrome

Next
Next

SoT2021 Offers (an Employers Guide)