What is it?: As the name suggests, It is a combination or mixture of either two or more basic frameworks.Say some parts of your application is best solved by keyword driven framework and some parts can be resolved by only record and play back. Then you can apply both the framework.
say we have scenario where you have to test a signature or do a signature on a paint window or draw a picture. All leading frameworks fail at that point. No framework will support draw graphics of a signature . Building such coding will be expensive. So the solution is to add record playback framework with your existing framework to do this part.
It can also be data driven but modular approach.Any framework which is a combination of two different approach can be treated as hybrid framework.
It is the most commonly implemented framework due to its easy implementation and extensible.
Mostly combination of different framework is made to mitigate their risks and disadvantages and extend their advantages depending on the project objective.
|Common Frameworks used for building Hybrid:|
- Data driven framework
- Keyword driven framework
- Modular framework
- BPT framework
- Record playback(Linear framework)
The objective of building such framework is to maximize the strength of each framework and minimize the weakness. We are actually hiding the weakness of one framework with another framework’s strength. One more intention to make such a mixture of framework is to make our run without any issue and manual intervention.
|How to develop Hybrid Framework?|
Test engineers checks the manual test scripts. Here we can have two conditions..
- The application is present
- The application is yet to come.
At this point test engineers will have to select set of approaches to be followed to automate a flow.After this point, there will be a brain storming process to detect the cost benefit analysis on different approaches. For each of the process the best yield results will be captured.
The set of best approaches will be summarised and published as Hybrid Framework.
There is no fixed guideline while developing the hybrid framework.Anything that suits our requirement can be placed in hybrid framework. But as great freedom comes with great responsibility, Hybrid developers needs to careful and needs to have programming knowledge.
Proactively find issues in production is an important aspect of test automation.Automation runs best when you know the objective of it and guiding principles.
An important step to follow for using any framework is not to reinvent the wheel.Reuse whenever possible.Do not just automate in any one approach rather use something which is useful.This will give us greater value.
Tailoring the reporting will give more information than traditional reporting. There can be multi folds of reports.
1. Incident reporting- This talks about all the failures.
2. Escalation-This is refined for potential bugs.
Reporting also should talk about the type of bug,platform information,general statistics,detection rate,redundancy for tests.There are few good to have feature like-email triggering of the result,XML testdata file for light weighted testdata input,logfile generation etc. Sharing testresult across team is very important. It is having two way effect. One way development team will be extra careful next time onword about the product code at the same time test developers will be extra careful while designing the test.
It is very important to seek feedback for further improvement areas.Sometimes even the customer gives feedback about some corner cases which in house QA never thought off.For this purpose regularly observe the automation runs.Even the UAT testers can give lot of scenarios.It is always better to have existing automation scripts. But need to upgrade if some functionality is broken or needs up gradation.Automation execution can be really noisy for synchronization issues. Application slowness,test tools fastness contribute the most. There are third party software which also contributes to this. Be careful when using combinations of software or tool.By seeing the execution trends you can determine the same.
Sometimes we use by pass logic or work around to make a testcase pass. This can give a false positive result. Actual bug can be hidden behind this. So make sure you workarounds are limited and well tested.Discussing about the automation scripts ,scenarios and what automation is actually doing may give automation team a better idea and understanding.This is also reduce the pressure on automation team. It will clear the road blocks.So communication also plays a vital role. So don't be afraid of asking or questioning the area which you don't know.
A significant benefit of hybrid framework is the ability to support multiple browsers,platforms and technology stacks. So take proper advantages of capabilities,object clesses and business classes.
To get success via hybrid framework, management support is not only necessary but also critical.but the expectation from automation should be realistic.Even though we are using a hybrid framework, the main objective should be to pick up a small testcases and automate.The small step forward will give automation and the underlying concept a huge boost.
In hybrid framework,automation team can be divided into developers,executors(including report generators and analysis),functionality automator,gatekeeper,reviewer etc.when the responsibilities are given as per knowledge level, the chance to excel with automation will go high.