In product development, life cycle testing is often overlooked. The software testing stage helps you to evaluate whether your web product has the required level of quality, functionality, and in general, all your deliverables were successfully met.
According to Statista, In 2019, senior technology professionals reported that about 23% of their annual IT budget is allocated to QA and testing. You may ask why spending a quarter of your funds on it? Well, just consider that bug fixing cost at the stage when the product was already released is 30x higher than their cost in the early stages. It is even better illustrated in the graph “The relative cost of fixing defects’’.
As you can see, the cost of fixing defects is growing exponentially. Thus, it is essential to test your app and all new releases in the earlier stages to avoid monetary losses and discrediting your company’s reputation.
This article can come in handy for project managers, who continuously accept features, for developers and QA specialists, who want to go over their work and check if every feature is working as planned initially by covering specific auto-tests use cases.
In this article, I’ll focus on manual testing and use cases. If you are new to this business and have not tested features before, I strongly encourage you to start developing this skill to improve your product’s functionality, usability, and safety.
1. Spend time on the REQ (requirements) stage and ask as many questions as you can.
The process of testing and development of a successful product starts from a well-performed requirement gathering stage.
It involves a detailed description of all the features, use cases, and acceptance criteria by a product team. It will save you time on testing, but it will help the whole team stay on track and better understand their objectives and the vision of a product they are building in general. Often, a failed product or a feature release lies in the fact that deliverables were not properly defined during the REQ stage.
Moreover, to help a team or yourself better envision the final result, you can create a helicopter view of how the modules interact and identify your main flows.
2. Decide what kind of tests you need wisely
Testing alone won’t bring you great benefit if you are actually making an effort towards the wrong set of tests. You can’t be confident about your product by having only manual testing of your app without Unit, Integration, or UI testing. This is inefficient. You can see on the “Software Testing Ice-cream Cone Anti-Pattern” pictured below what to avoid in the testing vs. the Ideal Software Testing Pyramid. If you still don’t have tests in your project, you should be ready for the risks their absence might bring.
Now, as you got an idea of a “bad-way,” take a look at the Ideal Software Testing Pyramid (on the right). This is the suggested way to test any app or website. It’s less time-consuming and more cost-effective. In a more complex product, to avoid any bugs which may be overlooked due to a human factor, it is better to write automated tests. It will go over a written code for you and make sure that it’s mistake-free. But as you can see from the graph, after any automated testing comes manual.
3. Create regress checklists of the existing key features and document the main flow of your product.
First, regression testing is a way of assessing that any new improvements you are implementing in the app or a website are not disturbing original features and functionality. By creating a regress checklist, you ensure that the behavior of each feature is documented. This will help manual testers or any other person in the project understand how the product should/should not work and respond to your actions.
4. The “brake everything” mindset
Please do doubt any feature’s correct behavior, suspect every release smoothness. Do ask questions and solve problems if you see your system’s behavior is not working as expected. Regularly analyze if there are not described use cases and cover them.
Here are general behavioral user cases for web products that can be applicable to most of the platforms.
Going over different user cases is not the end of the story. On top of it, you have to bear in mind that your clients’ environment and background are different. Therefore, it is essential to test and check that your web app is altered to other using conditions, such as:
4. Check that the mobile/tablet versions are accessible and usable.
5. The main flow and logic of your product are comprehensible to the user: they are able to find specific information, navigate through the website, purchase particular goods and etc.
Even though manual testing in itself implies going over something with your hands, there are still plenty of useful tools that can help you along the way:
Finding a bug is only half of the deal. Another half is to log and report it correctly. The quality of your bug report will determine how quickly and efficiently a team of developers will be able to reproduce and fix it.
Your bug report should be clear and detailed. Your explanations are concise; you can check it by imagining that you are showing this report to an external person to your project, but they still should be able to reproduce and understand what the issue is about.
So now as we know how important bug reporting is, let’s make up an example of a negative case and adequately document it:
Summary: “Clear All” button in the filter section is not working.
Environment: Staging, Chrome 85.0.4183.83
Steps to reproduce (WTR)
The number one priority for all development teams is delivering a high-quality product that will fit user needs. And to do that, the team has to undergo several different types of tests: manual and automated. Automated tests are a basis, but all of them have to be followed by good old manual ones.
I noticed that the key to quality testing is conducting a detailed requirement gathering in the beginning and creating regress testing checklists throughout my career.
In this article, I added some of the most common UI cases that are relevant to the majority of the website. If you are new to manual testing, I believe that this checklist will provide you with valuable guidelines and will be generally useful to follow.
You open another office because your company is growing. Some people move there, and you are proud that the company gets bigger. But it makes you...
People bring a human factor to company regulations and standards. We forget tasks while creating to-do lists and waste time by fixing the crappy...
Jira is our primary tool for tracking and managing all projects. We have developed the following rules: