Whether a project is small or large, only constant testing can ensure the stable operation of critical business processes during the continuous implementation of the client’s requirements. The majority of solutions are made in order to satisfy individual requirements that differ considerably from the basic functionalities of Magento, most errors occur concerning critical business processes as well.
Erroneous or undesirable behaviour may also occur as a consequence of developments that seem completely independent. Since manual testing takes a relatively long time, we use automated tests. These are developed in a system called Codeception because its language allows the code of test cases to be resolved in the most cost-effective way for the client.
Tests are run after each developer’s change (commit), so we can see not only that an error has occurred in a process, but we also know after which developer’s commit the problem arose, so it can be traced back and eliminated, and, thanks to prevention, it will not get to the live page.
We use two types of automated tests:
- Writing acceptance tests requires a user’s point of view. The virtual user doesn’t know in what system an online store has been developed, or what database it has – they will only see the content of webpages, similarly to a real user. Also, they may see the URL of the page, and may look at its source code, as it is possible today in most browsers without any developer’s knowledge.
- During the functional tests, we can also examine database entries, send data into the database even without filling in a form, or check the content of an email sent for testing purposes and whether or not it complies with what has been defined in the Use Case document.
The most fundamental processes are worth testing by automated test service in any case:
- Faultless load of the opening page
- User login/logout
- Registration process
- Purchasing process ending with the placement of an order
The functions in the above list are, of course, tested both with users logged out and in, where possible.
Of course, apart from the automated test service, you can also order a dedicated manual test service. In order that you can choose the solution that is optimal for you, we have compared the advantages and drawbacks:
- Quick, efficient
- Very useful for regression testing
- After a one-off investment of resources, the given test scenarios can be run any number of times
- Pages that don’t change often are worth testing by automated testing
- Load tests and performance tests can be carried out based on automated testing
- Accurately specified criteria may be tested (e.g. if a given button or surface is of the appropriate colour, if all information tabs appear correctly on the product data sheet)
- After running the test, detailed result log files will be created
- Multiple threads may be used to run the same or different activities concurrently
- Manual testing is efficient for testing Magento functions or pages where automated testing is not cost-effective or not feasible for any reason
- It can even be used early in the functions development phase
- Real user experience (UX) and web ergonomics can also be tested
- When requirements change, manual testing can continue without additional investment
- It may bring to light logical contradictions
- Low implementation costs
- Much more sensitive and flexible than the automated tests
- Possibility of preparing status reports
To sum up, automated tests are an ideal time-saving and cost-effective control method in maintaining reliable, stable operation. The development of automated tests is in the interests of all project participants.