Testing Tools

Types of Software Testing: 20 Types Every Tester Should Know

Twenty testing types explained with a real example for each, grouped by level, purpose and approach, plus a table to decide which ones your project needs.

✍️ By QA Jobs India📅 9 Nov 2026⏱ 7 min read

Ask five testers to list the types of software testing and you will get five different lists. One person groups by level, another by purpose, a third mixes in techniques like boundary value analysis. Interviewers know this, which is why “Explain the types of testing you have done” is less about reciting a list and more about showing you understand when each type is useful.

This guide organises 20 types into four groups: testing levels, functional types, non-functional types and approach-based types. Each comes with a short, real-world example from an Indian context, such as a UPI payment app or a job portal, so you can explain it in your own words.

Key takeaways

  • Testing types are easier to remember when grouped: by level (unit to acceptance), by purpose (functional or non-functional) and by approach (manual, automated, exploratory).
  • Regression, smoke, integration and API testing are the types most freshers will actually do in their first job.
  • Non-functional testing such as performance, security and accessibility is a strong career specialisation.
  • No project uses every type. Choose based on risk, release frequency and the kind of product.
  • In interviews, always pair the definition with an example from a project you know.

How the types of software testing are classified

There is no single official list, but a common way to organise them is:

GroupQuestion it answersExamples
Testing levelsAt what stage and scope do we test?Unit, integration, system, acceptance
Functional typesDoes the feature do what it should?Smoke, sanity, regression, API, end-to-end
Non-functional typesHow well does it work?Performance, security, usability, accessibility, compatibility
Approach-based typesHow do we test?Manual, automation, exploratory, black box, white box

The ISTQB syllabus uses similar ideas of test levels and test types; the ISTQB website is the reference if you are preparing for certification.

Testing levels (types 1-4)

1. Unit testing

Developers test the smallest pieces of code, such as a function that calculates GST on an invoice, in isolation. Unit tests run in milliseconds and catch logic errors early. Testers rarely write them in service projects, but SDETs often review them.

2. Integration testing

Checks that modules work together. Example: the job portal’s “Apply” service correctly calls the resume parser and stores the parsed skills. Bugs here are often about data formats, missing fields or timeouts between services.

3. System testing

Tests the complete, integrated application against requirements in an environment close to production. This is where most manual testers in India spend their time: running end-to-end flows on a staging build.

4. User acceptance testing (UAT)

Business users or the client confirm the software meets their needs before go-live. For a bank’s loan app, UAT might be done by operations staff who will process real applications. UAT focuses on business flows rather than edge-case defects.

Functional testing types (types 5-11)

5. Functional testing

Verifies each feature against its requirement. Example: entering a valid PIN on a UPI app completes the payment and shows a success screen. Most test cases you write as a fresher are functional. Our guide on how to write test cases covers the format.

6. Smoke testing

A quick, broad check on a new build to decide whether it is stable enough for deeper testing. Can the app launch, can users log in, does the home page load? If smoke fails, the build goes back to developers.

7. Sanity testing

A narrow, focused check after a small change or bug fix. If developers fixed a coupon calculation bug, sanity testing confirms the fix and the areas immediately around it, without a full regression run.

8. Regression testing

Re-tests existing features after changes to make sure nothing that worked before has broken. Regression suites grow with every release, which is why they are the first candidates for automation.

9. Retesting

Running the exact failed test case again after a fix to confirm the defect is resolved. Retesting is about one specific bug; regression is about side effects across the application.

10. API testing

Tests the application’s APIs directly: request, response, status codes, data and error handling. Example: the POST /jobs/apply endpoint returns 201 with an application id for valid data and 400 for a missing resume. Our Postman API testing tutorial is a good starting point.

11. End-to-end testing

Follows a complete user journey across systems. For an e-commerce app: search, add to cart, apply a coupon, pay through a gateway, receive an order confirmation SMS and email. These tests are valuable but slow and fragile, so keep the number small and focused on critical journeys.

Non-functional testing types (types 12-17)

12. Performance testing

Measures speed, stability and resource use under expected load. Example: the results page of a government exam portal on result day. Performance testing is an umbrella that includes the next two types. See our JMeter tutorial for beginners to try it.

13. Load testing

Checks behaviour at expected peak load, such as 5,000 concurrent users during a flash sale, against agreed response-time targets.

14. Stress testing

Pushes beyond expected load to find the breaking point and see how the system fails and recovers. A good system degrades gracefully, for example by showing a queue message instead of crashing.

15. Security testing

Looks for vulnerabilities such as broken access control, injection and weak authentication. Even functional testers can check basics, like whether changing an order id in the URL shows someone else’s order. The OWASP Top 10 is the standard starting list.

