SOA Testing Solved Example
Let us consider an e-commerce website with the following functionalities and sub-functions:
1. Phase 1: This is the testing strategy phase, here the app is divided into Services and business functions. Let some of the services be as follows,
- Sign up/Register a new user i.e. add the details of a new user into the database.
- Sign in/Login a user on the portal i.e. fetch the details from the database and if the correct credentials are, login is successful.
- Check the “Forget Password” button functionality i.e. when a registered user presses this button, send a code to the registered email.
2. Phase 2: Now comes the test planning phase, where distinguished test cases are written as per the level involved. Some possible test cases according to various levels are discussed ahead.
- End to End level: Each and every use is monitored here and test cases regarding every case are created and the service is tested for the same.
- Place one order from a registered user i.e. placed an order by logging in on the portal.
- Place one order from a newly registered user i.e. placed an order by registering first time on the portal.
- Place one order where multiple items with quantity as “N” are present in the cart.
- Completely cancel one placed order i.e. order in active state i.e. delete an order
- Cancel or remove a few items from a placed order i.e. edit an order
- Integration level: In this level test cases are written for database and user interface integration. A few of these kinds are given ahead.
- Build a new test case, where an order with a single item has been placed along with verifying whether it is reflected in the database or not. (check the integration on both sides i.e. UI and Database)
- Build a new test case, where an order with a single item has been placed along with verifying if the reflected amount in the database and the calculated total amount are the same. (check the integration on both sides i.e. UI and Database)
- Build a new test case, where an order with a single item has been placed along with verifying if the availability of the product is accurate or not. (check the integration on both sides i.e. UI and Database)
- Ensure that the order status displayed on the user interface is the same as that of the database order status i.e. double check order status (both UI and the Database)
- Service level – Each and every service is tested for all possible test cases.
3. Phase 3: This phase is the “Execution” phase. Here all the final outcomes are released as per the operation performed. Test execution follows a bottom-up strategy, which means that service-level testing comes first, followed by integration-level testing, and finally end-to-end testing. The table attached ahead helps in understanding better.
Test Case | Request | Predicted Result |
---|---|---|
“Sign up/Register” Name= GFG user123 Email = ##### Password = $$$$$$ Confirm Password = $$$$$$ |
(Check if all details match use cases for min password length, security password condition, etc.)
|
<message>Registration Successful/Failed</message> |
“Sign in/Login” Email = #####, Password = ######## (Details sent by dummy user) |
(Get the Sign in done, check if details match in the database)
|
<message>Login Successful/Failed</message> |
“Forget Password” Registered Email = geek@example.com (Details sent by dummy user after click) |
(check if it exists on the database)
|
<message>Successful/Try Again</message> |
“Edit Order” Order Id = ABC123 (Details sent by dummy user) |
(Check if an Order is placed for the logged-in user display the an edit button)
|
<message>Order Edit Successful/Failed</message> |
“Delete Order” Order Id = GFG001 (Details sent by dummy user) |
(Check if Order is placed for the logged-in user and display the delete button)
|
<message>Order Deletion Successful/Failed</message> |
Software Testing – SOA Testing
SOA Testing is the process of evaluating a certain software where one can check web processes for functionality and make sure different components can communicate effectively throughout. Before diving deep into the testing model directly we need to understand SOA Architecture.