You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the business problem the contribution solves
The business problem that this contribution aims to solve is the need for a versatile and adaptable test automation framework. This framework should be open-source and modular in nature, allowing organizations to efficiently automate their testing processes across different layers of their software applications. Additionally, it should provide a comprehensive set of utilities and tools to facilitate data validation use cases within ETL and data pipeline worlds, making it a valuable asset for quality assurance and software testing teams.
Proposed Solution
Describe the type of contribution (project or working group) and how it solves that business problem
The proposed solution addresses the business problem by offering an open-source test automation framework developed in Python. This framework is designed to be feature-rich and versatile, providing support for various testing layers such as Web, Mobile, API, Database, and Thick Client (Desktop). A distinctive feature of the solution is its exhaustive support for various databases, warehouses, analytical cubes, data validations and data conversions. One of the key advantages of this solution is its extensive library of reusable methods, making it easier for quality assurance teams to create and execute tests efficiently.
This contribution takes the form of a project, delivering a modular framework that allows users to install specific components as needed, rather than requiring the installation of the entire framework. This modular approach enhances flexibility and scalability, ensuring that organizations can tailor their test automation setup to their specific requirements.
Moreover, the solution is accompanied by comprehensive documentation and a user guide. This documentation not only assists in the seamless onboarding of new users but also serves as a valuable resource for ongoing support and troubleshooting. In summary, this project offers a robust and adaptable solution to the test automation needs of organizations, helping them improve the efficiency and effectiveness of their software testing processes across different layers of their applications.
Tentative Roadmap
Describe the short and medium term goals and phases of the project. What does success look like for this project?
In the short term, our project aims to achieve modularity by breaking down various components of the framework into independent and reusable modules. This will provide users with the flexibility to select and use specific modules that align with their testing needs, ensuring a more tailored and efficient experience.
In the medium term, we aspire to build a comprehensive ecosystem around the framework. This ecosystem will include the development of features such as advanced reporting capabilities, seamless integration with CI/CD pipelines, and the incorporation of additional test automation utilities. These enhancements will not only streamline the testing process but also enhance the overall efficiency and effectiveness of test automation efforts.
Success for this project will be defined by several key indicators. First and foremost, it will be measured by the adoption rate within the testing and quality assurance community. A growing user base and positive feedback from users would signify the project's success. Additionally, the ability of the framework to consistently support various testing layers and the maturity of the ecosystem built around it will be crucial factors in determining success. Ultimately, success will mean providing a valuable, adaptable, and widely embraced solution for test automation that addresses the diverse needs of organizations across different industries.
Current State
Summarize the history and current state of the project
The project has evolved significantly over its history, growing from its initial stages to become a robust and versatile test automation framework. It has benefited from ongoing development and enhancements, primarily driven by the internal Quality Assurance teams at S&P Global.
At its current state, the framework boasts an extensive collection of utilities and features that have been meticulously crafted and refined over time. These utilities are a testament to the framework's maturity and effectiveness. They cover a wide range of functionalities, including but not limited to:
Test Automation Coverage: The framework supports test automation across multiple layers, including Web, Mobile, API, Database, and Thick Client (Desktop). This broad coverage ensures that various aspects of software testing can be efficiently addressed.
Utility Functions: Beyond test automation, the framework includes a plethora of utility functions. These functions encompass file parsing, file transfer, date-time handling, integration with AWS services, Elasticsearch integration, and a comprehensive set of assertions and exception handlers. These utilities make it a versatile toolkit for handling various software testing challenges.
Data Validation Functions: Connectors to various database platforms such as MSSQL, MySQL, Oracle, Postgres, Cassandra etc., and to various engines like Databricks, Snowflake and Apache tools. Other utilities would include parsers, converters, comparators and not limited to these alone.
Existing Materials
If materials already exist, provide a link to them that Foundation staff can access - if it's in a private GitHub.com repositories, you should invite the finos-admin user with R/O permissions to those repositories
GitHub / GitLab Repository (delete as appropriate)
URL for the repository (if it exists)
Project Name CAFE
@finos-admin has been given read-only permissions if private
If applicable, list all of the individuals that have expressed interest in and/or are committed to contributing to this project, including full name, affiliation, work email address, and GitHub.com username
Describe the contributor profile (background, position, organization) you would like to get contributions from.
Python Developer
Skilled in developing robust and scalable applications using Python. Experienced in writing clean, efficient code and familiar with test automation frameworks. Passionate about problem-solving and continually improving code quality.
CI/CD Engineer
Expert in Continuous Integration and Continuous Deployment practices. Proficient in setting up and managing CI/CD pipelines using tools like Jenkins, and GitHub Actions. Dedicated to automating workflows to ensure seamless and reliable software delivery.
Project Communication Channel(s)
Contributor to ask maintainers which communications channels they'd like to use:
Asynchronous
GitHub Issues (public)
GitHub Discussions (public)
GitHub Team Discussions (consisting of the above described contributors)
Public
Private
Mailing-list (groups.io)
FINOS Slack Channel (consisting of the above described contributors)
General (public) (supply channel name)
Leadership (private) (supply channel name)
Synchronous
Recurring meetings
Understanding FINOS Onboarding Requirements
As a project onboarding into FINOS, you will need to familiarize yourself and your contributor team with the following materials:
(optional) Identify and Assign FINOS Strategic Advisor
Submit contribution to LF by opening a ticket via https://jira.linuxfoundation.org/browse/SS and marking contribution as "Exploratory"; attach a summary of the Business Problem and Proposed Solution (above) of the project.
TOC to invite contributors to present their project
FINOS TOC approves/rejects the contribution
Ask @jgavronsky to mark contribution as "Engaged" within LF systems
(optional) If additional socialization is required, the Executive Director may bring projects to the FINOS Governing Board
Update the contribution status to "Engaged" by sending another email to LF Legal Representative with the name of the project and its new status.
TOC Findings / Report
TOC to enter findings summary here.
3. Preparing For Onboarding
Before the FINOS team can onboard your project, there are a few housekeeping that need to be taken care of. These must be completed by the contributor, with help if required from the FINOS Infra.
Kick-off meeting
Set up kick-off meeting with project leads
Run kick-off meeting
Walk through the checklist in part 1, ensure all the questions are answered and remove items that don't apply
Write and send contribution proposal announcement (optional - see below)
Proposal (Lead Maintainer)
Lead maintainer to send out announcement to community@finos.org using this template:
Dear FINOS Community,
We would like to propose a new FINOS project. Please review the proposal details at (_TODO: add link to the GitHub issue proposal_).
If you're interested in participating, please :+1: the GitHub issue proposal and drop a comment with your name, org and email
Thanks a lot,
Logo / Trademarks
Sign the project contribution agreement to allow FINOS to act on behalf of the contributor for accounts related to the project (e.g., GitHub, domain names, social media) and to optionally manage trademark assignment
Request logo design from help@finos.org(if needed)
The codebase doesn’t include any patent or copyright that conflicts with FINOS Governance and bylaws. (Infra team to validate with FINOS Legal team if anything important is raised)
FINOS Project Blueprint
finos-admin is Admin of the GitHub repository to transfer
@kharikishan thank you for the contribution proposal! As described in point number 2 of this issue the FINOS TOC will be taking a look at your proposal. Please allow us some time to get back to you.
Update: FINOS TOC has asked CAFE team to share some code in order to be able to properly asses the contribution. CAFE team is working on sharing a repo.
Please note that only FINOS members can propose new projects. If you're interested in membership, see https://www.finos.org/membership-benefits#become-a-member.
Onboarding Process
Completing an onboarding of a project into FINOS requires following these 5 main steps:
1. Describing The Contribution
Business Problem
Describe the business problem the contribution solves
The business problem that this contribution aims to solve is the need for a versatile and adaptable test automation framework. This framework should be open-source and modular in nature, allowing organizations to efficiently automate their testing processes across different layers of their software applications. Additionally, it should provide a comprehensive set of utilities and tools to facilitate data validation use cases within ETL and data pipeline worlds, making it a valuable asset for quality assurance and software testing teams.
Proposed Solution
Describe the type of contribution (project or working group) and how it solves that business problem
The proposed solution addresses the business problem by offering an open-source test automation framework developed in Python. This framework is designed to be feature-rich and versatile, providing support for various testing layers such as Web, Mobile, API, Database, and Thick Client (Desktop). A distinctive feature of the solution is its exhaustive support for various databases, warehouses, analytical cubes, data validations and data conversions. One of the key advantages of this solution is its extensive library of reusable methods, making it easier for quality assurance teams to create and execute tests efficiently.
This contribution takes the form of a project, delivering a modular framework that allows users to install specific components as needed, rather than requiring the installation of the entire framework. This modular approach enhances flexibility and scalability, ensuring that organizations can tailor their test automation setup to their specific requirements.
Moreover, the solution is accompanied by comprehensive documentation and a user guide. This documentation not only assists in the seamless onboarding of new users but also serves as a valuable resource for ongoing support and troubleshooting. In summary, this project offers a robust and adaptable solution to the test automation needs of organizations, helping them improve the efficiency and effectiveness of their software testing processes across different layers of their applications.
Tentative Roadmap
Describe the short and medium term goals and phases of the project. What does success look like for this project?
In the short term, our project aims to achieve modularity by breaking down various components of the framework into independent and reusable modules. This will provide users with the flexibility to select and use specific modules that align with their testing needs, ensuring a more tailored and efficient experience.
In the medium term, we aspire to build a comprehensive ecosystem around the framework. This ecosystem will include the development of features such as advanced reporting capabilities, seamless integration with CI/CD pipelines, and the incorporation of additional test automation utilities. These enhancements will not only streamline the testing process but also enhance the overall efficiency and effectiveness of test automation efforts.
Success for this project will be defined by several key indicators. First and foremost, it will be measured by the adoption rate within the testing and quality assurance community. A growing user base and positive feedback from users would signify the project's success. Additionally, the ability of the framework to consistently support various testing layers and the maturity of the ecosystem built around it will be crucial factors in determining success. Ultimately, success will mean providing a valuable, adaptable, and widely embraced solution for test automation that addresses the diverse needs of organizations across different industries.
Current State
Summarize the history and current state of the project
The project has evolved significantly over its history, growing from its initial stages to become a robust and versatile test automation framework. It has benefited from ongoing development and enhancements, primarily driven by the internal Quality Assurance teams at S&P Global.
At its current state, the framework boasts an extensive collection of utilities and features that have been meticulously crafted and refined over time. These utilities are a testament to the framework's maturity and effectiveness. They cover a wide range of functionalities, including but not limited to:
Test Automation Coverage: The framework supports test automation across multiple layers, including Web, Mobile, API, Database, and Thick Client (Desktop). This broad coverage ensures that various aspects of software testing can be efficiently addressed.
Utility Functions: Beyond test automation, the framework includes a plethora of utility functions. These functions encompass file parsing, file transfer, date-time handling, integration with AWS services, Elasticsearch integration, and a comprehensive set of assertions and exception handlers. These utilities make it a versatile toolkit for handling various software testing challenges.
Data Validation Functions: Connectors to various database platforms such as MSSQL, MySQL, Oracle, Postgres, Cassandra etc., and to various engines like Databricks, Snowflake and Apache tools. Other utilities would include parsers, converters, comparators and not limited to these alone.
Existing Materials
If materials already exist, provide a link to them that Foundation staff can access - if it's in a private GitHub.com repositories, you should invite the finos-admin user with R/O permissions to those repositories
Development Team
Maintainers
Who will be the project maintainer(s)? Provide full name, affiliation, work email address, and GitHub / GitLab username.
Confirmed contributors
If applicable, list all of the individuals that have expressed interest in and/or are committed to contributing to this project, including full name, affiliation, work email address, and GitHub.com username
Target Contributors
Describe the contributor profile (background, position, organization) you would like to get contributions from.
Python Developer
Skilled in developing robust and scalable applications using Python. Experienced in writing clean, efficient code and familiar with test automation frameworks. Passionate about problem-solving and continually improving code quality.
CI/CD Engineer
Expert in Continuous Integration and Continuous Deployment practices. Proficient in setting up and managing CI/CD pipelines using tools like Jenkins, and GitHub Actions. Dedicated to automating workflows to ensure seamless and reliable software delivery.
Project Communication Channel(s)
Understanding FINOS Onboarding Requirements
As a project onboarding into FINOS, you will need to familiarize yourself and your contributor team with the following materials:
Record The Contribution (FINOS Infra)
2. Approval
The FINOS Technical Oversight Committee (TOC) is responsible for approving FINOS project contributions; feel free to check their contribution principles.
If needed, the TOC will request a follow up either via GitHub Issue comments or by inviting project leads to one of their recurrent meetings.
Tasks (for FINOS Infra/TOC)
ready-for-tsc
labelTOC Findings / Report
TOC to enter findings summary here.
3. Preparing For Onboarding
Before the FINOS team can onboard your project, there are a few housekeeping that need to be taken care of. These must be completed by the contributor, with help if required from the FINOS Infra.
Kick-off meeting
Proposal (Lead Maintainer)
Lead maintainer to send out announcement to community@finos.org using this template:
Logo / Trademarks
help@finos.org
(if needed)FINOS Project Blueprint
CONTRIBUTING.md
LICENSE
(replace{}
placeholders)Add documentation here
4. FINOS Onboarding
This is performed by FINOS Infra once the three previous stages are complete, with support from the contributor and the FINOS Infra team.
Maintainers, Contributors and CLAs
<project-name>-maintainers
GitHub team and invite usersValidation (only if code is contributed)
Admin
to all repositories to transferCode transfer
main
(instead ofmaster
)finos-admins
(Maintain
role) andfinos-staff
(Triage
role) team permissionsProject Communication Channel(s)
Email List
andEmail
filter fields), particularly Hubspot all community listRepository setup
staging
branch onfinos/finos-landscape
finos/metadata
changes on master (will udpdatelandscape.yml
infinos/finos-landscape
)staging
branch onfinos/finos-landscape
finos
Require a pull request before merging
)5. Announcement
(Lead: Project Lead and FINOS Infra team)
The text was updated successfully, but these errors were encountered: