Monday, March 28, 2011

Automation Feasibility Checklist


Abstract:
Software testing is an activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results. The difficulty in software testing stems from the complexity of software. Testing is more than just debugging. The purpose of testing can be quality assurance, verification and validation or reliability estimation. Testing can be used as a generic metric as well.
In this article, we came up with an Automation Feasibility Checklist (AFC) which would be helpful for effective and efficient automation testing.
Introduction:
Manual Test case is the entry point for any automation, but there are some criteria which hinders the automation process which includes:
  • Lack of clarity in test steps
  • Lack of test data
  • Traceability coverage
  • Identification of Dependencies/Pre-requisites of test cases in a business scenario
  • Presence of logical closure
It is better to identify these problems earlier so that it can reduce the effort in manual execution thereby pave way for effective automation.
Automation Feasibility Checklist (AFC):
Automation Feasibility Checklist is used to identify whether the manual test case is feasible for automation or not. The following are the criteria to determine the automation feasibility of the test cases:
Essential Criteria
  • Dependencies/Pre-requisites
  • Detailed Test steps
  • Test Data availability
  • Expected results
  • Traceability
Optional Criteria
  • Meagre Application Knowledge
  • Subject Matter Expert’s (SME) support
  • Duplication of test steps
  • Availability of multiple sets of data
Snapshot of AFC
Benefits of Automation Feasibility Checklist:
  • Reduces the Manual execution effort.
  • Improves Automation efficiency.
  • Helps to derive effective Manual test cases.
  • Control and avoid risks in Automation.

Thursday, March 17, 2011

Welcome back … Good Times!


As the winter recedes and spring is ready to bloom in the northern hemisphere – the fears of doom and gloom recede too. If one looks at the IT Industry worldwide with lens of India-based software service providers, the sense of déjà vu is back. Fond memories of the good times come rushing back.

Now you may ask; what makes me say this?  After a dismal period ranging from late 2008 to early 2010; the tide has turned. After few years, this could well be the first year where Fortune 500 companies may have a year-on-year increase in their planned IT Spend. Further, the stress that had engulfed everyone from the Wall Street to the Main Street and everyone in the middle has dwindled and the early signs of a return to growth have clearly emerged. The visible trends, sound bites cuts across most industry verticals which further reinforce the confidence that IT Industry could register healthy growth in 2011.

You could also ask me; have we gone to the good old days again? I would say – Well, that is where we want to go but we are not there yet. While the mood is buoyant, all the pieces of the jig saw puzzle have not fallen into place yet. There are pockets of concern particularly in continental Europe which are still battling sovereign debt, geo-political uncertainties in Middle East, North Africa and natural calamities in Japan. Hence, it may take a little while longer for all the regions to buzz in unison. Having sounded the cautionary tone, the mood has certainly swung in favor of committing investments; driving growth and leveraging the winds of change.

If you agree with this, you may ask – what does the return to growth mean to me? It certainly signals good times! It means the activity levels will remain high. New clients will be added. New deals will be signed. The clients will reap the benefits of IT Outsourcing and the Service Providers will deliver value. The economics will work in favor of both economies and the employees at both sides will be happy to see more greenbacks (or whatever the color of your currency).
So, join me in ushering in the Good Times again!
===============================================================
The author of the piece is: Sreenivas V. He is the Chief Strategy Officer at Hexaware Technologies Limited. The contents on the blog above are his personal views.

Tuesday, March 15, 2011

Configuring Informatica File Transfer Protocol


Informatica File Transfer Protocol can be used to transfer/move files from different environment into our pre-defined Landing Zone. It can also be used to transfer file to the destination folder/directories.   The Integration Service can use FTP to access any machine it can connect to, including mainframes.

Configuring FTP in Informatica Workflow
To use FTP file sources and targets in a session,
  • Create an FTP connection object in the Workflow Manager and configure the connection attributes
  • Configure the session to use the FTP connection object in the session properties.
  • Specify the Remote filename in the connection value of the Session properties.
Guidelines
  • Specify the source or target output directory in the session properties. If not specified, the Integration Service stage the file in the directory where the Integration Service runs on UNIX or in the Windows System directory.
  • Session cannot run concurrently if the same FTP source file or target file located on a mainframe.
  • If a workflow containing a session that stages an FTP source or target from a mainframe is aborted, then the same workflow cannot be run until it’s timed out.
  • Configure an FTP connection to use SSH File Transfer Protocol (SFTP) while connecting to an SFTP server. SFTP enables file transfer over a secure data stream. The Integration Service creates an SSH2 transport layer that enables a secure connection and access to the files on an SFTP server.
  • To run a session using an FTP connection for an SFTP server that requires public key authentication, the public key and private key files must be accessible on nodes where the session will run.
Configuring Remote Filename
Attribute Description
Remote Filename The remote file name for the source or target.  Indirect source file name to be entered, in case of indirect source file is sent. Use 7-bit ASCII characters for the file name. The session fails if it encounters a remote file name with Unicode characters.
If the path name is provided with the source file name, the Integration Service ignores the path entered in the Default Remote Directory field. The session will fail if the File name with path is provided with single or double quotation marks.
Is Staged Stages the source or target file on the Integration Service. Default is “Not staged”.
Is Transfer Mode ASCII Changes the transfer mode. When enabled, the Integration Service uses ASCII transfer mode.
-           Use ASCII mode when transferring files on Windows machines to ensure that the end of line character is translated properly in text files. When disabled, the Integration Service uses Binary Transfer mode.
-          Use Binary Transfer mode when transferring files on UNIX machines. Default is disabled.

Tuesday, March 1, 2011

Informatica – User Defined Functions


Informatica User Defined Functions are similar to Built-in Functions, where these functions need to be created once and execute multiple times. Transformation logics that are common across the ports are the ideal candidate for User Defined Functions.
Transformation Logic implemented without User Defined Functions

Validation “IIF( ISNULL(LTRIM(RTRIM(INPUT))),’TRUE’,’FALSE’)” is being performed in multiple ports.
The disadvantage with this approach is any changes to this validation need to be done in all the ports.
This can be addressed by creating a User Defined function and have the logic incorporated there.
Steps to Create User Defined Functions
Step 1 : Right-click on the User-Defined Functions folder in a repository folder in the Designer.
Click on “New”
Step 2: In Editor add the transformation logic / validation that needs to be performed.
Click ok and validate the UDF.
User Defined Function – Type:
Public if the function is callable from any expression. Private if the function is only callable from another user-defined function.
To Call User Defined functions from Port: