Software Testing Module 1

     

Software Testing is  a Process in which identifying  Correctness, Completeness , Security and Quality of software Product takes place 

A software Tester Require a very different mindset from a Developer 

The developer builds the product as per customer needs but the tester actually test it from user point of view whether it meets certain needs or not by writing test cases

Software Testing is not just about finding Bugs but delivering excellence , trust and reliable user experience 

 


What are Software Applications?
Software application is a set of program designed to perform specific task for a specific purpose . For example web browsers, Ms office , Gmail, Makemytrip and so on the list is never ending .

Advantages of software applications 
Software applications offer advantages like boosting productivity through automation, improving collaboration with real-time sharing, cutting costs, enabling data-driven decisions, enhancing security, and providing scalability, while also making complex tasks more accessible, specialized, and convenient for users across many industries
 
Core components of Software applications 
  1. User Interface (UI)
    What users see and interact with.
    Example: The login screen of a food delivery app.

  2. Role-Specific Functionality
    Features available based on the user’s role.
    Example: Only the admin can add new products in an online store.

  3. Business Rules / Validation
    Rules that control what actions are allowed.
    Example: A bank app doesn’t allow withdrawing more money than your balance.

  4. Database
    Where all data is stored.
    Example: Customer details saved in a shopping website’s database.

  5. Reports
    Summarized data for analysis or records.
    Example: Monthly sales report in a retail system.

  6. Interface with Other Applications
    How one app talks to another app.
    Example: A payment gateway connecting an e-commerce site to a bank.

  7. Logs / Records
    System activity tracking for debugging or audits.
    Example: A log entry showing a user login time.

  8. Backend Process
    Tasks running in the background without user action.
    Example: Automatic email sent after placing an order.


Usage characteristics of software applications

  1. Performance Criticality – How fast and reliable the app must be.
    Example: Online trading app must process orders in milliseconds.

  2. Global Usage – Whether the app is used across different countries and time zones.
    Example: WhatsApp is used worldwide by users 24/7.

  3. Compliance – Whether the app must follow legal or industry rules.
    Example: A banking app must follow RBI and data-protection laws.

  4. Sensitive Data Handling – Whether the app stores or processes private or confidential data.
    Example: A hospital system storing patient medical records.

  5. UI Criticality – How important the user interface is for user satisfaction and usability.
    Example: A food-delivery app must be easy to use and visually clear.

  6. End-User – Who mainly uses the application.
    Example: An e-learning app used by students and teachers. 

Note :- Difference between usage characteristics and core components
core components are the structural, tangible, or functional building blocks that make up a system, while usage characteristics are the properties, behaviors, or qualities that define how that system is used, functions, and performs. 

               Software Development lifecycle( SDLC)

The Software Development Life Cycle (SDLC) is a structured process used to design, develop, and maintain high-quality software . For eg Water fall model , Agile model  .



1.Requirements Gathering
Problem was Unclear requirements lead to wrong product not as per user expectations so requirements gathering is the first and important phase in SDLC.

2.Analysis & Design 
Problem:If requirements are not clearly understood, the software may not match user needs.

Why it’s important:It helps gather correct requirements so the right system is built.

3. Design Phase

Problem:Without proper design, the system structure may be confusing, slow, or insecure.

Why it’s important:It defines how the system will work and look before coding starts.

4. Implementation Phase

Problem:Poor coding can cause bugs, security issues, and system crashes.

Why it’s important:It converts design into a working software application.

5. Testing Phase

Problem:Undetected errors can cause system failure after release.

Why it’s important:It finds and fixes bugs to ensure quality and reliability.

6. Deployment Phase

Problem:If deployed incorrectly, users may face installation or usage issues.

Why it’s important:It makes the software available for real users.

7. Maintenance Phase

Problem:Without updates, software becomes outdated or insecure.

Why it’s important:It improves performance, fixes bugs, and adds new features.




Comments

Popular posts from this blog

Software Testing Module 2

Assignment 1

Assignment 3