-
Notifications
You must be signed in to change notification settings - Fork 248
Performance tests scenario for Inventory
Stanislav Idolov edited this page Feb 26, 2020
·
1 revision
As a developer I want to test the performance of my Magento instance so that I can ensure a performant store even when I have multiple inventory locations configured.
Background:
Magento has a built-in profile generator that can be used to rapidly create test data (orders, products, etc.). This allows for developers to test sample store performance under predefined conditions that match expected merchant requirements. This data can be created from the console using the setup:performance:generate-fixtures
command. Profiles used by the generator are editable XML files, saved in setup/performance-toolkit/profiles
.
Acceptance Criteria:
- Existing performance profiles are updated to include MSI entities (sources and stocks)
-
small
:Sources
= 3,Stocks
= 1 -
medium
:Sources
= 10,Stocks
= 3 -
medium_msite
:Sources
= 10,Stocks
= 5 -
large
:Sources
= 20,Stocks
= 5 -
extra_large
:Sources
= 25,Stocks
= 5
-
- Setting created for how products should be distributed to sources (
source_allocation
)- A value from 1 to 100 is possible for this setting
- 1 = individual product associated to 1 of n sources in the profile
- 50 = individual product associated to 1/2 of n sources in the profile
- 100 = individual product associated to n of n sources in the profile
- Existing performance profiles are updated to include setting for how products should be distributed to sources
-
small
:source_allocation
= 1 -
medium
:source_allocation
= 25 -
medium_msite
:source_allocation
= 50 -
large
:source_allocation
= 50 -
extra_large
:source_allocation
= 50
-
- Setting created for how sources should be distributed to stocks (
stock_allocation
)- A value from 1 to 100 is possible for this setting
- 1 = individual source associated to 1 of n stocks in the profile
- 50 = individual source associated to 1/2 of n stocks in the profile
- 100 = individual source associated to n of n stocks in the profile
- Existing performance profiles are updated to include setting for how sources should be distributed to stocks
-
small
:stock_allocation
= 1 -
medium
:stock_allocation
= 25 -
medium_msite
:stock_allocation
= 25 -
large
:stock_allocation
= 25 -
extra_large
:stock_allocation
= 25
-
- Profile generator creates stocks and sources as defined in specified profile XML
- Profile generator assigns products in profile to sources as defined in specified profile XML
- Profile generator assigns sources in profile to stocks as defined in specified profile XML
- Profile generator assigns stocks to websites
- Stocks assigned randomly to websites
- All stocks should be assigned
- Stocks can be repeated (assigned to more than one website). This is required as number of stocks in each profile <= number of websites.
What to Demo:
- MSI Enabled
- Generate
medium
profile- This may be prerecorded if generation time is too long for demo meeting
- Show time required to generate profile
- Show MSI entities have been created and assigned
- Sources created
- Stocks created
- Products assigned to sources
- Sources assigned to stocks
- Stocks assigned to websites (Sales Channel)
- Show number of entities created matches settings defined in XML profile
Multi-Source Inventory developed by Magento 2 Community
- Technical Vision. Catalog Inventory
- Installation Guide
- List of Inventory APIs and their legacy analogs
- MSI Roadmap
- Known Issues in Order Lifecycle
- MSI User Guide
- 2.3 LIVE User Guide
- MSI Release Notes and Installation
- Overview
- Get Started with MSI
- MSI features and processes
- Global and Product Settings
- Configure Source Selection Algorithm
- Create Sources
- Create Stock
- Assign Inventory and Product Notifications
- Configure MSI backorders
- MSI Import and Export Product Data
- Mass Action Tool
- Shipment and Order Management
- CLI reference
- Reports and MSI
- MSI FAQs
- DevDocs Documentation
- Manage Inventory Management Modules (install/upgrade info)
- Inventory Management
- Reservations
- Inventory CLI reference
- Inventory API reference
- Inventory In-Store Pickup API reference
- Order Processing with Inventory Management
- Managing sources
- Managing stocks
- Link and unlink stocks and sources
- Manage source items
- Perform bulk actions
- Manage Low-Quantity Notifications
- Check salable quantities
- Manage source selection algorithms
- User Stories
- Support of Store Pickup for MSI
- Product list assignment per Source
- Source assignment per Product
- Stocks to Sales Channel Mapping
- Adapt Product Import/Export to support multi Sourcing
- Introduce SourceCode attribute for Source and SourceItem entities
- Assign Source Selector for Processing of Returns Credit Memo
- User Scenarios:
- Technical Designs:
- Module Structure in MSI
- When should an interface go into the Model directory and when should it go in the Api directory?
- Source and Stock Item configuration Design and DB structure
- Stock and Source Configuration design
- Open Technical Questions
- Inconsistent saving of Stock Data
- Source API
- Source WebAPI
- Sources to Sales Channels mapping
- Service Contracts MSI
- Salable Quantity Calculation and Mechanism of Reservations
- StockItem indexation
- Web API and How To cover them with Functional Testing
- Source Selection Algorithms
- Validation of Domain Entities
- PHP 7 Syntax usage for Magento contribution
- The first step towards pre generated IDs. And how this will improve your Integration tests
- The Concept of Default Source and Domain Driven Design
- Extension Point of Product Import/Export
- Source Selection Algorithm
- SourceItem Entity Extension
- Design Document for changing SerializerInterface
- Stock Management for Order Cancelation
- Admin UI
- MFTF Extension Tests
- Weekly MSI Demos
- Tutorials