Quality Assurance/Testing
Testing a website to make sure it performs as expected.
Last updated on June 19th, 2024
There are a number of testing processes a web application should go through before it gets released to a production environment.
You can find a really high-level explanation of them here:
Unit Testing
A Unit test is a test that is run on the smallest piece of code, and are commonly applied to things that use ‘logic’. Unit Tests can be written using Jest and are the first point of testing in the development lifecycle.
Acceptance Criteria Testing
This is where the User Story is reviewed against the Acceptance Criteria on all approved browsers/operating systems listed in the ‘Definition of Done‘. Acceptance Testing is binary meaning the development either passes or fails the Acceptance Criteria. If one or more of acceptance criteria is not met, then a bug is raised and added to the development backlog.
Acceptance Criteria Testing can either be done manually or it can be automated.
Automated Testing
Automated testing can be set-up so that a script is run to ensure that the scenarios described in the Acceptance Criteria are being met. The real value from automated tests comes when new features are developed and that code is integrated into the existing codebase then the tests can be run to ensure that have been no changes to features that have already been deployed.
Test scripts can be written in a tool such as Cucumber
User Acceptance Testing
This is where the application is tested by users in a ‘real world’ situation. The ‘users’ may follow a specific script or alternatively they may use the application as a normal user would.
Regression Testing
Regression testing is the process of testing whether existing functionality is affected by new code/functionality.
Load Testing
Load testing is the process of putting simulated demand on software, an application, or a website in a way that tests or demonstrates its behaviour under various conditions. For example the site is tested against a realistic hit ratio and then the hits are increased until the site ‘breaks’ (breaks = error rate or load time becomes too high). JMeter is a tool that can be used to perform Load Testing.
Pen Testing
A pen (or penetration) test looks for security vulnerabilities in the way the website has been built.