All Articles

6 important Software Testing Tips from our QA team

Posted 2016-07-12 02:07

5 minutes to read

Eugene Korobka
Quality Assurance Engineer at Rozdoum

This is a collection of top 6 practical useful testing tips from our quality assurance engineers.

Software testing is the important part of your project development processes. Learn how you can make your software testing more efficient and well organized. Rozdoum suggests to read these software testing advices and try to use it.

1. Use dedicated software testing engineers.

Nobody likes to say that their work is not perfect and that they make mistakes. Developers are no exception to this. Developers believe that their creation is impeccable, and that’s why they often cannot objectively check the result of their work. (Note: this is the collective image of a developer by average software testing engineers). Sometimes they can even aggressively defend their creation with arguments and logical conclusions.

In order to objectively evaluate the implemented functionality or their work, it is necessary to resort to the professional assistance of a quality expert, who can check the results and give a professional assessment of the tested project.

2. Informal methods of testing

We are all accustomed to reading books about projects that include complete specifications, iterations, test plans, and other benefits of a formal development process. But usually we just get pathetic hints of documentation in a real life setting. Sometimes a tester will hear such the phrase, “Hey, let’s test this!” What should you do when such a shaky moment arrives at your doorstep?

The answer is simple – you need to learn!

There is one such testing technique that is called “Exploratory Testing”, which can actually turn out to be your life vest. The essence of this technology is testing during the time which the project is being studied. All deeper analysis of the application’s functionality will help us understand what we need to check and how we can proceed. It also reveals all the week sides of the application. Although many people are skeptical about this technique, even in projects where the tester has thoroughly documented his work. This technique, can however, in many cases, bring good results. After all, real people are not robots, and their actions are not scripted.

3. Compose a clear report

One of the main responsibilities of a software engineer is to prepare reports, in particular, bug reports. Some testers do not attach a great deal of importance to this aspect of their work. But a well-described defect, down the road, can save a considerable amount of the developer’s time who will later try to understand the meaning of it. Numerous details, specifications and rediscovering bugs can take a lot of the tester’s and developer’s time. That, in turn, distracts the developer from the immediate task at hand, thus slowing down the development process.

So, try to write competent and detailed reports. Write a complete description of all the necessary preconditions, add all kinds of screenshots and log files, check the steps and try to optimize them, and as a reminder do not forget about the environment and the results. However, do not write too much and try to save the developer’s nerves!

4. Honesty is a tester’s best policy

In most cases, it’s difficult to evaluate the work of a software engineer. That’s why, in some cases, not technical skills but personal honesty is one of the main attributes that an expert in quality assurance can possess. If you are a tester then just admit it, sometimes you’re eager to neglect some minor condition, or too lazy to write a minor bug. Of course, eventually, it will reveal bad faith. However, it can affect both the release dates and the appearance of serious defects in the delivered product, and this entails dissatisfaction with the end user. As we know, a satisfied customer is our first priority. Therefore, my friends, let’s be honest!

5. You cannot find all the bugs

Find all bugs … Everyone would like to do this, but it’s complicated. As we know, testing cannot completely reveal all the issues with the application and you need to understand when it’s time to stop. As soon as the application is tested, the quantity of bugs in it decreases. And, finally, there comes a time when the number of detected bugs does not increase in relation to the already found defects. In this situation, it is important to understand that this moment of silence is not connected with a decrease in testing efforts. In this case we can say that the minimization of the number of bugs is connected with a lack of testing rather than the improvement in the quality of the application. Ultimately, based on the fact that the same testing efforts don’t help detect more defects and the number of bugs is not increased, we can make the conclusion that further testing costs are not necessary and you should refrain from active testing.

6. Determine priorities

A very important aspect of testing is the prioritization of certain functionalities. Especially when there is no clearly defined testing process, and the terms for testing are tightly compressed. It is important to understand the main points for testing and to not get lost at the wrong time.

Do not try to test everything all at once. It is virtually impossible, and the quality of work will suffer.

It is very important to determine the main application cases and features before the testing process. And, starting from selected cases, build a more complete testing strategy. In that way, the probability of defects in key parts of the application is reduced thus ensuring its stability. The less important functions of the application can be tested even after the official release of it (in some cases).

Eugene Korobka
Quality Assurance Engineer at Rozdoum