16. Usability and accessibility testing

Usability testing checks whether real users can complete tasks easily. Accessibility testing checks whether people with disabilities can use the product, for example with a screen reader or keyboard only. Both matter more as products reach users across age groups and languages.

17. Compatibility testing

Verifies the app across browsers, devices, operating system versions and screen sizes. In India, this includes low-end Android phones with limited memory and slow networks, not just the latest flagship devices.

Approach-based testing types (types 18-20)

18. Manual vs automation testing

Manual testing is performed by a person following test cases or exploring. Automation uses scripts and tools to run checks repeatedly. They are not competitors: automation handles repetitive regression, while people handle new features, usability and investigation.

19. Exploratory testing

Simultaneous learning, test design and execution, usually time-boxed with a goal (a charter). Example: “Explore the refund flow for partial cancellations for 45 minutes.” Skilled exploratory testing often finds bugs that scripted tests miss.

20. Black box vs white box testing

Black box testing checks behaviour without looking at the code, using inputs and expected outputs. White box testing uses knowledge of the code, such as covering every branch of a discount rule. Grey box sits in between, for example using database knowledge to design UI tests.

Which types does your project need?

Use risk and context, not a checklist, to decide. This table is a starting point:

Project situationTypes to prioritise
New feature in sprintFunctional, exploratory, API, sanity
Every buildSmoke, automated regression
Before major releaseFull regression, end-to-end, performance, UAT
Payments or personal dataSecurity, API, negative functional tests
Consumer mobile appCompatibility, usability, performance on low-end devices
Public sector or large audienceAccessibility, load testing

How to talk about testing types in interviews

Interviewers usually ask a follow-up after the definition. Prepare in this pattern:

  1. Definition in one line. “Regression testing re-checks existing features after a change.”
  2. Example from your project. “When we added a new payment method, we ran the checkout regression suite.”
  3. What you found or decided. “It caught a bug where saved cards stopped showing for returning users.”

Also prepare the classic comparisons: smoke vs sanity, retesting vs regression, functional vs non-functional, and black box vs white box. Many manual testing interview questions are variations of these.

Where testing types fit in the STLC

Testing types are not separate from the process. During test planning, the team decides which types are in scope. During test design, test cases are written for each type. During execution, the order often goes smoke, functional and API, then regression, with non-functional testing scheduled where environments allow. Our guide to the software testing life cycle explains each phase.

🚀 Looking for software testing jobs?

QA Jobs India shares 100+ fresh QA & software testing openings every morning — manual, automation, API and remote roles.

See today’s QA jobs →

FAQs

What are the main types of software testing?

At a high level, testing is divided into functional and non-functional testing, performed at four levels: unit, integration, system and acceptance. Common functional types include smoke, sanity, regression and API testing; common non-functional types include performance, security and usability.

What is the difference between functional and non-functional testing?

Functional testing checks what the system does, such as whether a login succeeds with valid credentials. Non-functional testing checks how well it does it, such as how fast the login responds under load or whether it is secure.

Which type of testing is most important?

It depends on the product and risk. For most teams, regression testing is critical because it protects existing features with every release. For a payments product, security and API testing may matter as much.

Is regression testing manual or automated?

Both. Teams usually automate stable, high-value regression cases and keep manual regression for areas that change often or are hard to automate. Over time, the automated share usually grows.

Which testing types should freshers learn first?

Start with functional, smoke, sanity, regression and basic API testing, since these are what most entry-level roles involve. Then add one non-functional area, such as performance or accessibility, to stand out.

Conclusion

Pick an app you use daily, such as a food delivery or banking app, and write one example test idea for each of the 20 types above. That single exercise will make your interview answers concrete and help you see which type of testing you might want to specialise in.

SIGN UP ONCE
Once you sign up, you get all this
Sign up now
  • 100+ fresh QA jobs daily + Direct HR email IDsLive every morning at 9 AM — apply straight to HR
  • Weekly Mega Job Fair800+ QA jobs from India & around the world, every week
  • Certified QA coursesUp to 17 courses, with certificate
  • AI ATS Resume BuilderFree resume points included
  • Full LinkedQA feedEvery post, fully unblurred
  • Complete QA Material libraryInterview Q&A, cheat sheets, templates & roadmaps

Instant activation right after payment · One login for jobs, courses, resume & LinkedQA

💎 Get every QA opening, every day

Join QA Jobs India Premium for 100+ verified QA jobs daily with HR contact details.

✓ You're subscribed — job alerts arrive daily at 9 AM
Scroll to Top