software testing lab mannual (1)
software testing lab mannual (1)
1. Product Analysis:
areas.
3. Defining Objectives:
● To Ensure that all core features of the Amazon website are working as
before launch.
● Functional: All core features must work without errors or unexpected behaviour.
● Test Cases: Detailed test scenarios for functional and usability testing.
retesting.
1. Product Search:
2. User Authentication:
RESULT : Thus the test cases are successfully verified and executed .
EXP3: Test the e-commerce application and report the defects in it.
AIM: To test the e-commerce website and to report the defects in it.
PROCEDURE:
To find defects in an e-commerce website through manual testing,
begin with a structured approach. First, thoroughly review the website's
requirements and specifications to gain a clear understanding of its expected
behaviour. Next, devise comprehensive test cases covering critical functions
such as product search, cart management, and checkout processes. Execute
these test cases systematically, recording any discrepancies between the
expected and actual outcomes. Pay special attention to user interface
elements, navigation, and data handling. Keep detailed defect logs, including
issue descriptions, steps to reproduce, and screenshots for clarity.
Additionally, perform usability testing to evaluate user-friendliness and
responsiveness across different devices and browsers. Conduct security testing
to identify vulnerabilities like data leaks or injection risks. Verify
compliance with data privacy regulations and test for localization and
accessibility to ensure a broader user reach. Assign severity and priority levels to
each defect discovered, facilitating efficient resolution. Finally, document all
defects using a standard defect reporting template, sharing these reports with
the development team for prompt resolution. Continuous feedback and iterative
testing are key to enhancing the e-commerce website's quality and reliability.
OUTPUT:
BUG 1 :
An issue has been identified where the product 'pencil case' displays a single
image, but the accompanying images shown are of an unrelated product,
'bathrobe”. This inconsistency is categorised as a bug due to its deviation from
expected behaviour.
BUG 2 :
An issue has been identified where a product lacks a preview image. This is
categorised as a bug since a preview image is a fundamental component of the
user interface and essential for users to make informed decisions when browsing
or shopping on the platform. The absence of a preview image can negatively
impact the user experience, as customers rely on visual cues to assess a
product's appearance and make purchasing decisions. Therefore, this bug should
BUG 4:
An issue has been identified in the application of filters on the platform.
Specifically, when the 'College Books' filter is applied, the search results include
'Colouring Book for Kids,' which is not aligned with the selected filter criteria.
This inconsistency in the filter's functionality is categorised as a bug. Filters are
designed to refine search results based on specific user preferences, and this
deviation from expected behaviour may lead to user
confusion and misrepresentation of available products. Therefore, it is
imperative to address this bug to ensure accurate and coherent filtering within
the platform.
BUG 5 :
A bug has been identified in the behaviour of the filter button located adjacent
to the search box. When a user sets a specific filter, such as 'Baby,' and
conducts a search, the filter is automatically changed to 'All' irrespective of the
search query. Consequently, the displayed results do not align with the user's
selected filter preference. For instance, if a user selects 'Baby' as the filter and
performs a search for 'Oil,' the filter is reset to 'All,' and the results may include
unrelated products like 'Food Oil' instead of 'Baby Oil.' This inconsistency in
filter retention is considered a bug, as it disrupts the expected functionality of
filters and may lead to user dissatisfaction and difficulty in locating desired
products. It is crucial to address this issue promptly to ensure that filters remain
set as per the user's selection.
BUG 6:
In the context of the platform's filtering system, a defect has been identified
when applying price filters. Specifically, when a user selects a price filter, such
as 'Below 250,' products with prices exceeding this limit are still displayed in the
search results. This discrepancy between the applied filter and the actual results
is considered a bug. Filters serve as essential tools for users to refine product
searches based on specific criteria, in this case, price. When the system fails to
accurately restrict results according to the chosen filter, it compromises the
reliability of the filtering feature, potentially leading to user frustration and
misrepresentation of product availability. It is essential to rectify this issue to
ensure consistent and accurate filtering functionality across the platform.
BUG 7 :
BUG 9 :
There is a detected issue where the 'Sort by' option has been set to 'Low to High'
price, but the displayed prices are not in the expected ascending order. This
deviation from the anticipated behaviour is identified as a bug. However, the
current sorting implementation
results in mixed-up prices, which can lead to user frustration and
misrepresentation of product affordability.
Bug 10:
In the context of user navigation within the platform, a notable issue has been observed when
transitioning from the homepage, featuring promotional offers for 'Airpods,' to the dedicated 'Airpods'
section. Upon reaching the 'Airpods' section, the filter bar displays product categories, but it does not
include a filter option specifically related to 'Airpods' products. This inconsistency is classified as a
bug.
RESULT : Thus the defects have been reported and reviewed successfully .
EXP4: Develop the test plan and design the test cases for an inventory control
system.
AIM: Develop the test plan and design the test cases for an
inventory control system.
RESULT : Thus the test plan and test cases are successfully developed and reviewed .
EXP5:Execute the test cases against a client server or desktop application
and identify the defects.
Test Cases:
● Login Functionality
○ Test Case 1: Verify that a user can log in with a valid Gmail account.
○ Test Case 2: Verify that login fails with an invalid password.
○ Test Case 3: Verify that login fails with an invalid username.
● Email Composition
○ Test Case 4: Compose a new email and send it to a valid recipient.
○ Test Case 5: Compose a new email and attach a file to it.
○ Test Case 6: Verify that email composition is not allowed without entering a
recipient's email address.
● Inbox Functionality
○ Test Case 7: Check the inbox for new emails.
○ Test Case 8: Open an email from the inbox.
○ Test Case 9: Delete an email from the inbox.
● Search Functionality
○ Test Case 10: Search for a specific email by subject.
○ Test Case 11: Search for emails from a specific sender.
○ Test Case 12: Search for emails containing specific keywords.
● Attachments and Download
○ Test Case 13: Open an email with an attachment and download the
attachment.
○ Test Case 14: Verify that the downloaded attachment can be opened
successfully.
Procedure:
● Open a web browser and navigate to the Gmail website (https://mail.google.com/).
● Log in to your Gmail account using the provided credentials or your test account.
● Execute each test case as described in the lab manual, following the
steps meticulously.Note any unexpected behaviour, errors, or defects
encountered during the test execution.
Defect Identification:
● Defect 1: In Test Case 10, searching for emails by subject does not
return the expected results.
● Defect 2: In Test Case 12, searching for emails by subject does not
return the expected results.
● Defect 3: In Test Case 14, The attachment download process encounters
an error. When attempting to open the downloaded attachment, an
error message appears, indicating that the file is corrupted or
inaccessible.
RESULT : Thus the test cases are successfully executed and reviewed .
EXP 6 :Test the performance of the e-commerce
1. Product Search:
Following are the steps for defining a JMeter Test Plan for Product Search thread:
Step 1: Add one thread group inside test. Name that thread group as “Product Search”.
Step 2: Then add User Defined Variables and HTTP request defaults Config elements.
VARIABLE_VALUE_OF_PRODUCT ${ P(VARIABLE_VALUE_OF_PRODUCT)}
VARIABLE_VALUE_OF_PRODUCT_NA ${ P(VARIABLE_VALUE_OF_PRODUCT_NAM
ME E)}
COUNT ${ P(COUNT, 0)}
CATEGORY_STRING ${ P(CATEGORY_STRING,Gizmos&Widgets)}
Step 3: Add one loop controller (with loop count of 2) for iterating each thread for
searching products two times. Inside the loop controller, add one HTTP request
Step 4: Add one BeanShell PostProcessor to randomize the product search and
If this variable is “1” then go for keyword search and if “2” then go for category search.
and POST data request to go for keyword search. Parameters to be posted are as
follows:
Parameter Name Value of Parameter Details about
parameter
dynamically
fetched using
BeanShell
defined
variables
VIEW_SIZE 10 Number of
results per
page
pagination
SEARCH_CATEGORY_ID CATALOG1_SEARCH
SEARCH_OPERATOR OR
Step 7: Add the following BeanShell script inside keyword search request to
productListInString.split( "&" );
{ count = 0 ;
vars.put( "VARIABLE_VALUE_OF_PRODUCT" ,
productListArray[count]);
Step 8: Add one Regular expression extractor to extract the value of the product
page url from the rendered page after search result to hit the product page. It
“VARIABLE_VALUE_OF_PRODUCT” variable.
search is we pickup category url from main page itself and randomize the category
Step 11: After that we add some pause timer and then we stop the thread. Total
structure and BeanShell of randomizing the category page url will look like the
following picture:
ALGORITHM :
SOURCE CODE :
from selenium import webdriver
from selenium.webdriver.common.keys
import Keys from
selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.amazon.in/")
search_bar = driver.find_element(By.ID,"twotabsearchtextbox")
search_bar.clear()
search_bar.send_keys("slipper")
time.sleep(5)
search_bar.send_keys(Keys.RETURN)
print(driver.current_url)
driver.close()
OUTPUT:
ALGORITHM :
SOURCE CODE :
from selenium import webdriver
from selenium.webdriver.common.by import
By import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.amazon.in/")
element = driver.find_element(By.LINK_TEXT, "See all
offers") time.sleep(5)
element.click()
time.sleep(5)
print(element)
driver.close()
OUTPUT:
ALGORITHM :
SOURCE CODE :
from selenium import webdriver
from selenium.webdriver.common.by import
By import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.amazon.in/")
element = driver.find_element(By.XPATH,
'//*[@id="icp-nav-flyout"]/span/span[2]/span[1]') time.sleep(5)
element.click()
time.sleep(5)
print(element)
driver.close()
OUTPUT:
SOURCE CODE :
package TestNGPKG;
import
org.testng.annotations.*;
import
org.openqa.selenium.*;
import
org.openqa.selenium.chrome.*;
import
java.util.concurrent.TimeUnit;
if(driver.findElement(By.xpath("//*[@id="icp-nav-flyout"]/span/span[2]/
span[1]")).isDisplayed()
)
{System.out.println("LANGUAGE BUTTON IS WORKING");}
}
@AfterClass
public void afterClass()
{
driver.quit(); // To Close the Application....
}
}
OUTPUT: