Human Framework is a test automation framework designed for testers without software programming background by allowing them to write test steps or instructions in their own language like English.
Human Framework uses Natural Language Understanding (NLU) for intent classification and entity extraction to be able to perform specific actions. It currently depend on Microsoft LUIS (Language Understanding).
Below is an example of test instructions that Human Framework can understand.
To get an idea of what specific sentences are supported, check the the content of
Open chrome browser https://devpost.com Page title should be "Devpost - The home for hackathons" Page should contain link "About" Click link "About" Page title should be "About us · Devpost" Close browser
LUIS (and other NLU tools) makes it possible to write test cases on any human language. Current version of Human Framework only supports English.
Human Framework was inspired by Robot Framework but leans towards Natural Language Processing (NLP) for writing test cases.
"Human Framework is the Siri or Alexa of automation testing." (minus the voice, but it is possible in the future)
What it does
Human Framework leverages the use of Natural Language Understanding (NLU) by allowing testers to write test steps in sentences using a language that they use everyday (e.g. English, etc.). Human Framework then analyzes these steps by classifying the intents and the entities in the sentences. After intent-classification, Human Framework then executes the desired actions.
How I built it
I built Human Framework using Python 3 and using Microsoft LUIS.ai for intent classification. For the web actions, I used Selenium to automating web browsers.
Challenges I ran into
- I wanted Human Framework to be less developer-centric, however, building an Integrated Editor will require more time and effort.
- To be able to make Human Framework understand every possible sentence and every possible intent, a very exhaustive training data is required which cannot be easily obtained at this time. Adding support for other languages will also require time.
Accomplishments that I'm proud of
I built the core of Human Framework (intent classifier, action execution, reporting) and was able to make it work into the Proof-of-Concept stage.
What I learned
Building a new idea is way easier and faster when the tools needed are available. The availability of LUIS.ai and it's accuracy despite the very few number of training data is very helpful in building Human Framework.
What's next for Human Framework: Test Automation Framework for Humans™
- Support for more languages
- More functionalities for automated testing
- An integrated editor (bye command prompt, hello testers!)
For instructions how to use Human Framework, visit the Github repository: https://github.com/roniemartinez/HumanFramework