0% found this document useful (0 votes)
4 views

software_testing

Software testing is essential to ensure that software functions correctly before reaching end-users, preventing failures, enhancing customer satisfaction, and ensuring safety. The Software Development Life Cycle (SDLC) includes a testing phase that verifies quality, while the Software Testing Life Cycle (STLC) follows a systematic approach to testing. Manual testing plays a crucial role in identifying user experience issues and ensuring correctness without automation.

Uploaded by

rs
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

software_testing

Software testing is essential to ensure that software functions correctly before reaching end-users, preventing failures, enhancing customer satisfaction, and ensuring safety. The Software Development Life Cycle (SDLC) includes a testing phase that verifies quality, while the Software Testing Life Cycle (STLC) follows a systematic approach to testing. Manual testing plays a crucial role in identifying user experience issues and ensuring correctness without automation.

Uploaded by

rs
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Software Testing

Introduction to Software
Software is a collection of programs designed to perform specific tasks. Examples include
websites, mobile applications, and enterprise systems. Any system that has a front-end, back-
end, and web services qualifies as software.

Why is Testing Important?


Imagine purchasing an electronic device like a television or a refrigerator, only to find out it
doesn’t work. This would be frustrating, right? Testing ensures that software functions correctly
before reaching end-users.

Key Reasons for Software Testing:


● Prevention of Failures: Bugs in a live production environment can damage a
company’s reputation and lead to financial losses.
● Safety and Security: In critical industries (e.g., aviation, healthcare, automobiles),
software defects can be fatal.
● Customer Satisfaction: A well-tested product enhances user experience and brand
credibility.
● Cost Efficiency: Identifying and fixing defects during development is much cheaper
than post-release fixes.

Key Terminologies in Software Development


1. Client, Vendor, and End-User
● Client (Customer): The entity that requests the software development.
● Vendor: The IT company that develops the software for the client.
● End-User: The final users of the software (e.g., customers using a banking app).

Example:
● HDFC Bank needs a new banking app but lacks software development expertise.
● It hires an IT company to develop the application based on its requirements.
● Here, HDFC is the client, the IT company is the vendor, and the bank's customers
are the end-users.
Software Development Life Cycle (SDLC)
Any software product follows a structured development process:

1. Requirement Analysis – Understanding customer needs.


2. Design – Creating architecture and user interface layouts.
3. Coding – Development by engineers.
4. Testing – Verifying correctness and quality.
5. Deployment – Releasing the product for customer use.

Testing is a crucial phase in SDLC to ensure quality before deployment.

Types of IT Companies: Project-Based vs. Product-Based


1. Project-Based Companies (Service-Based IT Companies):
○ Develop custom software solutions for specific clients.
○ Examples: TCS, Infosys, Wipro, Accenture.
○ Example Analogy: A tailor stitching a custom dress for a specific client.
2. Product-Based Companies:
○ Develop software for mass-market usage.
○ Examples: Microsoft (Windows, MS Office), Google (Google Docs, Android OS).
○ Example Analogy: Buying a readymade garment from a store.

Software Testing Life Cycle (STLC)


Testing is not just a single step but follows a systematic approach:

1. Test Planning – Defining testing strategy and scope.


2. Test Design – Creating test cases and test scripts.
3. Test Execution – Running test cases.
4. Defect Identification & Reporting – Logging and tracking bugs.
5. Test Closure & Reporting – Finalizing test results and reports.

Why Testing is Crucial in the Real World?


● Imagine buying a new car, and the engine fails after purchase. The frustration would be
immense.
● Software that isn’t tested properly can lead to poor user experience and negative
feedback (e.g., poor reviews in app stores).
● Proper testing ensures quality and minimizes risks before release.

Objective of Testing:

● Deliver a high-quality, defect-free product.


● Ensure customer satisfaction and reliability.

Introduction to Manual Testing


Manual Testing is the process of manually executing test cases without using automation tools.
It is the first step in software testing and helps understand software behavior in real-world
conditions.

Key Aspects of Manual Testing:

● Identifies user experience issues.


● Ensures correctness without relying on scripts.
● Suitable for exploratory and usability testing.

Conclusion: Software testing is a vital phase in the software development lifecycle. Whether
working on a project-based or product-based system, testing ensures that software meets
business and user expectations, enhances brand reputation, and prevents costly failures.

You might also like