Software testing

What, why and how of software testing at Friday.

Introduction

Software testing is an integral part of Engineering at Friday. We place high standards on the quality of software delivered, hence every project has dedicated independent testers.

We put a lot of emphasis on automated testing to get early feedback from both front and backend systems. We also manually check user interfaces for responsiveness and web rendering across multiple browsers and devices.

We have a strict zero Severity 1 (S1) and Severity 2 (S2) defects policy as part of our release criteria.

What is software testing?

It is three things:

  • Conformance: the product does what it's supposed to do.
  • Assurance: measure quality of the product to help stakeholders manage risks.
  • Discover: find and manage defects.

Understanding the cost of failure

As we move through the development lifecycle to maintenance, the cost of each defect rises exponentially. There are some costs which can be easily represented in monetary form, but loss of customer loyalty, moral etc. can be even more damaging. These costs are directly correlated to poor software quality.

image

As an organisation, we need to pay close attention to make certain we deliver quality products for many reasons.

image

In this chapter:

Testing approach

How we test... with some do's and don'ts.

Testing Process

How software testing fits into the overall development process.

Web automation

Save time and let the machine do what it is good at.

Web service (API) automation

Cost of failure multiples if defects are present in backend web service code, and we don't take it seriously.

Manual Testing

Some things are just better tested manually...

Defect management

How to raise, assign severity and prioritise defects.