Types of Testing

Purushoth Anandaraja
CodeX
Published in
5 min readJul 24, 2021

--

Hi Guys, in this blog I would like to discuss and share about Testing in the IT industry. Software testing plays an important role in the development phase of a software product. This phase identifies and points out the logical mistakes or any software bugs in the developed prototype. The reason for this statement is during the development phase there will be not enough time to drill down to the basic logical principles of an IT-based product. therefore the QA (Quality Assurance) Engineer plays a vital role to make the product meet the client’s requirements by performing a set of Testing tools.

Nevertheless, there are many types of testings carried on a software product in huge tech companies that follow international principles and reputation.

Commonly followed types of testings are,

  • Unit Testing
  • Component Testing
  • Integration Testing
  • Smoke Testing
  • Regression Testing
  • Sanity Testing
  • System Testing
  • User Acceptance Testing
Types of Testings (source: Google)

Unit Testing

In unit testing, each part of the code developed as a component had satisfied or fulfilled the desired requirement. this is also considered the test that even tests the smallest code section which had been logically created. After testing individual testings they are finalized and determined as fit for use.

Component Testing

Component testing is also known as module testing where it is carried out after unit testing. Component testing can be carried out with a single unit or integrated as a module (generally) by the development team. in other words the component testing is a version of unit testing which is carried out with real-time data without using dummy data. This is an important phase in the testing cycle since every component is tested as a module before proceeding to the next testing phase.

Integration Testing

In Integration Testing, multiple modules or components are integrated as a group and tested. This level of low-level testing will be able to expose mistakes or any logical errors that could be present in the system. It is also known as I&T (Integration and Testing). In other words, it is also known as bottom to up testing where the separate units are combined and tested as a whole function at the end.

In order to carry out Integration Testing as the initial step, the QA team need to prepare a Test plan including test cases and scripts. As far after executing all the defined test cases they will have to track and re-test the defect found from the test results.

Smoke Testing

In general Smoke, testing can be referred to as ‘Confidence Testing’ or ‘Verification Testing’ because, in this testing, the testing team verifies the built system is stable or makes sure there are no issues in the build and to proceed to the next testing phase. It is a simple version of regression testing which only quickly focuses on the main functionality. The main advantage of Smoke Testing is it runs quickly and finds any important and critical mistake that might be in a system. Smoke testing can be diversified into Manual and Automation.

Regression Testing

Regression testing is carried out to make the existing functions are properly functioning after the integration of any new module or piece of code with the latest releases. In addition, this also ensures that the new integration of components does not have any side effects on the existing system. In order to carry out regression testing, we need to debug the code in order to filter out any existing bugs and then after selecting suitable test cases and scenarios the testing is done.

Sanity Testing

The testing ensures the software is ready to proceed with the build with perfect working functionalities. this is also can be said as a subset of regression testing. The main purpose of the test is to approve the proposed change is working perfectly in the system or not. Generally, the test is carried after the test phase has passed the smoke test.

System Testing

In System Testing where software is fully integrated as a single product to check all the end to end functions are working as planned. In System testing, several tests are carried out to verify a single software product is ready to deliver out as a single product for the user requirements. Mainly there are two types of testing in System Testing such as Black box and White box testing were in Black box testing the QA team focuses mainly on the main functionalities and looks out for the high-level mistake that could be present in the system. whereas in white box testing it is checked from the top to bottom to verify any logical or minor mistakes are present in the system.

There are other subtests such as Load Testing to check the performance of an application’s scalability on high traffic time and Usability Testing which might be carried on based on the scenario they are given.

User Acceptance Testing

The final testing in the testing lifecycle after going into production or live is User Acceptance Testing (UAT) where a real end-user tries on the product to experience the real environment and the flow of the product. Generally, this is the last phase of the testing lifecycle of the product. The reason for planning a UAT is to validate the business value is given to the product and the user can understand the built product without any challenges. Since it is an important phase of the testing life cycle, it is the responsibility of the QA team to carry out and note down the mistakes or absence of features to deliver out to the developer team in order to complete the life cycle successfully.

I hope that covers all the main types of testings that are mostly covered in the testing lifecycle. For further details, you can refer to this wonderful website to learn about Software Testing. If there is anything additional to the testing phases feel free to drop a comment. Happy to help and share my knowledge with yall. See you in a new article.

Cheers to ALL!!! 🥂🥂

--

--