Software Testing is a process in which identifying Completeness, Correctness, Security & Quality of software product takes place.
A software Tester must require a very different mindset from a developer.
Software Testing means that checking software or a application to make sure that it work properly before people start using it.
It helps in application to make it Reliable, Secure with user expectations for Business alignment.
The developer only builds the product as per the user needs but the tester need to check or test it from user or customer point of view whether it meets needs of user or not.
Software Testing is not just about finding Bugs, its about building trust, delivering excellence, values & a relation, reliable to user experience.
What is Software Application?
Software Application is a set of programs designed to perform a specific task for a specific user.
For example web browsers, MS office, Gmail, Makemytrip and so on the list is never ended.
Advantages of software application?
Finds Errors Early
Software testing helps detect bugs and defects before the software is released.
Improves Software Quality
Testing ensures the software works correctly, reliably, and efficiently.
Reduces Cost
Fixing errors during testing is cheaper than fixing them after release.
Ensures User Satisfaction
Bug-free and smooth software gives users a better experience.
Prevents Software Failure
Testing reduces the risk of crashes and failures in real-world use.
Additional Benefits of Software Testing?
Saves company reputation
Supports future scalability
Improves user experience (UX)
Lowers maintenance effort
Increases confidence in software release
Core components of Software Applications
1. User Interface (UI):
The user interface is the part of a software application through which users interact with the system.
Example: Login screen with username, password, and login button.
2. Role-Specific Functionality:
It means different users get different features in the software based on their role.
Example: An admin can edit or delete data, but a normal user can only view it.
3. Business Rules / Validation:
These are simple rules used to check data and decide how the software should work.
Example: A password must be at least 8 characters, or a user cannot withdraw more money than their balance.
4. Database:
A database is used to store and manage all the information of a software application.
Example: User details like name, email, and password stored in a MySQL database.
5. Reports:
Reports show data in a summarized or organized form to help understand information easily.
Example: A monthly sales report showing total orders and revenue.
6. Interface with Other Applications:
It allows one software application to communicate and share data with another application.
Example: An app connecting with a payment gateway to complete online payments.
7. Logs / Records:
Logs or records store details of system activities and errors for tracking and troubleshooting.
Example: Recording login time, logout time, or error messages in a log file.
8. Back-End Process:
Back-end processes are tasks that run in the background and are not visible to users.
Example: Automatically sending a confirmation email after a user registers.
Usage characteristics of Software Application
1. Performance Criticality:
It refers to how important speed, response time, and reliability are for a software application.
Example: An online payment system must process transactions quickly without delay.
2. Global Usage:
Global usage means the software is designed to be used by people from different countries and regions.
Example: A website supporting multiple languages and currencies for international users.
3. Compliance:
Compliance means the software follows required laws, rules, and industry standards.
Example: A banking application following data protection and security regulations.
4. Sensitive Data Handling:
It means protecting important and private user information from unauthorized access.
Example: Encrypting passwords and bank details in a database.
5. UI Criticality:
UI criticality means how important the user interface is for correct and easy use of the software.
Example: In a medical app, clear buttons and labels are critical to avoid user mistakes.
6. End User:
An end user is the person who finally uses the software application to perform tasks.
Example: A customer using a mobile banking app to transfer money.
Note:- Difference between usage characteristics and core components
Usage Characteristics:
Describe how and in what conditions the software is used.
Example: End users, performance criticality, global usage, compliance.
Core Components:
Describe the main building parts of the software application.
Example: User interface, database, business rules, reports, back-end processes.
Software Development Lifecycle (SDLC)
The Software Development Lifecycle (SDLC) is a structured process used to design develop and maintain high quality software. For example Waterfall model Align model.
1. Requirement Gathering:Problem: Users may not clearly explain their requirements, leading to misunderstanding.
Why it is important: Clear requirement gathering ensures the software is built correctly according to user needs.
2. Analysis & Design
Problem: Wrong understanding of requirements can lead to a poor system structure.
Why it is important: Analysis and design together ensure the software is planned correctly before development.
3. Design Phase
Problem: Poor design can cause confusion, errors, and rework later.
Why it is important: The design phase provides a clear blueprint for building the software correctly.
4. Implementation Phase
Problem: Coding errors or wrong logic may occur during development.
Why it is important: Implementation turns the design into a working software application.
5. Testing Phase
Problem: Undetected bugs can cause software failure after release.
Why it is important: Testing ensures the software works correctly and is error-free
6. Deployment Phase
Problem: Improper deployment can cause system downtime or user issues.
Why it is important: Deployment makes the software available for real users to use.
7. Maintenance Phase
Problem: New bugs or changes may be needed after release.
Why it is important: Maintenance keeps the software updated, stable, and usable over time.
Comments
Post a Comment