An Overview of the Top Tutorials on Magento Custom Module Development In this post, we present a collection of 5 tutorials that beginners to custom Magento module development can use to create their first module. The guides range from fairly simple to comprehensive. The first general-availability release of Magento took place in the spring of […]
GetDevDone is a tight-knit group of highly skilled and experienced frontend and backend developers. They are capable of getting done any project our clients request. However, simply building a website or converting a design into HTML markup is not enough.
We know how important bug-free software is for businesses. A slow-loading website with pages that suddenly fall apart can scare off customers and affect the bottom line. That’s why our company is focused on delivering only high-quality websites and web pages.
Over the years, the QA process at GetDevDone has been polished almost to perfection. It’s based on numerous test-cases and time-tested best practices that we constantly improve and adjust to our clients’ current needs and quality standards. Not only do we perform cross-browser testing on desktop computers, but we also test projects on multiple devices and in an array of mobile browsers.
Why is Quality Assurance so important and what stages do our QA experts go through in their work? We’ve met with one of our leading QA engineer for the answers.
The Quality Assurance Process at GetDevDone: Questions & Answers
When does the testing stage begin and what’s the QA department’s primary objective?
We get down to business as soon as a client gives us their approval to start working on their project.
At the project estimation stage, we review the project specifications (if available), test them for contradictory requirements and feasibility, and suggest the best ways to implement certain modules and features. We also draw a test plan.
If we have received no project specs from the client, a QA writes the project specifications and summary jointly with the developers. Thus, the testing process gets underway already at the project estimation stage.
We must anticipate problems that our clients may encounter. We also ensure that everything looks and functions exactly as the client has specified by referring to the final quality assurance website checklist.
What main stages does the testing process include?
Here is the typical sequence of steps we go through while testing every project:
- First of all, we test the project specifications.
- We estimate the project complexity level. If the project is not very complicated, we use our standard test plan. Otherwise, we supplement this standard plan with additional test activities in accordance with the project specifics.
- We perform module testing. That speeds up the testing process considerably. As soon as one module has been developed, it immediately gets tested and is shown to the client. Later, when the entire project is finished, we move on to acceptance testing. Every module goes through a routine testing cycle when we run standard test cases. Every bug gets fixed straight away followed by regression testing.
- At every testing stage (module, system, or acceptance), we perform functional and non-functional testing. The non-functional testing phase includes the following:
- Usability testing. We test how easily a user can edit the modules via the admin panel, how intuitive the website navigation is, and so on. Our principal goal is to simulate any actions that a real user may perform both on a desktop computer and mobile device. A website interface must be clean and straightforward. Anyone should find it simple to move around, whether he/she sees it for the first time or is going to work with it regularly.
- Security testing. This activity is particularly important if the modules have been built by our developers.
- Installation/portability testing. We test the project on servers with different PHP versions (5.x or 7.x) as well as on the client’s own server.
- Markup validation against the World Wide Web Consortium (W3C) Standards. The goal is to make sure the markup contains no critical HTML or CSS syntax errors. Our developers and website quality assurance experts strictly follow all of the W3C coding specifications. That guarantees that a design will render correctly in all browsers.
- Graphical testing. We verify that a page or website corresponds exactly to your design. Our work is always pixel-perfect. However, we can be flexible under certain circumstances. For instance, if we’ve noticed an inaccuracy in your design, such as different offset values in different headings, we may decide not to follow the design to the letter and correct those mistakes in the markup.
This is what the functional testing phase includes:
- Verification that the specified features and all of the client’s requirements have been implemented the right way. The website QA/testing procedure suggests that no button or gallery is skipped. We check all forms, fill in all fields, register in all forms, and go over all the user’s steps without exception. We search for and fix critical bugs:
✘A page isn’t displayed correctly
✘A developer hasn’t implemented some of the features
✘Certain code in the project fails to work
At this stage, we apply two testing techniques:
- Positive testing (we expect a feature to work correctly). We imitate a user’s logical route around one page or the entire website from start to finish.
- Negative testing (for example, what will happen if we press two buttons at the same time, enter invalid data into a form, and so on). Those actions are not related to a user’s logical route around a website.
- Cross-browser and multiple-device testing. Our QA engineers constantly track updates for various browsers to know their latest modifications. We test every markup and page created for a specific CMS in the latest versions of the most popular web browsers and mobile operating systems.
We can also test a project in earlier browser versions for an extra fee.
If the project is a multilingual resource, our website quality assurance checklist also includes localization testing. We verify the correct translation of every available field both on the back-end and front-end.
If the client chooses the “optimized for load speed” option, we conduct performance testing as well by checking how fast web pages can load.
Finally, after we’ve completed the regression testing and our developers have fixed all the bugs, we perform smoke testing to make sure the main features work as they should. Only when all is perfect are we ready to deliver the end product to the client.
Do you perform testing on real gadgets? Why is device-testing so important?
Yes, we perform testing on a multitude of real devices. That’s what distinguishes GetDevDone from freelance developers who have limited capabilities and can test projects on one or two gadgets most of the time.
Here are the key benefits of real-device testing:
- We can verify the correct functioning of a website or page on a real device in compliance with the client’s requirements.
- We can verify the proper functioning of a website or page in a mobile browser, which is different from its desktop version.
- We can check that the solutions used on a website are compatible with the device’s hardware and software.
- We can change the device’s orientation (vertical or horizontal) to see how a page reacts to animations and rearrangement of user interface elements. You can use emulators for the same purpose. Sometimes, however, emulators can’t reproduce the problems that users encounter on real devices. It’s only on real devices that we can test the native behavior of a website/app. No emulator is capable of that.
- We can test typing text by means of the device’s virtual keyboard.
When do you fix bugs?
To exceed our clients’ expectations and deliver their projects as promptly as possible, testing and bugfixing at GetDevDone are simultaneous processes. Regardless of the project’s deadline, our website quality assurance experts always perform testing. Therefore, the more time we have, the deeper and broader test coverage we can provide.
Do you perform automated testing?
Our QA engineers test each project based on our clients’ specific requirements. That’s why we perform manual testing at every stage of the QA process. That being said, the larger the project is and the more time we need to spend getting it done, the more acute is the need for automated testing. Whenever necessary, we write automated tests to cover all the functionality.
We hope that you now have a good idea about how we test projects at GetDevDone. Our website quality assurance specialists are trained to maintain the highest quality standards. Each page is manually tested on a variety of real devices and in multiple browsers, while bugs are fixed the moment they have been discovered. Do you have any suggestions or ideas for our QA professionals? Get in touch with us.
What Does QA Stand for?
In case you don’t know it yet, QA stands for Quality Assurance. Why is Quality Assurance important? QA’s main purpose is to ensure that a specific software product works in accordance with the requirements that its creators defined when they were designing it.
Under its umbrella, QA gathers people, tools, standards, and processes, i.e. everything that can impact building high-quality software. A QA engineer’s mission is to ascertain that an application or a website is reliable.
QA is much broader than just testing. QA experts come into play even before programmers write a single line of code. They can help speed up the development process in general and the testing process in particular by making a list of standard and unusual inputs beforehand.