0% found this document useful (0 votes)
24 views9 pages

Software Testing Lab Manual Overview

The document outlines a series of experiments focused on software testing for e-commerce applications, including creating test plans, designing test cases, executing tests, and reporting defects. It covers various methodologies such as performance testing with JMeter, automation using Selenium, and integrating Selenium with TestNG. Additionally, it discusses building reusable test frameworks using different testing approaches like Data-Driven, POM, and BDD.

Uploaded by

prithivipt
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)
24 views9 pages

Software Testing Lab Manual Overview

The document outlines a series of experiments focused on software testing for e-commerce applications, including creating test plans, designing test cases, executing tests, and reporting defects. It covers various methodologies such as performance testing with JMeter, automation using Selenium, and integrating Selenium with TestNG. Additionally, it discusses building reusable test frameworks using different testing approaches like Data-Driven, POM, and BDD.

Uploaded by

prithivipt
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

Software Testing Lab Manual

Experiment 1: Test Plan for E-Commerce Application


Aim: To create a comprehensive test plan for [Link].

Algorithm:

1. Understand application features.


2. Define scope, objectives, and resources.
3. Identify types of testing required.
4. Define entry/exit criteria and risk.

Procedure:

 Open Amazon and explore its features.


 Identify modules like login, search, cart, checkout.
 Create a document with test scope, environment, team, etc.

Result: A detailed test plan for Amazon with all standard components.
Experiment 2: Design Test Cases for E-Commerce Application
Aim: To design manual test cases for an e-commerce platform.

Algorithm:

5. Break down the application into features.


6. For each feature, create test cases.
7. Include input, expected output, and steps.

Procedure:

 Identify modules like login, search, add to cart.


 Write test cases with test steps, expected and actual results.

Result: Test case document covering multiple scenarios.


Experiment 3: Execute Test Cases and Report Defects
Aim: To execute test cases on [Link] and report bugs.

Algorithm:

8. Execute test cases.


9. Compare expected vs actual result.
10. Log bugs with proper severity and steps.

Procedure:

 Run test case TC001 (Login).


 If login fails with valid data → report defect.
 Use Excel or tools like JIRA/Bugzilla.

Result: Defect report with severity, description, and screenshots.


Experiment 4: Test Plan and Test Cases for Inventory Control System
Aim: To create a test plan and design test cases for an inventory management application.

Algorithm:

11. Identify modules (Add, Update, Delete, Reports).


12. Prepare test plan.
13. Write test cases for each function.

Procedure:

 Identify features of the inventory control system.


 Create a test plan and detailed test cases.

Result: Test plan and test case document for inventory app.
Experiment 5: Test Desktop/Client-Server App
Aim: To execute test cases on a desktop or client-server application and log defects.

Procedure:

 Choose a desktop app (e.g., Calculator, Notepad).


 Write test cases like 'check addition'.
 Run tests and note mismatches.
 Report defects.

Result: Defect report with observations.


Experiment 6: Performance Testing of E-Commerce App
Aim: To measure performance of an e-commerce website using JMeter.

Algorithm:

14. Open JMeter.


15. Create thread group, HTTP request, listeners.
16. Set users and duration.
17. Analyze results.

Result: Graph and metrics showing site response under load.


Experiment 7: Selenium Automation for E-Commerce Website
Aim: To automate product search on Amazon using Selenium WebDriver.

Sample Code:

WebDriver driver = new ChromeDriver();


[Link]("[Link]
[Link]([Link]("twotabsearchtextbox")).sendKeys("mobile");
[Link]([Link]("nav-search-submit-button")).click();

Result: Test executed and Amazon search automated successfully.


Experiment 8: Integrate Selenium with TestNG
Aim: To integrate TestNG with Selenium for test case management.

Sample Code:

@Test
public void testSearch() {
[Link]([Link]("twotabsearchtextbox")).sendKeys("Laptop");
}

Result: Tests executed using TestNG with better reporting.


Experiment 9: Mini Project (Framework Building)
Aim: To build different Selenium frameworks using TestNG, Apache POI, and Cucumber.

Procedure:

 a) Data-Driven: Use Excel with Apache POI or DataProvider.


 b) POM: Create Java classes for each page and reuse methods.
 c) BDD: Write .feature file, define steps, and run using Cucumber.

Result: Reusable and maintainable test frameworks developed.

Common questions

Powered by AI

Challenges include handling dynamic content, ensuring cross-browser compatibility, and managing frequent updates. These can be mitigated by using automation tools like Selenium for dynamic user interface testing and consistently updating test scripts to align with website changes. Leveraging robust test management tools and maintaining a flexible test plan can also help adapt to frequent updates.

The essential steps include understanding the application features, defining the scope, objectives, and resources, identifying necessary testing types, and defining entry/exit criteria along with potential risks. The plan involves opening Amazon, exploring modules such as login, search, and checkout, and then documenting the test scope, environment, team, etc.

Successful execution means the actual results match expected results, validating the application's functionality. If discrepancies occur, they must be accurately logged as defects with severity levels and steps to reproduce. This systematic defect reporting helps in prioritizing bug fixes and ensuring quality assurance processes remain transparent and effective.

Integration of Selenium WebDriver with TestNG allows the execution of automated test scripts with robust testing frameworks. TestNG offers detailed reporting, parallel test execution, and allows for assertions to validate test outcomes. The TestNG annotations simplify automation scripting and provide better test organization.

Performance testing is crucial to ensure that e-commerce applications can handle high traffic volumes, particularly during sales or peak shopping times. JMeter plays a key role by simulating multiple users, generating load to assess server response times, and providing detailed performance metrics and graphs to identify bottlenecks.

JIRA and Bugzilla provide structured formats for logging defects, where testers can attach severity levels, provide detailed descriptions of defects, uploads screenshots, and track the progress of defect fixes. This approach ensures defects are clearly communicated and managed efficiently.

Data-Driven testing focuses on parameterizing test scripts with different data inputs, often using tools like Apache POI to read from Excel files, which enhances reusability. BDD (Behavior-Driven Development) focuses on writing test cases in natural language using tools like Cucumber, fostering better collaboration between technical and non-technical teams. Both aim to improve test coverage and maintainability but operate at different abstraction levels.

Apache POI provides the ability to read and write Excel files in Java applications, facilitating the input of large datasets into test scripts. This integration enables testers to easily parameterize and run multiple scenarios, thus enhancing test coverage and flexibility without hardcoding data values into test scripts.

A .feature file written in Gherkin language describes test scenarios in understandable terms, aiding communication among stakeholders. Defining steps in Cucumber allows linking these scenarios to corresponding Java methods. This bridges the gap between technical implementation and business requirements, ensuring the application behavior aligns with user expectations.

POM enhances code reusability and maintainability by creating separate classes for each webpage, which encapsulates elements and behavior, reducing duplication. However, it increases upfront development time and complexity. Changes in the UI might require significant updates in the associated POM class, which can be burdensome without proper version control and documentation.

You might also like