QA Process at PSD2HTML: How We Test Your Projects for the Best Quality
PSD2HTML is a tight-knit group of highly skilled and experienced front-end and back-end developers. They are capable of implementing any project our clients request. However, simply building a website or converting a design to 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 will scare off customers and lead to a financial loss. That’s why our company is focused on delivering only high-quality products.
The QA process at PSD2HTML has been polished for years. It’s based on numerous test-cases and time-tested best practices that we constantly improve and adjust to our clients’ current needs and product 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 that so important and what stages do our testers go through in their work? We’ve met with one of our leading QA engineers for the 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 the work 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 prepare a test plan.
If we have received no project specs from the client, a QA engineer 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 project checklist.
What main steps 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 right 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. It’s 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 or 7) 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 QA engineers strictly follow all of the W3C coding specifications. That guarantees that a design will display 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, in its turn, includes:
- Verification that the specified features and all of the client’s requirements have been implemented the right way. The QA engineer thoroughly tests every button or gallery. 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:
✔Internet Explorer 11
✔iOS 11+ (iPhone, iPad)
We can also test a project in earlier browser versions for an extra fee.
If the project is a multilingual website, we perform 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 P2H from freelance developers who have limited resources 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 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 P2H are simultaneous processes. Regardless of the deadline for the implementation of a project, our QA engineers 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. With that said, the larger the project is and the more time we need to spend on its implementation, the more acute is the need for automated testing. Whenever necessary, we write automated tests to cover all of a project’s functionality.
We hope you now have a good idea about how we test projects at P2H. Our QA 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? Just drop a comment below.