Powered By Blogger
Showing posts with label Automation. Show all posts
Showing posts with label Automation. Show all posts

Monday, April 13, 2015

Jenkins: An Introduction to Continuous Integration

Jenkins, a well known, popular continuous integration tool had a humble begining. It was known as Hudson server back then and was renamed as Jenkins by the open source community.

Jenkins is popularly used to implement continuous integration in projects.


Download and Install Jenkins

1. Install tomcat in the local system
2. Download the latest version on jenkins war from Jenkins Home page
3. Do a hot deployment on the tomcat.
4. Navigate to localhost:8080/jenkins.

Configure Jenkins Security

Jenkins has different configurations for security - authentication and authorisation.
Navigate Manage Jenkins-->Configure Global Security
1. LDAP
2. Jenkins Own User db
3. Unix User group.

Depending on the environment select anyone of the security realm and configure users and roles.

Configure Plugins
Jenkins has rich set of plugins that comes built in with it. Also there are umpteen number of external plugins that is part of the Jenkins.

These plugins are easy to configure and install.
Navigate Manage Jenkins-->Manage Plugins

1. Depending upon the Projects technical stack we can choose the compatible plugins and install them.

Coming up next in the series
1. Configure win-slave
2. Creation of jobs




Tuesday, March 19, 2013

Test Automation Framework



Automation!!!!! framework!!! maintainence!!!!!!ROI!!!! …. These are the terms generally heard by many automation specialists in their day to day activity. In this post I would like to discuss on what exactly these terms mean and I appreciate additional information from the fellow bloggers on this topic
First, Automation as name suggests automation in testing jargon means zero manual intervention. Many testers are mislead by this techinal word and think that anything and everything can be automated and they can happily take rest thinking that automation is taking care of everything. This kind of thinking is wrong. Let me explain what automation is all about.  Automation is duplicating the manual testing work through a tool. It has got some rules to be followed else it will be a headache for a tester
The basic thumb rules for automation are .. 100%  Automation is not possible – practically. Rule number two.. Automation should only be done when the product attained stability in terms of functionality, perfomance and behaviour. Rule number three automation should be done only when there are many  regression cycles.
These three rules are very important in determining whether one can proceed to automate an appliation.
Coming to Framework, a term thats used very frequently has a very important role to play in automation. Framework  actually means  the strategy, method, rules or policy that are proposed for automation. It doesnt mean any files, folder structure etc. Framework  may vary depending on the type of tools the tester use.  Designing a Framework means designing a strategy, rules, method  before proceeding to developing scripts.  Generally framework can be categorized into 3 types
 1. Keyword Driven
2. DataDriven
3. Hybrid Framework
Keyword Driven Framework deals with keywords. Keywords are functions used to perform an action. For Example
Login
Navigate
Validate
Logout
The above mentioned functions are keywords that are used to perform series of actions. This is the essence of Keyword driven framework
DataDriven Framework deals with loads of data. In this framework a data driver file exists that inputs data to the script. This data can be test data or object data(Object properties). The whole framework depends on data driver script
Hybrid Framework is a combination of keyword and data driven framework. It uses keywords and data driver scripts.
Now the important aspect of Automation is maintainence time. What is the time required to maintain and fix the scripts for errors. Maintainence time of the scripts should be a minimum as possible so that the lapse in execution is prevented. For  minimal maintainence the framework should be foolproof.  Maintainence is dependent on Framework.
Let us take a scenario to explain the dependency. Let us say after first cycle of regression of some 70 scripts, the login page changed and now has 3 text inputs instead of two.  Now if your framework cant handle this change with minimum changes then the maintainence and fix time for the 70 scripts will increase many folds thereby pushing forward the release cycle.  Seeing the other side of this if the framework handles this change with minimum code change, maintainence time would be lesser than it would be in the earlier case.
Now coming the term most managers use knowingly or unknowingly is ROI. ROI is  Return on Investment.
 Companies spend lot of money on Automation tool and obviously look for returns from that tool. In my opinion, I may be wrong, ROI is linked with time. One cant expect ROI immediately after buying the tool.