How do you “Build a framework”? - Automation in Testing Curriculum

Hi all,

We’re continuing our work to create a curriculum focused on automation that is created with feedback from the testing community. We’ve already run a series of activities that have helped us identify a list of key tasks that helped us create this Job Profile 2.

We’re now in the process of going through each task and analysing them to identify the core steps we take to achieve them. For this post we’re considering the task:

We’ve run a series of community activities including social questions and our curriculum review sessions to identify the steps we need to take to successfully achieve this task and have listed them below:

Identify framework requirements

Reporting requirements

Standalone / embedded?

Execution requirements (parallel runs, multiple browsers etc.)

Test data management?

Create an architecture diagram of the type of solution we want

Run an proof of concept spike

Technical analysis on which tools can and cannot be used

Develop a basic framework

Test out off the shelf tooling

Create a space to version control the framework in

Setup framework with required libraries and configurations

Create an initial check to demonstrate necessary abstractions

Sharing knowledge of framework with others

Create documentation detailing how to use the framework

Upload framework within version control

Integrate framework in CI/CD

What we would like to know is what do you think of these steps? Have we missed anything? Is there anything in this list that doesn’t make sense?

What are your thoughts on these steps? How do you go about building a framework?

Looks really good! Forgive me if this is wrapped up in another bulletpoint and you don’t think it needs calling out explicitly (or its in another section) but what about choosing the language?
A lot of frameworks only support some languages, and if its important that you align with the language supported by the wider engineering team then maybe this needs to be factored in.