Types of Software Testing

Advertisements

What is Software Testing V-Model in Software Testing

Types of Software Testing

Software Testing is a method to check whether the actual software product matches expected requirements and to ensure that software product is Defect free. The purpose of software testing is to identify errors, gaps or missing requirements in contrast to actual requirements. Mainly two types of software testing manual testing and automation testing.

types of software testing

Types of Software Testing

There are mainly two types of software testing, they are;

Manual Testing: Test Cases executed manually. Manual testing is the process of testing the software manually to find the defects. Tester should have the perspective of an end-user and to ensure all the features are working as mentioned in the requirement document. In this process, testers execute the test cases and generate the reports manually without using any automation tools.

Types of Manual Testing

  • Black Box Testing
  • White Box Testing
  • Gray Box Testing
  • Unit Testing
  • System Testing
  • Integration Testing
  • Acceptance Testing

Black Box Testing: Black Box Testing is a software testing method in which testers evaluate the functionality of the software under test without looking at the internal code structure. This can be applied to every level of software testing such as Unit, Integration, System and Acceptance Testing:

White Box Testing: White Box Testing is also called Glass Box, Clear Box, and Structural Testing. It is based on application's internal code structure. In white-box testing, an internal perspective of the system, as well as programming skills, are used to design test cases. This testing usually done at the unit level.

Gray box testing: Grey Box Testing or Gray box testing is a software testing technique to test a software product or application with partial knowledge of internal structure of the application. The purpose of grey box testing is to search and identify the defects due to improper code structure or improper use of applications.

Unit Testing: Unit Testing is also called as Module Testing or Component Testing. It is done to check whether the individual unit or module of the source code is working properly. It is done by the developers in developer's environment.

System Testing: Testing the fully integrated application to evaluate the systems compliance with its specified requirements is called System Testing AKA End to End testing. Verifying the completed system to ensure that the application works as intended or not.

Integration Testing: Integration Testing is the process of testing the interface between the two software units. Integration testing is done by three ways. Big Bang Approach, Top Down Approach, Bottom-Up Approach.

Acceptance Testing: It is also known as pre-production testing. This is done by the end users along with the testers to validate the functionality of the application. After successful acceptance testing. Formal testing conducted to determine whether an application is developed as per the requirement. It allows customer to accept or reject the application. Types of acceptance testing are Alpha, Beta & Gamma.

System Testing: Testing the fully integrated application to evaluate the system's compliance with its specified requirements is called System Testing AKA End to End testing. Verifying the completed system to ensure that the application works as intended or not.

Unit Testing: Unit Testing is also called Module Testing or Component Testing. It is done to check whether the individual unit or module of the source code is working properly. It is done by the developers in the developer's environment.

Acceptance Testing: It is also known as pre-production testing. This is done by the end-users along with the testers to validate the functionality of the application. After successful acceptance testing. Formal testing conducted to determine whether an application is developed as per the requirement. It allows the customer to accept or reject the application. Types of acceptance testing are Alpha, Beta & Gamma.

When do you prefer Manual Testing over Automation Testing?

  • When the project is in the initial development stage.
  • When testing user interfaces especially their visual aspects.
  • If the project is a short term and writing scripts will be time-consuming when compared to manual testing
  • When exploratory or Adhoc testing needs to be performed.
  • If the test case is not automatable. Example captcha.

Advantages of Manual Testing

  • Manual testing can be done on all kinds of applications
  • It is preferable for short life cycle products
  • Newly designed test cases should be executed manually
  • Application must be tested manually before it is automated
  • It is preferred in the projects where the requirements change frequently and for the products where the GUI changes constantly
  • It is cheaper in terms of initial investment compared to Automation testing
  • Requires less time and expense to begin productive manual testing
  • It allows tester to perform adhoc testing
  • There is no necessity to the tester to have knowledge on Automation Tools

Disadvantages of Manual Testing

  • Manual Testing is time-consuming mainly while doing regression testing.
  • Manual testing is less reliable compared to automation testing because it is conducted by humans. So there will always be prone to errors and mistakes.
  • Expensive over automation testing in the long run

Automation Testing: Testing performed with the help of automation tools. Automation testing is the process of testing the software using an automation tools to find the defects. In this process, executing the test scripts and generating the results are performed automatically by automation tools. Some most popular tools to do automation testing are HP QTP/UFT, Selenium WebDriver, etc.

Popular Automation Testing Tools

  • HP QTP(Quick Test Professional)/UFT(Unified Functional Testing)
  • Selenium
  • LoadRunner
  • IBM Rational Functional Tester
  • SilkTest
  • TestComplete
  • WinRunner
  • WATIR

When do you prefer Automation Testing over Manual Testing?

  • To handle repetitive and time-consuming tasks
  • When there is a need of parallel testing
  • To do non-functional testing like load, performance, stress testing
  • To avoid human errors

Advantages of automated testing

  • Automation testing is faster in execution
  • It is cheaper compared to manual testing in the long run
  • Automated testing is more reliable
  • Automated testing is more powerful and versatile
  • It is mostly used for regression testing
  • It is reusable because the automation process can be recorded
  • Does not require human intervention. Test scripts can be run unattended
  • It helps to increase the test coverage

Disadvantages of Automated Testing

  • It is recommended only for stable products
  • Automation testing is expensive initially
  • Most of the automation tools are expensive
  • It has some limitations such as handling captcha, getting visual aspects of UI such as fonts, color, sizes etc.,
  • Huge maintenance in case of repeated changes in the requirements
  • Not all the tools support all kinds of testing. Such as windows, web, mobility, performance/load testing

What is Software Testing V-Model in Software Testing

Google Advertisment

Buy This Ad Space @$20 per Month, Ad Size 600X200 Contact on: hitesh.xc@gmail.com or 9999595223

Magenet is best Adsense Alternative here we earn $2 for single link, Here we get links ads. Magenet

For Projects 9999595223

Google Advertisements


Buy Websites 9999595223

Buy College Projects with Documentation Contact on whatsapp 9999595223. Contact on: hitesh.xc@gmail.com or 9999595223 Try this Keyword C++ Programs

Advertisements