Saturday, 22 February 2014

DevOps :Putting Software development on cruise control


I have heard about devOps. Not sure if I know a lot of it and if its relevant to me?. I have often encountered this question .In this article i have tried to answer that.

Automating repetitive procedures can provide real value to software development projects.If you’re a developer \tester\production support  who enjoys spending your time actually adding value to your project, rather than repeating the same routine tasks over and over, you’ll want to
consider advocating the concept of continuous Delivery in your team.Harnessing the power of Continuous Delivery to increase delivery speed, quality & stability via frequent, automated releases.DevOps is an approach to IT focused on fostering cooperation and collaboration from developers through operations and production support. Testers, release managers, and change management teams are included. Through joint efforts, DevOps seeks an IT team that is more responsive to the business, and more efficient while still delivering high quality product in compliance with regulations and separation of duties concerns.

Why   use DevOps?

Without arguing the benefits of Automation in software delivery pipeline there are certainly other  compelling factors once can think of to consider DevOps.Agile development method have promised greater business agility by letting developers create applications faster.But the infrastructure team  and operations teams aren’t always able to deploy the changes / applications at the same speed.Thus, IT experiences the bottlenecks that occur when Agile’s need for speed clashes with operations’ need for stability. The result is non-agile, Agile–a feedback loop with a huge delay in the middle. Second now with the changing ecosystem ,the softwares are getting much more complex and are not just a single component. A typical banking \Big Data Analytics\Mobile application  are amalgamation of various software components orchestrated to work in concert.  Managing these various components each with there own version and maintaining a release ready software  is critical to business in order to incorporate user feedback and changing business trends. Other could be , there is often mismatch in the environment software is developed and the environment in which it is deployed .

The crux is to bring both agile principles such as iterations and cross functional teams together with operations fundamentals automation  , to the entire application lifecycle assessment, development, management and monitoring.  Because DevOps includes a strategy and set of principles, backed up by tooling, for promoting collaboration between development and operations DevOps can help solve the problem of non-agile Agile by producing leaner, more responsive teams that ultimately deliver business value back to the customer.

There are tools available for continuous integration and release management that can enable devops . But tooling alone doesn't enable DevOps. "It's a mindset. Companies need to understand that you can't buy DevOps. You understand and invest in DevOps as a team, a process and a lifestyle." That process can happen on purpose with full buy in up front, or gradually by stealth as part of the natural evolution of a company.

Return on investment on devops?

Adopting Devops is not cheap not just in terms of the cost of tools ,people but the effort it takes .Its not just adopting some tools but the transformational change that the organization goes through .Its important to understand if done in a right way one can realize the value pretty soon.some of the benefits one can realize are

time to market.
Reduce cost/time to deliver
Reduce time/cost to test
Increase test coverage
Increase environment utilization
Minimize deployment related downtime
Minimize deployment time issues (you know, the weekend long deployment marathons)
Minimize roll-backs of deployed Apps
Increase the ability to reproduce and fix defects
Reduce defect cycle time


This is only the start of the journey, there is more to learn. However, what (we hope) we know is that long release cycles are a thing of the past. With most organizations using some form of Agile and iterative development, operations leaders can make their teams leaner and more responsive by embracing DevOps.  

coming next is my blog on knowing the right set of tools to realize devops.





Wednesday, 29 May 2013

Does Rational Functional tester support my application ?

I am  sure if you are an automation engineer using RFT or planning to use RFT , this question would have caught you imagination at least once if not often.

So that is the question I am trying to answer in this blog.

Does Rational Functional tester support my application ?

The answer is NO; 


Reason :
Well Rational Functional Tester is a GUI automation tool and does not certify any single application . IBM® Rational® Functional Tester is an object-oriented automated testing tool that tests Windows, .NET, Java™, HTML, Siebel, SAP, AJAX, PowerBuilder, Flex, Dojo, Visual Basic and GEF applications. You can also test Adobe PDF documents, and zSeries®, iSeries®, and pSeries® applications.

So if your application uses one of the Standard UI controls provided by the technologies listed above , then “Yes” , Rational Functional Tester will we able to automate Tests on the same.

