21BCE0442
21BCE0442
Vellore
BCSE301L -Software
Engineering Digital
Assignment - II
Instructions:
- Scenario: A company is developing an API that will be used by multiple internal and external
applications.
White-box testing for a Programming interface that will be utilized by numerous inner and outside
applications includes inspecting the inside design and rationale of the Programming interface to
guarantee both useful accuracy and primary honesty. Here is a situation for white-box testing this
specific circumstance:
Test every Programming interface endpoint with legitimate contributions to check that it delivers the
normal result. Test edge cases and limit conditions to guarantee the Programming interface handles
uncommon data sources smoothly. Confirm blunder taking care of by testing with invalid data
sources and checking assuming that the Programming interface answers with suitable mistake
messages and status codes.
API Structural Testing:
Check the Programming interface's inner design, including code ways, branches, and conditions. Use
procedures like code inclusion examination (e.g., proclamation inclusion, branch inclusion) to
guarantee that all pieces of the Programming interface code are executed during testing. Direct way
testing to approve different execution ways inside the Programming interface, it are tried to
guarantee that every conceivable course.
Scenario Title:
Internal Load and Throughput Analysis of the "Post Submission" Microservice
Objective:
To ensure the backend components, especially the "Post Submission" service, can handle a high
volume of concurrent requests without performance degradation or failure.
Scope:
Focus on the internal logic of the "Post Submission" API, particularly:
Test Strategy:
• Use white-box techniques (e.g., code instrumentation, internal metrics logging) to monitor
memory consumption, CPU utilization, and response times.
• Inject synthetic load (e.g., simulate 10,000 concurrent users posting updates) and trace the
function calls and their performance.
• Check for:
Tools:
Expected Outcome:
• The system should maintain response time within acceptable thresholds (<300ms for post
requests)
Scenario Title:
End-to-End Purchase Flow Validation for Registered Users
Objective:
To verify that a registered user can search for a product, add it to the cart, and complete the
purchase without encountering any errors or usability issues.
Scope:
• Homepage access
• Product search
Test Steps:
6. Proceed to checkout.
Test Data:
Expected Outcome:
Acceptance Criteria:
13) Stress Testing for Performance Evaluation:** - Scenario: A banking application is subjected to
heavy loads during peak transaction periods. Black-box Testing Scenario:
Scenario Title:
Transaction Handling Under Peak Load Conditions
Objective:
To evaluate how the banking application behaves under extreme transaction loads, simulating peak
hours such as month-end salary credits or festive season transfers.
Scope:
• Balance inquiries
• Login/logout operations
Test Steps:
1. Simulate 10,000+ concurrent users performing various actions like logging in, transferring
funds, and checking balances.
2. Execute bulk fund transfers repeatedly (e.g., 1000 transactions per minute).
Tools:
• Monitoring tools for tracking server/resource metrics (e.g., CPU, memory, DB connection
pool)
Expected Outcome:
• Core services like login and transaction verification should maintain availability.
Pass Criteria:
18)Variable Mutations:** - Scenario: An application uses variables to store data. Mutation Testing
Scenario:
Scenario Title:
Mutation Testing on Variable Assignments and Usage
Objective:
To assess the strength of the test suite by introducing faults in how variables are assigned and used in
the code.
Scenario:
The application uses variables to store and manipulate user data such as age, balance, and login
attempts.
Assignment
age = 30 age = 18 Test boundary condition handling
Mutation
Variable login_attempts -=
login_attempts += 1 Test correctness of increment logic
Replacement 1
Test Expectations:
• Unit tests should detect incorrect outcomes resulting from mutated variables (e.g., incorrect
balance or wrong age classification).
• Each mutation should ideally be killed by a specific test that depends on the correct value
and logic of the variables.
• Surviving mutations imply that certain logic or variable-dependent behaviors aren't well-
tested.
Pass Criteria: