Oct 05

Types of Software Testing

Software Testing

Software testing is generally classified into two main broad categories: functional testing and non-functional testing. There is also another general type of testing called maintenance testing.

  1. Functional Testing

Functional testing involves the testing of the functional aspects of a software application. When you are performing functional tests, you have to test each and every functionality. You need to see whether you are getting the desired results or not.

There are several types of functional testing, such as:

  • Unit testing
  • Integration testing
  • End-to-end testing
  • Smoke testing
  • Sanity testing
  • Regression testing
  • Acceptance testing
  • White box testing
  • Black box testing
  • Interface testing

Functional tests are performed both manually and using automation tools. For this kind of testing, manual testing is easy, but you should use tools when necessary.

  1. Non-functional Testing

Non-functional testing is the testing of non-functional aspects of an application, such as performance, reliability, usability, security, and so on. Non-functional tests are performed after the functional tests.

With non-functional testing, you can improve your software’s quality to a great extent. Functional tests also improve the quality, but with non-functional tests, you have the opportunity to make your software even betterThis kind of testing is not about whether the software works or not. Rather, it’s about how well the software runs, and many other things.

Non-functional tests are not generally run manually. In fact, it’s difficult to perform this kind of tests manually. So these tests are usually executed using tools.

There are several types of non-functional testing, such as:

  • Performance testing
  • Security testing
  • Load testing
  • Compatibility testing
  • Usability testing
  • Scalability testing
  • Volume testing
  • Stress testing
  • Maintainability testing
  • Compliance testing
  • Efficiency testing
  • Reliability testing
  • Disaster recovery testing
  • Localization testing

Black-box testing

Black-box testing is simply testing as if the software itself was a black box. It is one of the most common forms of testing—and really a way to describe a whole category of testing—is black-box testing. When you do black-box testing, you are only concerned with inputs and outputs. You don’t care how the actual outputs are derived. You do not know anything about the code or how it works, just that for a given set of inputs into the software, a given set of outputs should be produced.

White-box testing

Real white-box testing is when you understand some of the internals of the system and perhaps have access to the actual source code, which you use to inform your testing and what you target. White-box testing is pretty much the opposite of black-box testing. With white-box testing, you have at least some idea of what is going on inside the software.

Acceptance testing

The basic idea of acceptance testing is that you have some tests which test the actual requirements or expectations of the customer, and other tests that run against the system as a whole. Sometimes it’s called user acceptance testing (UAT). Sometimes it is called system testing. This kind of testing could be testing the functionality of the system or it could be testing the usability or both. The idea is that acceptance testing tests what is expected versus what actually happens.

Exploratory testing

The idea behind exploratory testing–when done correctly–is that you have some guidelines and a basic plan of which application areas you are going to test and ways you are going to test them.

Then, you go about without actual test cases and explore the application, looking for things that might be wrong or behavior that is unexpected.

Compatibility testing

Compatibility testing involves compatibility checking of the software with different operating systems, web browsers, network environments, hardware, and so on. It checks whether the developed software application is working fine with different configurations.

Ad-hoc testing

As the name suggests, ad-hoc testing is a kind of testing that is performed in an ad-hoc manner, without using any test cases, plans, documentation, or systems. Unlike all other types of testing, this kind of testing is not carried out in a systematic manner.

Call Logitrain on 1800 159 151 today.


Looking for an IT Job?

Please call us on 1800 159 151, or complete the form below.

  • This field is for validation purposes and should be left unchanged.

Recent Posts

The supply of this course/package/program is governed by our terms and conditions. Please read them carefully before enrolling, as enrolment is conditional on acceptance of these terms and conditions. The sale price is valid for registrations between 01 Dec and 10 Jan.


Find out why we are the leading choice to help boost your career in Australia

Prepare to get IT job ready in 8 weeks

Trained 10,000+ professionals and counting

Experienced Provider: Operating Since 2004

Trained staff from 1000+ Australian Businesses

We Have Placed Candidates In

Over 1000 organisations have relied on Logitrain to be their trusted training partner.

High-quality, cost-effective training in Australia
Learn More
  • This field is for validation purposes and should be left unchanged.

Dont’ Wait. Fill the form for a free no-obligation information session with our course specialists.

About The Author

Train with Confidence with our Price Beat Guarantee

Hurry, Covid discounts on Job Programs end soon

Open chat