How to find out which underneath UI technology is my application using?.

  1. Start with Mouser, a utility freely available to inspect class names. Hover it on the application under test.

     


                                                          Fig 1.

In Fig 1. is the result of mouser hovered over the notepad application. It gives the class name of the control underneath. Once u get the class name of the control. Google the same and it would provide some hint as to which technology this belongs to.

Also visit the info center http://publib.boulder.ibm.com/infocenter/rfthelp and look for Test application domain support, which lists down the technologies Rational Functional Tester Supports and look for the class name that you figured in step 1.

  1. For HTML application make use of the DOM inspector \Developer tools to inspect the element on the HTML page which is under consideration and then see if the same UI control is listed as a supported RFT control in the link provided above.

  1. Like wise Mouser in combination with a any free ware tool available over the web can help you figure out if the domain is JAVA and the underneath control.

Tuesday, 21 May 2013

How to test PDF content Using IBM Rational Functional Tester.?

Intro

IBM® Rational® Functional Tester supports testing of Portable Document Format (PDF) read-only files created for Adobe Reader versions 7.0, 8.0, 9.0, 10.0 and 11.0. You can test PDF files that are displayed in a browser or in the stand-alone Adobe Reader application. A functional test script that is recorded for files that are displayed in the stand-alone Adobe Reader application can be played back when the file is displayed in a browser and vice-versa, provided that the script is recorded for document controls only.

Rational Functional Tester supports testing of PDF files by either interacting with specific document controls or through Reader controls.

The level of granularity that Rational Functional Tester supports depends on the way the PDF file is designed. For example, if the entire page of a PDF file is designed to contain one text object only, the verification point highlighter captures only the page-level contents and does not access the content inside the page.

Prerequisites

Before you start testing PDF files, you must set the Adobe Reader preferences and the Rational Functional Tester script assure values.
Open
Accessibility Setup Assistant.
Click Next on the Accessibility Setup Assistant page.
Select Fit page as the Default display zoom in Screen 2 of 5, and click Next.
Clear Confirm before adding tags to documents in Screen 3 of 5, and click Next.
In Screen 4 of 5:

For Page mode setting, select Deliver currently visible pages.
For Document mode setting, select Deliver the entire document at once .

Click Next.
In Screen 5 of 5, select Display PDF documents in the web browser.
Click Done.
Click Edit > Preferences in Adobe Reader.
Click the Page Display category and select Single Page as the Default Page Layout, and click OK.

For version 10.0 & 11, ensure that you disable protected mode before you set the preferences.


Supported USE Case

Typical business case for the user is to validate the content on the PDF document. The content could be a present as a link \text\table\graphic. User is interested in navigating the various pages on the pdf document, validating the content of each page or the entire document. User can also perform various options on the Adobe reader it self to achieve desired results.

Note: For RFT to interact with PDF document\Adobe reader we depend on the assisitive technology. Some times it has been observed that the way PDF document is designed ,controls are present as one complete control for eg a “Text Paragraph” would be present as one complete text control and not as each Word in the paragraph as seprate controls in which case user can do some programming in extracting the complete text and then validating the actual field he is interested in .


Frequently asked questions.

  1. Which versions of pdf are supported ?
    ans) Latest RFT 8.5 supports PDF 8/9/10/11.
  2. RFT hangs On PDF10 \11 ?
    ans) Did you take care of the prerequisites to disable the protected mode.
  3. I need to validate a text on PDF document , but RFT captures the complete paragraph?
    ans) This might be due to the fact that the complete control is present as a seprate text control. User can make use of some programming and get the complete text use some regular expression\subtext finding algorithm to achieve the desired result.
  1. Can I validate the complete page?
    Ans) Yes, user needs to perform a data verification on the complete page.
  1. Can I validate the complete PDF document ?
Ans) Yes ,Only document verification points are supported in the document mode setting. A verification point can be taken after the mandatory click in the file. Any clicks on the PDF document in document mode setting while recording are ignored and no code is generated.
Use the Page mode setting for larger documents.