Software Testing

vishnu bharath - Aug 23 - - Dev Community

Software testing is the process of verifying a software application or a product. The Main Purpose of Software Testing is to verify whether the product is actually working according to Business Unit or Stake holders Requirement.

The Main Objectives for software Testing are to,

• Defect Identification
• Quality Assurance
• To Enhance User Experience.

Things to know about Software Testing:

Software Development Life Cycle,

  1. Requirements Gathering and Analysis:

    • Gather and analyze the report from stake holder or Business Unit.
    • Understanding the documents and Requirements according to Business unit or stake Holder need.
  2. System Design:
    - Architecture designs or map according to the document from Business unit.

  3. Development:
    - Where Developers Write and compile code based on the design documents.

  4. Testing:

As like First step, Requirement and Gathering, Testing also need to be analyzed and documented according to Business unit requirement.

  • Identify and fix defects to ensure the software meets quality standards.
  • Understand and analyse testing requirements based on the project specifications.
  • Develop a test strategy and plan, including test objectives, scope, resources, schedule, and risk management.
  • Create detailed test cases, test scripts, and test data based on requirements and design specifications.
  • Execute the test cases and log results, defects, and observations.
  • Identify, document, and report defects or issues found during testing.
  1. Deployment:
    Release the software to the production environment and for
    user experience.

  2. Maintenance:
    - Ensure whether the product functions according to the
    Requirements and address any issues.
    - Bug Fixes: Resolve any defects or issues identified
    post-deployment.
    - New requirement: If there is any new requirement,
    Architecture will add it to system design.

SDLC MODEL:

1.Waterfall Model:
-Sequential way of approach
-Each phase must be completed before next phase
-Only fixed requirements can be added no new requirements can
be added.

2.V model:
-V model is an extension of water fall model.
-We can verify and validate in any phase.

3.Agile Model:
-Agile methodology work according to program increment.
-Works according to Sprint. So each sprint a list of tasks and
items selected from the product backlog to be completed
during a sprint.
-Product backlog items during a sprint, including the work
from previous sprint.

4.Spiral Model:
-The Spiral Model works according to multiple iterations.
-Spiral Model address risks early due to multiple iterations.
-Each iteration analysis phase to evaluate potential problems.
-Program increments for each and every iteration.

Relevance of Software Testing:

Software Testing ensures whether software application meets its requirements and functions correctly.

  1. Ensures Quality
    -Identifies defects, errors, or issues in the software before it
    reaches the end users.
    -In my current MNC, I used to do various types of testing, so
    that the software performs consistently under different
    conditions.

  2. Validates Requirements
    -Includes checking that all features work as intended and that
    the software behaves correctly under various scenarios.
    -Validates that the software aligns with business requirements
    and user needs.

  3. User Satisfaction
    -Testing assesses the user experience to ensure that the
    software is intuitive and user-friendly, which contributes to
    higher user satisfaction and adoption.
    -Ensures that the software meets performance expectations,
    responsiveness, which enhances user experience.

Conclusion:

Software testing is a fundamental for a project which ensures that software products meet user expectations. Software testing impact on user satisfaction and the successful delivery of high-quality software solutions.

.
Terabox Video Player