0% found this document useful (0 votes)
4 views

Assignment 9 QA

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Assignment 9 QA

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Assignment # 9

SUBMITTED BY: Muhammad Sarfraz


SUBMITTED TO: MA’M Hamnah Anwar

Task 1: Gathering of Test Data


Requirement Analysis:
The Food Delivery Application includes four primary features to test:

1. User Account Management

 Functionality: Registration, login, and profile updates.


 Test Scenarios: Valid/invalid login credentials, password reset, and editing
profile information.

2. Restaurant Search and Menu Browsing

 Functionality: Filters such as cuisine type, ratings, and delivery options.


 Test Scenarios: Searching by location, applying filters, and viewing menus.

3. Order Placement and Payment

 Functionality: Adding items to the cart, applying coupons, and using payment
gateways.
 Test Scenarios: Testing coupon codes, cart updates, and payment methods
(credit cards, wallets).

4. Delivery Tracking

 Functionality: Real-time order updates and estimated delivery times.


 Test Scenarios: Testing live updates and tracking orders in transit.

Steps to Gather Test Data


1. Identify Data Sources
To ensure comprehensive coverage, test data is collected from the following sources:
 Production Database: Use anonymized real user data for authenticity.
 Synthetic Data: Generate realistic but fake data for users, restaurants, orders, and
payments using tools like Python's Faker library.
 Third-Party Sources: Access open datasets (e.g., postal codes, restaurant
information).

2. Data Collection Methods


Various methods are employed to gather and prepare test data:
 SQL Queries: Extract necessary data from production databases while anonymizing
sensitive fields.
 Synthetic Data Tools: Use Faker.JS libraries (e.g., Faker) or services like Mockaroo to
generate user profiles, orders, and menus.
 Web Scraping: If additional restaurant or location data is required, scrape public sources
for supplemental details.

3. Data Preparation
Proper preparation ensures the data is usable:
 Cleaning: Remove duplicates, incomplete entries, or irrelevant data.
 Transformation: Normalize formats for phone numbers, dates, and addresses.
 Formatting: Convert the data into application-compatible formats like JSON, CSV, or
database entries.

Task 2: Authorization Testing


Advantages of Well-Gathered Test Data
High-quality test data provides the following benefits:

1. Improved Test Coverage:

 Comprehensive data ensures thorough testing of every application feature.


 Example: Testing valid and invalid coupon codes ensures the system handles all
scenarios.

2. Realistic Testing Scenarios:

 Data mimicking real-world usage uncovers practical issues.


 Example: Simulate order placements during peak hours to test server load.

3. Early Bug Detection:

 Simulating edge cases identifies potential failures before deployment.


 Example: Invalid payment cards help reveal errors in transaction handling.
4. Enhanced System Reliability:

 Diverse test data validates the robustness of all functionalities.


 Example: Testing delivery tracking across regions ensures consistent results.

5. Performance Testing:

 Large datasets evaluate the system's scalability.


 Example: Simulate thousands of simultaneous users to test server performance.

6. Compliance and Security Testing:

 Properly anonymized data ensures compliance with standards like GDPR (General Data
Protection Regulation).
 Example: Using masked user data avoids the exposure of sensitive information during
testing.

Task 3: Managing Test Data:

Test Data Management Strategy


Efficient test data management involves careful planning and execution. Here’s how the
data is structured and maintained:

1. Data Versioning:

 Version 1: Includes basic test scenarios, such as login and restaurant searches.
 Version 2: Expands to include edge cases like failed payments, invalid orders, and peak-
time loads. Use version control tools like Git to track changes in test data.

2. Data Masking

 Replace sensitive information (e.g., user names, emails, payment details) with dummy
values.
 Example: Replace "Ahmad" with "User_001" and mask card numbers as "XXXX-XXXX-
XXXX-5678".

3. Data Sub-Setting
 Create smaller, focused datasets to test specific features.
 Example: For testing cart functionality, use a dataset with 100 users, 10
restaurants, and 50 orders.

4. Data Refreshing:
Regularly update the test data to ensure relevance and accuracy.
Use automated scripts to pull recent anonymized data from production or generate new
synthetic data.

5. Data Access Control

 Implement Role-Based Access Control (RBAC) to ensure proper data security:

 QA team: Full access to the data.


 Developers: Access to masked or subset data only.

Tools Used:
Efficient management and generation of test data rely on the following tools:
1. Data Generation: Python’s Faker library or Mockaroo for creating realistic dummy
data.
2. Data Storage: MySQL or MongoDB for organizing and storing data.
3. Data Masking: Python scripts to anonymize sensitive data.
4. Version Control: Git to track and manage changes in test data.

Example Scenarios for Each Step


1. User Account Management:

 Test with real and fake credentials to evaluate error messages and login
processes.

2. Restaurant Search and Filters:


 Use a dataset with varied restaurant details to test filters for cuisine, ratings, and
delivery options.

3. Order Placement and Payment:

 Create scenarios for applying valid and invalid coupons and using different
payment methods.

4. Delivery Tracking:

 Test live tracking with simulated order status updates for various delivery
locations.

You might also like