0% found this document useful (0 votes)
3 views4 pages

What is Software Testing

Software testing is the process of verifying that a software application functions as intended and is free from defects, aimed at improving quality, reliability, and security. It is categorized into manual testing, which involves human testers, and automation testing, which uses tools for efficiency. The testing process includes various types such as functional and non-functional testing, and follows a structured Software Testing Life Cycle (STLC).

Uploaded by

perarasu29012006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views4 pages

What is Software Testing

Software testing is the process of verifying that a software application functions as intended and is free from defects, aimed at improving quality, reliability, and security. It is categorized into manual testing, which involves human testers, and automation testing, which uses tools for efficiency. The testing process includes various types such as functional and non-functional testing, and follows a structured Software Testing Life Cycle (STLC).

Uploaded by

perarasu29012006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

What is Software Testing?

Software testing is the process of checking whether a software application works as


expected and is free from bugs or defects. It helps ensure that the software meets the
user's requirements and performs correctly in all expected situations.

The main goal of software testing is:

• To find and fix bugs

• To improve the quality of the software

• To ensure reliability, performance, and security before deployment

Types of Software Testing

Software testing is broadly classified into two main categories:

1. Manual Testing

Manual testing is done by a human without using any automation tools. The tester
checks the application by following test cases and verifies that the software behaves as
expected.

Types of Manual Testing:

• White Box Testing: Done by developers. They check internal code, logic, and
structure.

• Black Box Testing: Done by testers. They test functionality without looking at the
internal code.

• Gray Box Testing: A mix of white and black box testing. The tester knows partial
internal details.

2. Automation Testing

In automation testing, test cases are executed using software tools without human
effort. This is faster and useful for repetitive tests.

Popular Automation Tools:

• Selenium

• QTP (Quick Test Professional)


• TestComplete

• AutoIt

Other Major Testing Types

A. Functional Testing

Functional testing checks what the software does based on requirements.

1. Unit Testing – Testing individual parts (units) of code like functions or methods.

2. Integration Testing – Testing how different modules or components work


together.

3. Smoke Testing – Basic testing to check if the major features are working and
stable.

4. Regression Testing – Ensures that new changes don’t break existing features.

5. System Testing – Tests the complete system as a whole.

6. Acceptance Testing – Confirms the system is ready for real-world use. It


includes:

o Alpha Testing: Done internally.

o Beta Testing: Done by real users externally.

B. Non-Functional Testing

Non-functional testing checks how well the software works.

1. Performance Testing – Measures speed, responsiveness, and stability under


load.

2. Usability Testing – Checks how user-friendly the application is.

3. Compatibility Testing – Ensures it works on different devices, OS, and browsers.

4. Security Testing – Ensures the software is protected against threats and


vulnerabilities.

5. Portability Testing – Checks if the software can be moved to different


environments easily.

Software Testing Life Cycle (STLC)


STLC consists of several phases that guide how testing is done in an organized manner:

1. Requirement Analysis – Understand what needs to be tested.

2. Test Planning – Create a plan, estimate time and resources.

3. Test Case Development – Write test cases and prepare data.

4. Test Environment Setup – Set up the environment where tests will run.

5. Test Execution – Run test cases and report results.

6. Defect Reporting & Retesting – Fix bugs and retest the issues.

7. Test Closure – Prepare reports and learn from the process.

Advanced Testing Types

• Keyword-Driven Testing – Uses keywords to perform test steps.

• Data-Driven Testing – Uses multiple sets of data inputs for the same test.

• Deployment Testing – Ensures the software is correctly installed and configured


in the production environment.

Manual vs Automation Testing

Feature Manual Testing Automation Testing

Speed Slow Fast

Human
Required Minimal
Involvement

Accuracy Prone to error Highly accurate

Cost (initial) Low High (tool costs, setup)

Exploratory, usability, ad-hoc Repetitive and large volume


Best For
testing testing

Functional vs Non-Functional Testing


Feature Functional Testing Non-Functional Testing

Focus What software does How software performs

Based on Business requirements Performance expectations

Easy to do manually Yes Usually requires tools and automation

You might also like