End-to-end testing matrix
Test ID | Test Case | Step by Step | Expected Outcome | |
---|---|---|---|---|
REGISTRATION & AUTHENTICATION | ||||
A1 | Correct Credentials | 1. Press Person Icon for drop-down 2. Enter a valid e-mail / password combination 3. Press sign in 4. Verify valid log-in state | Account is logged in | |
A2 | Incorrect Credentials | 1. Press Person icon for drop-down 2. Enter an invalid e-mail / password combination 3. Press sign in 4. Verify invalid log-in state | Account is not logged in | |
A3 | Registration | 1. Press Person icon for drop-down 2. Click register link 3. Enter e-mail / password combination 4. Press register 5. Signout 6. Log-in with registered credentials 7. Verify valid log-in state | Account is registered, can be used to log in | |
A4 | Reset Password | 1. Press Person icon for drop-down 2. Press Reset Password 3. Enter e-mail 4. Check e-mail to reset password 5. Reset password 6. Log-in with newly created password 7. Verify valid log-in state | Able to reset / change password, can be used to log in | |
A5 | Sign Out | 1. Press Person icon frop drop-down 2. Log-in 3. Press Person icon for drop-down 4. Press sign out 5. Verify non-authenticated state in | Able to sign out and be able to re-log in | |
NAVIGATION BAR | ||||
B1 | Home Page Redirect | 1. Go to anywhere else other than home page such as a product page 2. Press STORE_NAME (i.e Reaction) on Nav Bar 3. Verify if redirected to home page | Able to have redirection to home page from anywhere within application | |
B2 | Search Option | 1. Have a storefront with sample data 2. Press search icon 3. Verify if directed to search text field | Redirected to search functionality of site | |
B3 | Select Language | 1. Press language drop-down 2. Select a language 3. Verify if menu items are changed into language | Language is changed for the site | |
B4 | Select Currency | 1. Press currency drop-down 2. Select a currency 3. Verify if currency is selected and used in purchase | Currency is changed from the default and it is shop wide | |
B5 | Profile Drop-down (Non-authenticated) | 1. Press Person icon for drop-down 2. Verify if e-mail / password fields and register / forget password links exist | Authentication box appears | |
B6 | Profile Drop-down (Authenticated) | 1. Press Person icon for drop-down 2. Verify if sign-out option available | Authenticated box appears with Sign Out option | |
B7 | Cart Summary | 1. Press Cart 2. Verify if cart appears | Cart appears with / without an item | |
B8 | Notifications | 1. Log-in 2. Press Alarm icon 3. Verify if notifications / messages appear | Notifications / messages appear in drop-down | |
HAMBURGER MENU | ||||
C1 | Product Map | 1. Have a storefront with sample data 2. Press Hamburger Menu 3. Verify if Categories and Sub-Categories are reflected | Storefront can be travered through the product map | |
C2 | Select Language | 1. Press language drop-down 2. Select a language 3. Verify if menu items are changed into language | Language is changed for the site | |
C3 | Select Currency | 1. Press currency drop-down 2. Select a currency 3. Verify if currency is selected and used in purchase | Currency is changed from the default and it is shop wide | |
USER PROFILE | ||||
D1 | Proper Profile Data | 1. Verify if Name and E-mail Address appears | Name and E-mail appears | |
D2 | Update Email Address | 1. Update e-mail address 2. Sign-out 3. Sign-in with updated e-mail address 4. Verify only e-mail changed within profile | Profile persists minus the e-mail address change | |
D3 | Update Password | 1. Update current password 2. Sign-out 3. Sign-in with new password 4. Verify log-in state | Able to log-in with same e-mail and new password | |
D4 | Your Orders | 1. Make sample orders under account 2. Verify if orders appear in order box | Orders saved to profile | |
D5 | Default Address | 1. Enter Address Information 2. Order a sample product 3. Verify if address appears in checkout area | Address saved in profile is default and appears in checkout phase | |
ADMIN DASHBOARD | ||||
E1 | Dashboard | 1. Go to /operator 2. Verify if Admin dashboard appears | Admin dashboard appears | |
E2 | Orders | 1. Make sample orders with different accounts 2. Press Orders 3. Verify if sample orders appear | All orders appear | |
E3 | Accounts | 1. Make sample accounts 2. Press Accounts 3. Verify if sample accounts appear | All accounts appear | |
E4 | Log-in Services | 1. Press Log-in Services 2. Verify service capabilities | Login services available | |
E5 | Social Settings | 1. Press Social Settings 2. Verify social settings capabilities | Social settings available | |
E6 | Shop | 1. Press Shop 2. Verify able to enter shop details | Able to change shop information | |
E7 | 1. Press E-mail 2. Verify able to see e-mail logs and set-up mail provider | E-mail provider and logs are visible | ||
E8 | Localization | 1. Press Localization 2. Verify able to change localization options and reflect onto shop | Changes made are reflected onto shop, options available to be changed | |
E9 | Shipping | 1. Press Shipping 2. Verify able to change and toggle options | Available options are able to changed | |
E10 | Tax | 1. Press Tax 2. Verify able to enter custom rate / tax | Able to change custom rate | |
E11 | Template | 1. Press Template 2. Verify able to update e-mail templates | Able to change e-mail templates | |
E12 | Search | 1. Press Search 2. Verify if able to change search options / button | Able to change search capabilities | |
E13 | Payment | 1. Press Payment 2. Verify able to toggle / select options | Able to change options | |
E14 | Edit Mode | 1. Press Edit Mode Switch 2. Verify if Switch and Edit Mode capabilities reflect state | Edit mode toggled correctly | |
E15 | Add Product | 1. Press Plus Sign (Add Product) 2. Verify redirection to Create New Product | Go to Create a Product | |
E16 | Product | 1. Press Product 2. Verify able to see products | Able to view products | |
E17 | Product - Filter by File card | 1. Press Action 2. Press Filter by File 3. Verify able to see card | Able to see Filter by File card | |
E18 | Product - Add tag to 2 products | 1. Check the checkbox for 2 products 2. Press Action 3. Press Add/remove tags 4. Type Camperos 5. Click on the 2 products 6. Verify tag was added to both products | Able to add 1 tag to 2 products | |
E19 | Order | 1. Click on a sample order 2. Verify if single order page appears | A order appears | |
PRODUCT PAGE | ||||
F1 | Product Title | 1. Verify if product name is correctly formatted | Product name is formatted correctly | |
F2 | Product Sub-title | 1. Verify if product subtitle is correctly formatted | Product subtitle is formatted correctly | |
F3 | Image Zoom | 1. Hover over product with mouse 2. Verify if mouse action triggers a zoom capability | Product can be zoomed in following mouse cursor | |
F4 | Product Information | 1. Verify proper format of product : price -> company -> description | Product information formatted correctly | |
F5 | Selecting Option | 1. Select an Option 2. Verify if border highlight appears on selected option | Option is highlighted | |
F6 | Multiple Images | 1. Choose another image that is not default 2. Verify if image appears on main box | Pictures can be selected and zoomed in on | |
F7 | Add to Cart | 1. Select an option (if applicable) 2. Press Add to Cart 3. Verify if appears in cart | Item is in cart | |
F8 | Add to Cart - Pop Up | 1. Select an option (if applicable) 2. Press Add to Cart 3. Verify if pop up appears to state item added to cart | Pop-up appears with proper information | |
F9 | Add to Cart - Multiple Quantities - Cart | 1. Select an option (if applicable) 2. Change quantity to more than 1 3. Press Add to Cart 4. Verify if pop up appears with amount stated to cart | Items in cart | |
F10 | Add to Cart - Multiple Quantities - Pop Up | 1. Select an option (if applicable) 2. Change quantity to more than 1 3. Press Add to Cart 4. Verify if items appear with amount stated to cart | Pop-up appears with proper amount stated | |
F11 | Add to Cart - Pop Up - Checkout Now | 1. Select an option (if applicable) 2. Press Add to Cart 3. Wait for Pop up to appear 4. Press Checkout button in Pop up 5. Verify redirection to checkout | Able to begin checkout phase | |
CART | ||||
G1 | Empty Cart | 1. Make sure no items in cart 2. Press cart 3. Verify proper empty cart message 4. Press keep on shopping 5. Verify cart disappears | Proper cart empty message and able to collapse cart area | |
G2 | Universal Cart | 1. Add a sample product to cart 2. Go to a different product 3. Press cart 4. Verify if cart is accessible 5. Repeat a few times in different areas of application | Cart can be accessed anywhere throughout application | |
G3 | Item Count | 1. Add sample products to cart 2. Verify if amount of products added are reflected onto number bubble | Number bubble has correct amount of items in cart | |
G4 | Cart Information - Items in Cart | 1. Add sample products to cart 2. Verify if amount of products are reflected onto string area | Proper amount of items reflected | |
G5 | Cart Information - Sub-total | 1. Add sample products to cart 2. Verify if sub-totals are correct | Sub-total is correct | |
G6 | Cart Information - Total | 1. Add sample products to cart 2. Verify if total price is correct | Total is correct | |
G7 | Product Deletion | 1. Add sample products to cart 2. Press X on a product 3. Verify that item is only deleted in cart | Item is deleted from cart | |
G8 | Product Redirection | 1. Add sample products to cart 2. Press sample product in cart 3. Verify if redirected to sample product page | Redirected to sample product | |
G9 | Checkout | 1. Add sample products to cart 2. Press Checkout now 3. Verify if redirected to checkout process | Redirected to checkout process | |
G10 | Cart Merge - No Items | 1. Sign in 2. Verify no products in cart 3. Sign out 4. Add sample products to cart 5. Sign in 6. Verify if sample products persist and merged to account cart | Carts are merged | |
G11 | Cart Merge - Existing Items | 1. Sign in 2. Add sample products to cart 3. Sign out 4. Add sample products to cart 5. Sign in 6. Verify if sample products persist and merged to account cart | Carts are merged | |
G12 | Cart Merge - Checkout Process | 1. Sign in 2. Add sample products to cart 3. Sign out 4. Add sample products to cart 5. Sign in 6. Go through valid checkout process 7. Verify able to log-out, anonymous cart is empty | Log-out functionality appears, anonymous cart is empty after log-out | |
CHECKOUT | ||||
H1 | Account | 1. Begin Checkout Process 2. Verify if Guest / Registration / Sign-in options exist | Options exist for guest checkout , registration , and sign in | |
H2 | Guest | 1. Begin Checkout Process 2. Press Continue as guest 3. Verify able to add e-mail 4. Verify abe to continue process | Able to continue as a guest with an e-mail | |
H3 | Registration | 1. Begin Checkout Process 2. Press Register 3. Enter information 4. Press register 5. Verify able to continue process | Able to continue as newly registered user | |
H4 | Existing User | 1. Begin Checkout Process 2. Press Sign in 3. Enter information 4. Press Sign in 5. Verify able to continue process | Able to continue as existing user | |
H5 | Address - Guest | 1. Verify able to add address | Able to add address | |
H6 | Address - Newly Registered | 1. Verify able to add address 2. After checkout process complete, verify if address is saved to profile | Able to add address and save | |
H7 | Address - Existing User | 1. Verify able to select existing address, edit or add new address | Able to select existing addresses, edit or add new address and save | |
H8 | Shipping Options | 1. Verify able to select shipping options | Able to select different shipping options | |
H9 | Review | 1. Verify cart + shipping information are added | Cart information is reflected properly | |
H10 | Payment | 1. Verify able to add payment information | Information is added through dropdown / text input / secure input | |
H11 | Complete Order | 1. Verify able to complete order after satisfied information | Order is able to be completed, e-mail is sent out | |
H12 | Thank You Screen | 1. Verify that all of the order details are correct and match what was in the cart during checkout | Order details are correct and match what was in cart | |
H13 | Thank You Screen, Empty Cart | 1. Verify that the cart is empty and has been deleted after successful checkout | Cart is empty | |
PAYMENT | ||||
I1 | Example Payment - Appearance | 1. Enable Example Payment 2. Enter valid Example Payment API 3. Go through a valid checkout process 4. Verify Payment prompt visible | Payment prompt appears to enter valid information as final step in checkout | |
I2 | Example Payment - Usage | 1. Enable Example Payment 2. Enter valid Example Payment API 3. Go through a valid checkout process with dummy Card numbers 4. Verify log in Example Payment dashboard | Example payment successful order and appears in Example Payment testing dashboard (if applicable) | |
I3 | Stripe Payment - Appearance | 1. Enable Stripe Payment 2. Enter valid Stripe API keys 3. Go through a valid checkout process 4. Verify Stripe payment prompt visible | Payment prompt appears to enter valid information as final step in checkout | |
I4 | Stripe Payment - Usage | 1. Enable Stripe Payment 2. Enter valid Stripe API keys 3. Go through a valid checkout process with dummy Stripe card numbers (https://stripe.com/docs/testing) 4. Verify order in Stripe testing dashboard | Stripe payment successful order and appears in Stripe testing dashboard | |
I5 | Discount - Appearance | 1. Enable Discounts 2. Create a promo code under codes section with valid information 3. Go through a valid checkout process 4. Verify prompt to enter promo code appears | Discount prompt appears | |
I6 | Discount - Usage | 1. Enable Discounts 2. Create a promo code under codes section with valid information 3. Go through a valid checkout process 4. Enter promo code in valid promo code prompt area 5. Verify proper discount usage in final total of pay | Discount is applied through final checkout | |
I7 | Custom Taxes Application | 1. Enable Custom Tax Rates in Admin Panel 2. Create valid tax rates for several locations 3. Go through a valid checkout process with an address that has a custom tax rate applied to its area code 4. Verify proper tax rate calculation to final total 5. Repeat for the other valid tax rates created | Proper Custom tax rate is applied through final checkout | |
ORDERS DASHBOARD | ||||
J1 | Orders Sorted Appearance | 1. Make successful orders 2. Press Orders menu in Admin Panel 3. Verify orders made appear in dashboard in order made | Orders appear in dashboard in order they were made | |
J2 | Orders Detail - Single Order | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Verify detail side panel appears with proper information | Order's details are shown | |
J3 | Orders Detail - Multiple Orders | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Verify detail side panel appears with proper information 5. Press another valid order's detail arrow 6. Verify next chosen order's information appears | Other order's details orders are shown when selected | |
J4 | Status Change - Pop Up | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Select Order(s) 4. Press Bulk Action dropdown 5. Choose an action 6. Verify pop-up with # of status changes reflected with order(s) | Pop-up appears with # of orders selected to status change | |
J4 | Status Change - Dashboard | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Select Order(s) 4. Press Bulk Action dropdown 5. Choose an action 6. Verify # of status changes reflected with order(s) | Orders selected status are changed to chosen status in dashboard | |
J5 | Order Approval | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Press "Approve" 5. Verify "Capture Payment" button + Print appears | Order can be approved, "Capture Payment" appears, print appears | |
J6 | Order Print | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Press "Approve" 5. Press "Print" 6. Verify New Window with Order Details Printable | Order detailed information new window appears that can be printed | |
J7 | Capture Payment - Appearance | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Press "Approve" 5. Press "Capture Payment" 6. Verify "Apply Refund", "Cancel order", "Print Invoice" appears | Apply Refund input box, Cancel order button, and Print Invoice appears | |
J8 | Capture Payment - Apply Refund Prompt | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Press "Approve" 5. Press "Capture Payment" 6. Enter valid Refund Amount 7. Verify valid refund prompt appears | Apply Refund prompt with amount appears | |
J8 | Capture Payment - Apply Refund | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Press "Approve" 5. Press "Capture Payment" 6. Enter valid Refund Amount 7. Press "Apply refund" 8. Verify valid refund | Refund successful | |
J9 | Capture Payment - Print Invoice | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Press "Approve" 5. Press "Capture Payment" 6. Press "Print Invoice" 7. Verify New Window with Order Details Printable | Order detailed information new window appears that can be printed | |
J10 | Order - All Items Packed | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Press "All items packed" under Shipping 5. Verify "Shipped" button and Notification customer message appears | "Shipped" Button appears with accompanying notification message to customer | |
J11 | Order - Shipped | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Press "All items packed" under Shipping 5. Press "Shipped" 6. Verify Shipment Notification | Order shipment is processed | |
J12 | Order - Shipped, Tracking Number | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Press "All items packed" under Shipping 5. Press "Shipped" 6. Save tracking number 7. Verify tracking number saved | Tracking number is updated and saved | |
J13 | Order - Shipped, Resend Shipment Notification | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Press "All items packed" under Shipping 5. Press "Shipped" 6. Press "Resend Shipment Notification" 7. Verify Shipment E-mail Notification Pop-up appears | Shipment e-mail notification appears | |
J14 | Cancel Order, Pop-up | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Press "Approve" drop-down menu 5. Select "Cancel" 6. Press "Cancel" 7. Verify "Cancel Order" Pop-up appears | Cancel order pop-up appears | |
J14 | Cancel Order, No Restocking | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Press "Approve" drop-down menu 5. Select "Cancel" 6. Press "Cancel" 7. Press "Yes, but no restocking" 8. Verify cancelled order status and product amount stays same | Cancelled order, amount of product(s) stays same | |
J14 | Cancel Order, Restocking | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press a valid order's detail arrow 4. Press "Approve" drop-down menu 5. Select "Cancel" 6. Press "Cancel" 7. Verify cancelled order status and product(s) gets restocked | Cancelled order, amount of product(s) goes +X amount ordered, restocked | |
J15 | Orders - Screen Change | 1. Have existing orders or make successful orders 2. Press Orders menu in Admin Panel 3. Press screen change for detailed vs non-detailed 4. Verify orders format changed in dashboard | Able to choose a detailed vs non-detailed orders appearance in dashboard | |
AUTHENTICATION | ------------------------------------------------------------------------------------------- | |||
K1 | Sending Data - POST through HTTP | 1. Send credential data 2. Verify no interception possible by listening on network | User credentials are not readable by a sniffing tool | |
K2 | Sending Data - POST through HTTPS | 1. Send credential data 2. Verify no interception possible by listening on network | User credentials are not readable by a sniffing tool | |
K3 | Sending Data - GET through HTTPS | 1. Send credential data with GET 2. Verify no interception possible by listening on network | User credentials are not readable by a sniffing tool | |
K4 | Default Credentials - Admin | 1. Use default initial Reaction credentials (admin@localhost) 2. Verify successful log-in | Default admin account logged in | |
K5 | Default Credentials - Change Admin | 1. Use default initial Reaction credentials (admin@localhost) 2. Change account credentials 3. Log-out and log-in with changed credentials 4. Verify successful log-in | Default admin account not logged | |
K6 | Default Password - New Accounts | 1. Create new account 2. Log-in with default password of Default Credentials 3. Verify no successful log-in | New accounts are not able to be logged in with Default Password | |
K7 | New Credentials | 1. Create new account 2. Log-in with account credentials 3. Verify successful log-in | Successful log-in | |
K8 | Nonexistent User | 1. Log-in with Random Credentials 2. Verify un-successful log-in | Unsuccesful log-in | |
K9 | HTTP Response - Valid User, Right Password | 1. Log-in with valid credentials 2. Verify successful log-in | Successful log-in, valid HTTP Response | |
K10 | HTTP Response - Valid User, Wrong Password | 1. Log-in with valid user, incorrect password 2. Verify un-successful log-in | Unsuccesful log-in, valid HTTP Response | |
K11 | Retried Failures | 1. Attempt to log-in with incorrect credentials 3-5(x) times 2. Log-in with correct credentials 3. Verify able to log-in with credentials | Able to log-in with proper credentials after numerous attempts of incorrect times | |
K12 | Bypassing Authentication Schema - Direct Page Request | 1. Request a different page via forced browsing 2. Verify user is blocked from a protected page | Unsuccessful attempt to access protected page | |
K13 | Bypassing Authentication Schema - Parameter Modification | 1. Modify parameters in webpage ex: ?authenticated=yes, in a protected page 2. Verify user is blocked from a protected page | Unsuccessful attempt to access protected page | |
K14 | Bypassing Authentication Schema - NoSQL Injection | 1. Inject custom object with MongoDB commands inside Query Object 2. Verify commands not executable by database engine | Unsuccessful attempt to access database | |
K15 | Vulnerable Remember Password | 1. Allow "Remember Password" functionality of browser 2. Verify auto-complete usage | Successful log-in with stored password | |
K16 | Enumerate Users - Existing User | 1. Access account URL for existing user 2. Verify Authentication Error Message | Authentication Error message appears i.e 403, 404 (same as non-existing user) | |
K17 | Enumerate Users -Non-existing User | 1. Access account URL for non-existing user 2. Verify Authentication Error Message | Authentication Error message appears i.e 403, 404 (same as existing user) | |
K18 | Password Reset | 1. Reset password 2. Verify reset password request | Able to request to reset / change password | |
K19 | Password Change - User | 1. Change password as user 2. Verify valid log-in | Successful log-in | |
K20 | Password Change - Admin | 1. Change password as admin 2. Verify valid log-in | Successful log-in | |
K21 | Password Change - Old Password | 1. Change password as user to old password 2. Verify valid log-in | Successful log-in (work in progress, may be forced to not able to use existing passwords) | |
K22 | Password - Weak | 1. Create a password that does not pass threshold of acceptance 2. Verify no ability to change to password | No password change | |
K23 | Password - Strong | 1. Create a password with criteria characters 2. Verify ability to change to password | Password change | |
K24 | Password - Forbidden Characters | 1. Create a password with forbidden characters 2. Verify no ability to change to password | No password change | |
K25 | Weaker Authentication in Alternative Channel - Mobile | 1. Do log-in attempts with a mobile device 2. Verify tests passing | Authentication tests pass | |
K26 | Weaker Authentication in Alternative Channel - No Cookies | 1. Do log-in attempts with no cookies storable 2. Verify tests passing | Authentication tests pass | |
K27 | Weaker Authentication in Alternative Channel - No JavaScript | 1. Do log-in attempts with no javascript enabled 2. Verify tests passing | Authentication tests pass | |
K28 | Weaker Authentication in Alternative Channel - No Plug-Ins | 1. Do log-in attempts with no plug-ins enabled 2. Verify tests passing | Authentication tests pass |