Types of Software Testing

Instructor: Alan Goodbrand

Alan has been an adult educator for over 20 years and has a Master's Degree in Software Engineering.

Can you think of any complex product that was built perfectly the first time, no defects? Me neither. This lesson will show you the different types of software testing used to eliminate bugs and improve the user experience.

Types of Software Testing

Software is the most complex product we as a species have ever built. Millions of lines of code are created every year and are used for everything from flying jet fighters and predicting weather to assisting in delicate surgery or adjusting your car engine to maximize fuel economy. Of course, let's not forget social media and playing candy crush. Something this complex cannot be created 100% correctly the first time. That's not how things are built. We must first determine the requirements of what we want to build, then figure out how to build it. Throughout this process we must be continuously checking to make sure that what we are building is what we want and that it works properly.

Unit Testing

Software is composed of modules or components, each of these designed and built separately. A developer who writes a module must test that particular module to verify that it behaves according to its requirements. This is referred to as Unit Testing. That is, the developer tests their own code independently of other modules.

Integration Testing

In software, modules talk to one another. They can do this by passing messages, sending transactions, etc. There are many ways of doing this, but the main idea is that modules communicate with one another. When the Unit Testing is complete, and developers believe their code is good, it's time for Integration Testing. Integration Testing involves making certain that modules that must communicate with each other can accomplish that task properly. Therefore, Integration Testing involves testing several modules together to make sure that they can properly communicate.

System Testing

Once Integration Testing is complete, the project moves onto System Testing. System Testing applies to all components, not just communication between pairs of modules. Do all modules work properly with each other?

Business Level Testing

Once System Testing is complete, we have a working piece of software. But does it do what it's supposed to? This is when Business Level Testing needs to be done by Business Analysts or professional testers. Business Level Testing means executing Test Scripts based on the requirements. Sure it works, but does it work As Required'? Test script writers examine the requirements and write scripts to be executed by testers. The writers also predict expected Results. In other words, the test script writers say that if you do A and B, then you should get C. If you get C, the test is a success. If you get something other than C, the test failed.

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account