Ten Concepts to create Successful Automation Scripts
Automation is of no use if the automation scripts cannot be reused. The amount of tuning and modification tobe made onto a script if becomes much more with time then the scripts end up in trash. It is therefore wiseto develop scripts that can be easily maintained with minimal necessary changes which will bring maximumbenefit to the project. It is hence advised to develop scripts with broader scope.Majority people think that automated testing constitutes of a way to record and then to play back the variousfunctions of an application but it is just a small part of the big picture. Lets talk about the 10 things whichcan be practiced by an automated tester to keep the automated tests useful and free from majormaintenance.It is always advised to have an automation team to
have some software development experience
. A basicunderstanding of programming concepts helps in setting variables, using regular expressions, creating loopsand extracting header data while creating automated scripts.
Planning of test scenarios
prior to automation activities is a good practice. It is crucial to design the testsbefore recording the scripts. It is always good to examine the functional specifications and design tests tocover the requirements. Before designing the scripts, the automated tester should always ask the followingquestions:
Which part of the application will be reused on every or most of the scripts? (Example: Login andLogout)
Are there any variables that will be reused on every or most of the scripts? (Example: User Name,Password, Host Name and Port Number)Proper
of the tests is equally essential in successful test automation. Scripts should always bearranged according to the actual business scenario. Structure of the script should match to the functionalareas of the application. For example, if we consider a script to test an Invoicing system then the scriptshould be organized in the following way:
LogoutIt is important to create
scripts that should clean up the data created
during the automated tests. Thetest data created during automated testing might create havoc for the development team and the functionaltesters when they are verifying the system data. For example, if invoice are created while testing then it isbetter to delete those invoices.
Be certain of your Assertions.
Assertion determines whether a test passes or fails, and they are criticalcomponents of any successful test script. Keep the assertions simple and validate them with individualprogram components, such as:
Page name displayed for each request
The correct fields being displayed
Message displayed for incorrect data
Correct text color
Proper functions/buttons being enabled/disabled
Create scripts to test the negative scenarios.
It is always better to break the system before theCustomer breaks it. So automated scripts should be created to attempt scenarios that can break the system,such as entering bad data into forms, entering incorrect symbols, entering incorrect credit card informationetc.
Tests should execute on various environments.
Scripts should be flexible enough to run on theapplication in the alpha, beta and production environments.
Usage of Configuration Management.
Scripts should always be in source control software and test teamshould develop a document that describes the script development standards and the deployment of thescripts within a development and production environment.
Scheduling regular test runs.
To ensure that the scripts are up-to-date and can be reused, it is advised toschedule automated tests on regular intervals. The scheduler can be set up to run when all users have