Author: Matěj Konopík, FIT BUT, April 2023, Brno
This document describes the failures found in the system during preparation of automated tests. These failures should be resolved before the testing can be brought to full coverage of the system. Tests covering the failiures are ready, but commented out for it to run smoothly at this state. Refer to the sections 5.1 and 5.2 for details.
- Note: It is suggested to use a docker image of the system, because every run needs to create accounts for the testing procedures, and it could pollute the system with fake data. These tests are not focused on performance of the system, but solely as BDD scenarios of user manipulation.
Following tests were removed from the original plan (ITS project 1):
User can view his order history
- no orders can be added to the system from user view!shop.feature
- undergone a general rework - prepared and reworked scenarios that are actually related to shopCustomer will get notified when admin changes the order status
- doesn't regard order managementInvoice and ship list
- not sure how to check if they are generated correctlyAddind a product variant
Admin can add item to order
andAdmin can change the shipping address of an order
- squashed into a single scenarioAdmin can create an order
- generally all background items were removed and the test were made procedural, so that they link together seamlessly. Remake for controlling from
environment.py
could be considered in the future, as it might make the code more reusable.
Following tests/scenarios were added in comparison with the plan (ITS project 1):
System withstands a weak try for sql injection
- just a basic php endpoint ping with DROP TABLES commentAdmin portal is not reachable without valid token
- security check for admin accessAdmin can search for user by their name
- self-explanatoryEntering zero price to an item
- check if the system does not allow for free products to be addedAdmin can add item to order
andAdmin can change the shipping address of an order
combined into new featureAdmin can create an order
- Note: Most of the scenarios were refactored for better re-usability and to fit the test case better.
- New tests are focused on the system security and user experience. Closer notes are provided by the tests in section 5.
- The system is missing shipping and payment method which user could use to finish the order of his items and neither can the user add them in his account information. This makes the system NOT PRODUCTION READY!
- Depiction:
- Resolution: Add a payment gate through the OpenCart admin panel - navigate to Extensions, select desired gate and integrate it. (PayPal is a valid contender, because the integration is free)
- Please refer to Scenario
Customer places an order for product in their shopping card.
atITS_P2/features/shop.feature:31
- Searching for products to be added to an order by admin is unstable. Valid item 'iMac' in the tested system is found only about a half of the time, without known cause.
- Order adding does not crosscheck the zipcode with the selected country and region. Invalid address can be entered.
- The notification popups cannot be manipulated by the user. In admin pannel, it partially blocks the return button from the page
http://mys01.fit.vutbr.cz:8084/administration/index.php?route=customer/customer|form
. - My Account dropdown cannot bo opened by selenium and has to be accessed over class change - might not be an issue but seems weird
- Resolution: UI tweaks