What is this all about? Why do we need it?. I had this question in my mind so asked my friend no reply from him. This gave me the idea of exploring more into this topic of Automation Framework.
So I went through quite a lot books & websites to arrive at some definition on this.
So here we go
A FrameWork is nothing but a very organised way of putting your scripts into one place.Framework u can run ur scripts much structured manner.It is very useful in handling Automation Scripts. The design of the Framework varies from Company to company. But there are quite a few that are available which you can use for your automation.
IBM Says " A test automation framework is a set of assumptions, concepts, and practices that provide support for automated software testing"
Lets Start Digging :
A Basic Automation involves a very basic skill of recording & Playback. Through this method. You just have to Open the application along with Automation Tool and Click on the Start Button. There you go all the actions you make on the system gets recorded.This is a very basic way of using any Automation Tool.
Mistakes Made During Record:
1. Before you start recording your application please minimize/close all the other application.I made this mistake so sharing it.It is important that we record only actions for the applications else it is very difficult for us get our results right.
2. Plan well before you make any moves on Automating any application. Plan on how to record , Plan on how you are going to use the datas & populate a value from databases,arranging of your databases.
3. Plan on how your going to arrive at Test Results.
4. Plan on your Frameworks. Decide before you start as to what is suitable & why it is.
5. Guide a Person well if you are trained person. As Novice may our of interest will start recording in the manner her understands but he may come up with results which may need changes.So had you guided him initially he will come up with better results so will be your plans.
Assumptions of Record/Playback
The makers of test automation tool sell/market their product with the ability to capture the user actions and later to playback them. The basic idea of how a GUI-based automated testing works is by its Record/Playback method which is also called as Capture/Replay approach.
The basic of Record/Playback is:
1. Design a test case in the test management tool.
2. Using the Capture Feature you can using the capture feature & record the user actions. What you get is a macro-like script where each user action is presented.You Enhance the recorded script according to your requirement for that you should be aware of a VB Script (mostly used in all the Automation Tool)for you to synchornise it different scripts.
3. Playback the scripts and observe the results in the log of the test management tool.
The basic disadvantage with this method is that
1.You need to keep changing it according to the changes of your,this method contains hard-corded values which if changed frequently involves cost. The Cost are indeed very high & are unacceptable. We use automation tool for reducing our cost in man-power & for other reducution in cost but if this is not possible then there is no point in going for an automation tool , we are happy with manual testing.
2.These scripts are not reliable, even if the application has not changed, and often fail on replay (pop-up windows, messages, and other things can happen that did not happen when the test was recorded).
3.If the tester makes an error entering data, etc., the test must be re-recorded. If the application changes the test must be re-recorded. All that is being tested are things that already work. Areas that have errors are encountered in the recording process (which is manual testing, after all). These bugs are reported, but a script cannot be recorded until the software is corrected. So logically nothing is tested by this approach.
So, it is better we avoid using "Record/Playback" as a method of automating testing. This method is filled with problems and is the time consuming which is costly of all methods over the long term.
It can be used only for determining how the tool is trying to process or interact with the application under test, and can give us some ideas about how to develop your test scripts, but beyond that, its usefulness ends quickly.
There are quite useful Automation FrameWorks available are as follows,
Test Script Modularity
Test Library Architecture
Keyword-Driven or Table-Driven Testing
Hybrid Test Automation
I hope you all have found this article useful & interesting. Thanks for your time.