Bug is a silent killer. What if you commit developing your online store to someone who doesn’t care about quality assurance. This time or maybe later, the silent killer will come up to ruin your business. This is not the case with us. At Simtech Development, we code with Quality Assurance as part of the development process. It’s free. Moreover, we provide a 100-days warranty for our modifications!
What is QA and how is it different from QC and QM?
Quality Assurance (QA) is a part of Quality Management (QM) and represents the process focused on defect prevention while making a product or rendering a service. It should not be confused with Quality Control (QC) which is oriented on defect identification when a mistake has already occurred.
In software custom development which is composed of a number of sequential stages, QA is a link in the development chain. Some developers often omit this QA stage as it isn’t primarily connected to the resulting output. At Simtech Development, we implement QA for all our development operations free of charge. You can be sure that all the modifications done for you undergo several stages of testing prior to delivery.
Quality Assurance workflow
Quality Assurance of any CS-Cart and Multi-Vendor project is an integral part of our CS-Cart custom development and delivery process. No methodology or programming languages will guarantee stable and correct modification functioning without rigorous QA validation.
At the first stage, our developers carry out automated and manual testing throughout the development process, and our QA experts systematically monitor and evaluate various aspects of the project. Afterward, the QA team checks the quality of the final modification. These testing procedures help us maintain a high quality of service and modifications.
The testing order depends on the priority assigned to a development task. There are 5 types to assigning the task priority (ranked from top to low): Blocker, Critical, Major, Minor, Trivial. Accordingly, tasks with the Blocker label are tested in the first place, and Trivial – in the end.
Examples of Bugs
In addition to the task priority, bugs are also ranked based on their ‘gravity’. The more ‘serious’ an error is, the shorter should be the response time. Below are some cases of bugs (represented by severity) that are rectified with testing at an early stage before shipping the code to the end-user.
Our Quality Assurance consists of the following:
Testing after each iteration
Testing is most effective when it is conducted iteratively (repeatedly) throughout the development of a product. Iterative testing means that we conduct several periodic tests over the course of product development. It allows us to test the project consequently before the final testing.
Our QA team pays attention to functional testing as this type of testing verifies the compliance of developed functions of the online store with requirements and specifications, other project documents and simply user’s expectations. Our QA specialist checks all the functions to exclude problems and errors. In the screenshot below you can see that the store has issues with displaying products when the user chooses the list form.
Bug Example on Storefront: ‘Invisible’ Price Bug Caused by New Plugin
Understanding how your users interact with your design is crucial to crafting the best user experience to help visitors achieve their tasks and overall to increase conversions. That’s why we test the project on the desktop and mobile devices, as well as in all browsers to make sure that everything is correct. If you have a look at the first screenshot, you will see that the buttons moved out, which we noticed while testing the mobile version. In the second screenshot, you can see that the video is not adapted to the mobile device.
We use Codeception when quick testing is required.
Codeception is a modern framework for acceptance, functional and unit testing in PHP. It is made to be simple and easy to write and run tests. Tests allow us to check that the page of the online store is accessible and that it does not contain PHP errors, smarty errors, or debugging information.
This is how a testing result page looks like:
Automatic testing is useful for big and high-loaded marketplaces. We carry out automatic testing to avoid regressive testing.
Regression means retesting the unchanged parts of the modification. Testers perform functional testing when a new build is available for verification. The intent of this test is to verify the changes made in the existing functionality and newly added functionality.
When this test is complete, the tester should verify if the existing functionality is working as expected and new changes have not introduced any defect in functionality that was working before these changes were made.
This test is very important when there are continuous changes/improvements added to the modification. The new functionality should not negatively affect the existing tested code.
Do we perform QM?
Apart from QA, we carry out quality management or QM. If QA is all about testing software and technical stuff, QM relates more to people. The human factor is 99 percent to success. Thus, we internally monitor how effective communication and services are delivered by employees. Each month, we gather managers to tell them what they can do better for the clients. It is a blameless process: nobody feels ashamed because nobody is perfect. We do follow the quality management principles as prescribed by ISO 9001:2015 – ISO 9001:2015, namely:
- Customer focus.
- Engagement of people.
- Process approach.
- Evidence-based decision making.
- Relationship management.
After the managers’ meetup, employees get a clear view of their ‘mistakes’ and can improve their workflows to deliver better results.
Functional, usability, regressive and automatic types of testing are made per each project on a complimentary basis. This is what differentiates us from a number of other web developers. It is an haut ton for us to provide quality as part of the whole custom development for free. However, upon request dedicated tester is also available. In this case, we provide you with an opportunity to hire our in-house employee to fulfill that work for your project only. You’ve got all the privileges of an individual approach and priority pass to all of your requests in that case.