Testing to predict and prevent problems:
Quality Assurance is a process of different testing steps to prevent any defects early in the project, and ensure a company delivers high quality products. These steps are a mixture of testing methods at various points in a project lifecycle. But, because quality is everyone’s responsibility, QA fits into different business teams as well.
QA is all about the team coming together to define acceptance criteria and product/project requirements. These are guidelines everyone follows for transparency and can refer to, which makes a process called “pair testing” easier and promotes a quality culture. This is where two team members from different departments (creative and development for example) test together to match what has been produced against the acceptance criteria.
By collaborating as early as possible and ensuring a QA person is present from the onset, a team can ensure they are on track to produce what was intended. This, in turn, saves money in the long run because any missing requirements can be addressed early on. While this might seem like QA is a bit of a control freak, it helps integrate the different departments involved early on under the umbrella of ‘quality,’ so they can learn from each other and discuss any concerns regarding things like accessibility, SEO (Search Engine Optimisation), tools etc.
All the above will be factored into any tests and will be documented as a series of steps for users or clients to replicate as part of user acceptance testing; this is the final stage in the QA process before the product is pushed live.
The Top 7 Types of Testing
Testing has been mentioned a few times in the section above, so let’s elaborate. There are a variety of testing formats out there, but the key ones include:
These can be created by developers, testers, or both. They are programmes of test steps documented in a tool that can run automatically at any time in a project cycle (although it would most commonly be run after a deployment to check that nothing has broken).
Tests conducted when automated testing cannot be, for example if CAPTCHA is involved for submitting a form, using filters, searching on the site. This can be completed by the tester or multiple people on the team, as it would include device/browser testing and checking the design has been correctly implemented.
Conducting tests outside of the unit test (new functionality/element) to make sure these elements are still working as expected. It relies on the tester to discover defects outside of the usual testing scope.
A mixture of browser and device testing to check for any inconsistencies or bugs appearing that shouldn’t be. Different browsers render websites slightly differently, and devices need everything to be responsive so the user can navigate the product easily.
This is more of a focus on the Content Management System (CMS), security testing and stress testing the environment. Whenever a CMS is updated, it should be tested through to make sure the unique requirements like bricks to build a page are working as expected. If an environment is going to have a huge amount of data, it will need testing with as much data as possible before it’s pushed live.
Testing the functionality and product against the initial acceptance criteria and writing clear steps for replication for the client/user to follow when it is sent for them to approval.
This is sometimes called smoke testing, but they are essentially the same as it’s a full test of the entire product – to make sure that it’s working correctly. It’s usually done once everything is ready in the staging environment, which is a precursor to production (live) and the process is repeated there.
It might seem like testers are a bit like Godzilla going in and destroying developer’s code; and while it is a tester’s job to break things, QA is more of a puzzle piece in a jigsaw. Although the testing side of QA fits into the development side of things, Quality Assurance must be built upon strong processes and frameworks. This is where it crosses over into other departments too because quality involves everyone.
What are QA Frameworks and Processes?
One of the key processes to follow with regards to QA is Behaviour Driven Development (BDD). This focuses on the user stories and acceptance criteria with the end user in mind. User stories follow the flow a user might take while using the product, so that we can account for as many eventualities as possible and create a well-rounded, well-researched and well-thought-out product. If it’s a reinvention of an existing product, the desired result will provide solutions to any existing problems and ensure there are no further ones.
The other common process is Test Driven Development (TDD), which focuses on the tests first. You initially write the test to fail and then create the solutions and various functionalities around this failure. The test will then pass before it is then refactored to make any adjustments and the development/production team will move onto the next element.
The following image is a fitting example of where QA fits into a company:
As you can see, QA falls into a lot of key areas within a business so everyone should have a basic knowledge of what Quality Assurance is. It’s important to find out where QA would fit into your company and processes, so if you would like to find out more, please reach out here.
Related content: Brand Success in 2022