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

What is Software Testing

Software Testing

Uploaded by

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

What is Software Testing

Software Testing

Uploaded by

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

What is Software Testing?

Software Testing is the process of verifying whether the developed application meets the client's
required functionalities.

Types of Software Testing:

1. Manual Testing:

o Explanation: This type of testing involves checking the application manually, without
any automated tools. Testers play the role of end-users and verify whether the
application works as expected.

o Process: Testers execute test cases and scenarios manually, checking for bugs or
issues by interacting with the application. They document the results and any defects
they find.

o When to Use: It's useful in the early stages of development, for exploratory testing,
and in scenarios where the cost or effort of automation is not justified.

2. Automation Testing:

o Explanation: In this type of testing, testers use automated tools and scripts to verify
the application. It involves writing scripts that automatically execute test cases,
compare the actual results with expected outcomes, and report any discrepancies.

o Process: Automation involves creating and running test scripts using specialized
software tools like Selenium, QTP, or LoadRunner. These tools simulate user actions
and check if the application behaves correctly.

o When to Use: It's ideal for repetitive tasks, regression testing, performance testing,
and large-scale applications where manual testing would be time-consuming and
error-prone.

What is SDLC (Software Development Life Cycle)?

The Software Development Life Cycle (SDLC) is a framework that outlines the stages involved in the
development and maintenance of software.

Roles:

 Business Analyst (BA): Typically found in service-based companies.

 Product Owner (PO): Typically found in product-based companies.

Stages of SDLC:

1. Requirement Gathering: Collecting the software requirements from stakeholders.

2. Designing Phase: Creating the architecture and design of the software.

3. Implementation/Development Phase: Writing the actual code and developing the


application.
4. Testing Phase: Testing the software to ensure it meets the required standards and
functionalities.

5. Deployment/Delivered Phase: Deploying the software to a production environment.

6. Maintenance Phase: Ongoing maintenance and updates to the software post-deployment.

What is STLC (Software Testing Life Cycle)?

Software Testing Life Cycle (STLC) is a sequence of specific activities conducted during the testing
process to ensure software quality.

Verification Scenarios:

 A) Verify the application with valid credentials.

 B) Verify the application with a valid user and an invalid password.

 C) Verify the application with an invalid user and an invalid password.

 D) Verify the application by clicking on the submit button when both user and password
fields are blank.

Phases of STLC:

1. Requirement Gathering Phase: Collecting the testing requirements from stakeholders.

2. Test Case Creation Phase: Writing detailed and comprehensive test cases based on
requirements.

3. Test Environment Setup: Preparing the testing environment where the application will be
tested.

4. Test Case Execution: Executing the test cases to find defects.

5. Defect Logging Phase: Logging defects found during testing for developers to address.

6. Test Cycle Closure: Concluding the testing cycle after verifying all defects have been resolved.

Bug/Defect Life Cycle

The Bug/Defect Life Cycle refers to the stages a defect goes through from its identification to its
closure.

Bug Report: Flipkart Project

 Project Name: Flipkart

 Summary: "Add to Cart" Functionality Not Working

 Interface: Add to Cart

 Version: 1.2

 Environment: Testing

 Labels: xyz name

 Description:
o Steps to Reproduce:

 Open the app.

 Select any product.

 Click on the "Add to Cart" button.

o Problem Statement: Clicking the "Add to Cart" button results in an error.

 Assignee Name: Developer name

 Defect Category:

Stages of Bug/Defect Life Cycle:

1. New: When a defect is identified for the first time.

2. Assign to Developer: The defect is assigned to a developer for fixing.

3. Open: The developer begins working on the defect.

4. Deferred: The defect is postponed for fixing in the next release due to low priority.

5. Duplicate: The defect is marked as duplicate if it has already been raised in conjunction with
another issue.

6. Rejected: The defect is rejected by the developer if it is not valid.

7. Fixed: The developer has fixed the defect.

8. Retesting: The tester retests the application to ensure the defect is fixed.

9. Verified: The defect is verified to be fixed and working correctly.

10. Closed: The defect is closed after successful verification.

Functional & Non-Functional Testing

Functional Testing: This involves verifying the client-required functionality of the application.

 Unit Testing: Performed by developers to verify their developed functionality.

 Smoke Testing: Also known as BVT (Build Verification Test), Surface Level Testing, or Initial
Level Testing. It involves verifying the "happy flow" of the application to ensure it is testable
for further levels of testing.

 Sanity Testing: Conducted when there is limited time to test the entire application. It focuses
on testing the critical functionality only.

 Re-Testing: This involves verifying any functionality again after an issue has been fixed.

 Regression Testing: When new functionality is added or bugs are fixed, regression testing
ensures the new functionality and related functionalities work as expected, without
negatively impacting other parts of the application.

 Integration Testing: Performed when two or more modules are integrated, and their
integration is verified.
 Component Testing: Involves verifying each and every functionality in detail.

 GUI Testing (Graphical User Interface): Focuses on verifying the application's look and feel to
ensure it meets the required specifications.

Non-Functional Testing Types:

1. Performance Testing: Verifying the application's performance during execution, often using
tools like JMeter.

2. Load Testing: Verifying the application's behavior under a particular or average load, typically
using tools like JMeter or LoadRunner.

3. Stress Testing: Checking the application's performance under extreme conditions, beyond
normal operational capacity, to determine how much load the system can handle.

4. Security/Penetration Testing: Identifying vulnerabilities and potential points of attack in the


application to ensure it is secure against hacking or data theft.

5. Usability Testing: Assessing how easy and user-friendly the application is to use.

6. Scalability Testing: Testing the application's ability to handle increased and decreased traffic
to see how it behaves under varying loads.

7. Accessibility Testing: Ensuring the application can be accessed and used by as many people
as possible, including those with disabilities.

8. Volume Testing: Testing the application to see how it performs when many users run it
simultaneously on different machines with the same credentials.

You might also like