Automation Approach for ERP
Agenda
- ERP Automation Approach
- Selenium Automation Framework Overview
- ERP Automated Functional Tet Case Demo
- ERP Automated Pipeline Trigger Demo
- ERP Automated Integration Test Case Demo
Automation Preconditions:
Document Gathering:
- Finalized design diagram
- Requirement document
- Detailed test scenarios
Access Required:
Access required as per the application requirement (ALM, ALM Excel Add-Ins, Bitbucket, Terminal Server, Oracle Fusion Application, Azure Data Storage File Location, User Credentials access, Automation Environment)
Identify Technology and Tools:
Feasibility analysis of test scenarios
Oracle Fusion application for UI Validation
Categorization and Prioritization:
Prioritize test cases based on biggest business impact and categorized test cases based on functionalities (Functional flows, Integration Flows, Batch runs)
Automation Framework and Scripting approach:
New keyword functions and locators will be added to support new functionality
Oracle Fusion application for UI Validation
Categorization and Prioritization:
Prioritize test cases based on biggest business impact and categorized test cases based on functionalities (Functional flows, Integration Flows, Batch runs)
Automation Framework and Scripting approach:
New keyword functions and locators will be added to support new functionality
Existing Selenium for web-based application
Automation Design Appraoch for SIT1:
Part 1 of Automation Script:
All Oracle Fusion Functional Flow for all scenarios
Part 2 of Automation Script:
Trigger Azure Integration Pipelines
FUSION_EXTRACT_RUN, FUSION_EXTRACT_DECRYPT, FUSION_EXTRACT_VIRUSFREE, FUSION_EXTRACT_OUTBOUND
FUSION_EXTRACT_RUN, FUSION_EXTRACT_DECRYPT, FUSION_EXTRACT_VIRUSFREE, FUSION_EXTRACT_OUTBOUND
Part 3 of Automation Script
Verify the content of generated file for all Integrations for all scenarios
Verify the content of generated file for all Integrations for all scenarios
Ways to trigger pipeline:
Test Suite to trigger pipelines will have test cases for both of the following, giving us the flexibility to trigger pipelines as needed:
Triggering pipeline for all integrations at once
Trigger pipeline for each integration separately
Trigger pipeline for each integration separately
Automation - Total Coverage, Planned Test Scripts for E2E coverage, Total Test Scripts Delivered
E2E Scenario: New Hire of Full Time Regular Union Employee
1.Functional Flow in Oracle Fusion
- Recruiter assigns candidates to the requisition
- Recruiter creates, extends and accepts offer
- Recruiter accepts offer on behalf ofa candidate
- Recruiter moves candidate to HR
- Convert the pending worker to employee
- Probation calculation extension
- Compensation Admin Run GSP Extension
- Compensation Admin Run gsp pROCESS
- HRDA validate absence plan enrolment and accruals
2.Trigger Pipeline
3.Verify the content in the files
E2E Scenario: Terminate a Full Time Union Temporary Employee
1.Functional Flow in Oracle Fusion
- HRDA initiates Termination
- Notification to Manager
- Compensation Admin - Assign Termination Notice - Temp EE ICP
- HRDA validate absence plan enrolment and accruals
2.Trigger Pipeline
3.Verify the content in the files
CDS Automation Approach:
SCENARIO
Traditional way of comparing CDS files (csv to Parquet) is time consuming taking ~30-60 mins per file comparison, error-prone, and couldn't scale with growing data volumes
TASK
To automate this "Sort-and-Compare" workflow within our Selenium framework to handle multiple large different files (csv and parquet) without manual effort.
CHALLENGE
- CSV treats everything as text; Parquet uses binary types.
- Hardcoding column names means tests break when the schema changes.
- Large files (2GB+) crash the JVM due to Heap limits.
- Comparing 100+ columns across millions of rows takes minutes.
SOLUTION: DuckDB Engine
What is it? An in-process SQL OLAP engine that requires no server installation.
Why DuckDB?
Why DuckDB?
- Treats .csv and .parquet like database tables instantly.
- Uses the EXCEPT operator to find differences in seconds
- Extremely low memory footprint; it "streams" data rather than loading it all.
- Read Parquet schema without hardcoding column names
- Normalize the values automatically vis SQL to prevent "false failures" from white spaces or casing.
- Eliminate nose by re-structuring the files in memory to have exact same column order and then sort every row by every column
- One-Line comparison by executing a single query to find records in the CSV missing from Parquet.
- Actionable Reproting: If a mismatch is found, automatically trigger COPY TO 'mismatch_report.csv' for analysis.
No comments:
Post a Comment