Salute! Next week, classes will start in a new stream of
the QA-Specialist course, in connection with this we are sharing with you useful material translated specifically for the students of the course. Go.

Summary: Many testers conduct only functional testing, without going beyond it. But software testing is a search for product quality information that can help stakeholders make informed decisions, and there are many ways to search for information other than functional testing. This article describes six ways to help you improve the effectiveness of your projects.
Functional testing retains its value even with extensive automation implementations. Many software products require manual testing to verify and research all functions and their interactions.
')
Unfortunately, many testers conduct only functional testing, without going beyond it. The reasons for this may be lack of skills, inability to write code, fear of the unknown, or limited knowledge of the testing landscape.
Paraphrasing Sam Kaner, software testing is a search for product quality information that can help stakeholders make informed decisions.
In addition to functional testing, there are other ways to search for information. This article will look at six ways that have helped me improve the effectiveness of my projects.
1. Examine all posts.
Testers usually study requirements documents, discuss them with stakeholders, and then develop tests. But we all know that there are scenarios that are not covered by test cases that appear during the use of the product. Most of them are covered by developers, but some may come as a surprise to everyone.
The development team can help by making a list of all the messages that are in the product, including error messages, informational messages, and warnings. This will also serve as a good test of test coverage, in terms of messages displayed by the system. If testers have never seen the message that will be shown to the user, then they should go back and see in which cases this message will be displayed.
Once, having received a list of messages, I immediately noticed that a number of them were completely new to the testing team. After studying, we realized that they were from obsolete code and, despite the fact that we no longer support this functionality, they were in the source code. This code should be removed, since it no longer affected the product.
Depending on the architecture of the application, it may be easy or difficult to prepare such a list. But if you think this exercise will help the testing team better test, then stakeholders should agree on how to prepare a list of messages. Try this approach and check how well you know your product and what is your test coverage.
2. Review the UX
Many product teams release the first versions very quickly, and then think about stabilizing the code after reaching a certain number of customers or other indicators. Quick releases at the initial stage usually take precedence over making releases correctly. But as more developers get involved in the business, there is a high probability of inconsistency.
In the process of stabilizing the product, focus on getting rid of any UX inconsistencies. Perform a UX review of the entire application. Start with icons, text, actions, functions, and main streams. Use characters and brainstorm for a full review of UX. Also consider touch points for users. How do you deal with them? Is there anything misleading in your application? At
https://cantunsee.space there are exercises that will help you test your UI-skills.
When we made the UX-review of one of the actively used products of our company, we found inconsistency patterns and could easily link them with various solutions that we made as a team, releasing features in a hurry, outsourcing the development to another team, releasing features with outdated plugins and so on.
3. Analyze competitors
It is a pity that many testers work in isolation and have no idea about the products of other companies. Study your competitors with advertising information, webinars, demonstrations, news in the media and blogs, and then write down the features and analyze the strengths and weaknesses of your product.
Ask your product teams if you can get access to offers from other companies, and ask how you can help with competitor analysis. In addition to analyzing the functionality, pay attention also to such criteria as usability, performance, security and availability. It is useful to make a comparative table “functionality - evaluation criteria” with points that scored products.
4. Explore the capabilities of the tools.
Tools are a blessing for those who know how to use them effectively. They can save a lot of money and time and greatly complement testing. As a tester, you must have extensive knowledge of the systems used and the processes used.
In addition to automating functional checks and quickly creating test data, there are also tools for detecting patterns in logs, for replicating data from production, for simulating functions, for recording user actions, and for responding to rule-based events. Also, to achieve most end goals, there is no need to buy proprietary tools. It can be a simple program of hundreds of lines that makes a screenshot of the application based on the trigger in the log.
Sometimes it is not obvious to everyone how useful those or other tools are, until you demonstrate the benefits they can bring, so explore their capabilities.
5. Think of the risks that can be a “nightmare”
As described in Elizabeth Hendrickson’s book “Explore It! Reduce Risk and Increase Confidence with Exploratory Testing ”, one of the ways to prevent a catastrophe is to think about the possible headlines of bad news related to your product or project and test these risks. Testers are good at thinking about possible crash scenarios, and this skill can help the development team avoid mistakes while writing code, saving time and effort in advance.
It can be a fun game that can be played with several stakeholders, and it will give everyone the confidence that the risks will be taken care of. When we conducted this game with one of our teams, some of the headlines invented by technical support and management gave us a different point of view - without this we would never have thought about these tests.
6. Spend time with customer support
Due to the continuous use of their product, the testing team may be prone to bias. And what seems to be testers expected behavior, in fact, can be inconvenient for users. You can study customer support calls to learn about customer pain and problems when using your application.
Once we complained about the feature of one of our products and the convenience of its use, but this was not accepted as a bug. Although when several clients started to deal with similar usability issues, this was corrected with high priority. This case gave us great authority in the organization. And later we were invited to take part in numerous discussions about usability decisions.
Customer voice is real data that you need to pay attention to, and you can use this data to contribute to the development of your product.
These six methods are easily combined with functional testing and bring great benefits. Try them in your work on testing and tell us about your experience.
That's all. We are waiting for your comments and invite you to the open day, which will be held on June 21.