logo
logo
Sign in

What is software testing?

avatar
Vlad Dm
What is software testing?

What bugs are there?

The classification is taken from Jira. Jira is a project management tool that allows to track bugs. Its one of the most comfortable programs to run a project and is commonly used in a software development sphere. 
 
types of bugs
Classification of bugs in software testing
 
Lets look closer how each type of bugs differ from others.
 
Blocker It is the most severe bug. Blockers are mainly considered as blocking/not allowing to use the app or key business logic of the app. There are no workarounds.
 
For instance, only logged user can use our app. A user can log in through email and password. Bug: when a user enters correct credentials and click submit button he receives an error notification. And his status is not changed to logged user. In such case, the user cannot use any features of our app, because its blocked by login bug. There is no a workaround.
 
The other example with Twitter. When user submit his tweet but it isnt saved in our DB - its a bug. Thats why nobody can read the tweet. Its a blocker bug because the key business feature is blocked. The issue doesnt have a work-around.
Imagine, a user receives a confirmation message after sign-in. When a user confirms account he can use all feature. If a user signed-up in app, he waits for 10 minutes but he doesnt receive any confirmation message, it is also a Blocker bug because a user cannot update his status to confirmed. The issue doesnt have a work-around.
 
 
Critical bugs are the ones that effect critically on functionality or data of the product. The key and other business logic work incorrectly. The positive case is failed. If a Blocker bug has understandable workaround then its a critical bug.
For example, a user can sign-up in an app using two ways: 
  • through email and password
  • through FB
If a user cannot sign-up through FB, it isnt a blocker bug because there is a simple work-around. He can sign-up through email. And a user can continue using the app. The bug is critical.
 
Suppose that a user can tweet media content, like images, gifs, videos and audios. If a user cannot tweet any images Its a critical bug because key business logic doesnt work
 
Major bug is a failure of a secondary or additional feature. And it has a workaround. The main functionality works but some small functionality doesnt. The other case is when a feature works not in a way it should have.
For example, a user cant change the avatar. Its a major bug because defect is not in key business logic and we can continue test the app without new avatar
 
Minor defect influence on minor functionality or non-critical data. The key business logic works correctly If there is a minor bug in a feature it means that its difficult to use or it looks bad.
 
For instance, a user can change avatar (min size is 600x600). If a user can upload avatar with size less than min (500 x 500), its minor bug because the issues is not in key business logic- main part of this feature works correctly, but the validation rules are missing
 
Trivial bug is not as serious as previous ones. All business logic works correctly. They are easy to detect and to fix. They are usually design mistakes or misspellings, missed hover on element, placeholder in input is not align by center or lag of animation on old devices.
 
There are more categories, but we prefer this classification, as it covers all needed issues and of course, because we use Jira.

Types of testing

Software testing is always responsible. We do not test code, we test how it works. After a feature has been implemented QA engineers perform Functional tests. These tests check how the logic works. After that, we run UI tests. They are needed to see if the interface is in line with the chosen design and standards (guidelines). In the end of each sprint, there is a software smoke testing, it has to prove that the main business logic has been implemented correctly and works seamlessly along with the main functionality.
 
There are four types of testing that we perform here at Cleveroad. They are:
 
software test types
QA testing services
 
Basic development testing is a check after which there are no blocker and critical bugs. After advanced development testing, QA specialists detect all major bugs (if there are any) and developers fix them.
 
Basic and advanced testing are already included in the price of the development and customers dont pay for them.
 
After these basic and advanced checks, a quality product should not have any blocker, critical, major defects. But it can have few minor and some trivial defects.
In case a minor or trivial bug is easy to see and a QA engineer finds it, developers fix them as well and a customer doesnt have to pay extra for that.
 
 
Sometimes basic testing is enough. If we take a look at the most popular and successful startups, a very common practice here is to apply only basic testing. As they dont care about bugs, they only need a proof of concept.
 
Im sure youve heard about one dollar shave club, do you remember how they started? The startup created a small website, which crashed after a week of work because of a huge number of people who wanted to get a great shaver only for a dollar. The point is, that the site wasnt tested properly, thats why it crashed a lot at first. But it wasnt important as the main idea of any startup is to valid the idea even if it doesnt work perfectly. In that case small or even middle severity bags are irrelevant.
 
If you have an idea which you need to valid, you can use Product Hunt platform. Here, you can publish a raw application to prove the concept even if the program doesnt work perfectly. Small bugs are acceptable here.
 
On the other hand, Techcrunch can be also used to promote a new product. However, the platform accepts only bugs free software with no bugs at all. If you choose this service, youre going to need test automation done.
 
Test automation is needed if the project is vast, complex and its development takes longer than 1,000 - 1,200 hours. If the test is needed, a QA engineer writes a test (code) that checks some big parts of the code, part of complex logic or a template scenario. This type of testing within a few minutes does the same amount of work as a manual QA engineer in a day. However, test automation is necessary only if the project is really big, otherwise, it will take more time than the manual check.
 
Enterprise testing is needed for complex enterprise systems, like banking or insurance software platforms. The product has to be perfectly debugged, as any defect can lead to a real problem. There are two software testing standards that we follow running enterprise testing:
 
software development standards
International software testing standards 
 
These doctrines declare how the testing process should be performed, what IT quality assurance standards the product should be based on and what external and internal metrics it should have.
 
 
Enterprise software development testing is required if you develop SAAS and PAAS. Modern customers demand the highest software quality assurance standards. Which means a product has to be absolutely debugged. Such systems also require software quality assurance and test automation as you need to exclude human factor and be sure that during the updates you wont lose already implemented logic.
 
collect
0
avatar
Vlad Dm
guide
Zupyak is the world’s largest content marketing community, with over 400 000 members and 3 million articles. Explore and get your content discovered.
Read more