Showing posts with label Automation. Show all posts
Showing posts with label Automation. Show all posts

Monday, 2 January 2012

How to achieve full potential of Test Automation?


Why test automation?

Software testing is an art, aimed at evaluating an attribute or capability of a program or system and determining whether it meets the expected outcomes. Software testing can be very costly and time consuming.

Hence automation is a good way to cut down time and cost.

Benefits of test automation:

Test automation provides numerous benefits to any organization. Some of them are listed below:
  • Reduced test execution time and cost
  • Increased test coverage on each testing cycle
  • Increased value of manual testing effort
  • Reduced manual work
Reasons for failure of test automation:

There are a number of reasons why test automation efforts are unproductive. Some of the most common include:
  • Poor quality of tests being automated
  • Lack of good test automation framework and process
  • Inability to adapt to changes in the system under test
Five Steps for Successful Test Automation

To avoid the above reason and to achieve the full potential of test automation, emphasis has to be given on the below steps:
  • Planning
  • Preparation
  • Proof of concept
  • Implementation
  • Maintenance
Planning

Each phase in the project must be planned with a clear view on the current testing methods and information of the infrastructure. Gather information from key people who have experience in test automation.

Preparation

During preparation phase, a pilot project should be defined and test cases that need to be automated have to be selected. Define the roles and responsibilities and prepare input test data.
Proof of Concept

The test automation tool must be configured in order to be compatible with application under test (AUT). The tool must be able to capture user actions. Since more and more application types may be being used, the configuration part is not as easy. It is possible that the test tool will not recognize the application “out-of-the-box”, which means you need to configure the tool.
Then the team needs to automate a limited amount of test cases to prove that the application can be automated. Select an easy, a normal and a complex test case. Demonstrate execution and reporting of the automated test cases to decision makers.

Implementation

If proof of concept is successful, automation of selected test cases (scope defined at preparation step) can start. Analyze selected tests, think about data separation, functional decomposition, reusability of certain business components. Modularize your script into clear-cut building blocks. During this phase, you can set up test automation framework which can vary from documentation on tool usage to a full-scaled framework based on a spreadsheet or database layer.

Maintenance

A test automation project expands together with application under test. A new release may offer new functionality that needs to be automated. The existing automated scripts need to be maintained, new automated tests need to be added and there is a possibility that other organization may take over automation project in future. Team has to prepare for these events by providing documentation for each script, by constantly allocating the proper resources for the project and by training newcomers in the tool, the script and the execution.

Conclusion

Test Automation in today’s competitive environment is much needed than desired; to keep operating efficiently and considerably cut down costs and efforts, without compromising on quality and security. However you must adopt a well planned and a structured approach to automation in order to ensure a higher return on investment. It is suggested that prior to opting for automation, QA teams need to perform an exhaustive automation assessment to identify the right set of automation methods, tools and techniques that will compliment their QA needs.

Tuesday, 27 December 2011

Cloud Computing- Easily Config To Any Computer Resource's


What is Cloud Computing?


Cloud Computing is a model that enables access to a configurable computing resource, which is easily accessible with no or only minimal service provider input.

“If the user does not know the physical location and configuration of the system that delivers the services of computation, software, data access, and storage services”, then it is Cloud Computing
.
The Flexible usage of IT services which are available in real-time/on-line via the Internet/Intranet, enabling users global access to standardized services. Cloud Services require no (or minimal) initial fixed cost investment and are charged on a usage basis.

What can be achieved with Cloud?


Within Cloud Computing, varieties of technically innovative solutions are combined and can deliver the potential for an innovative business approach leading to:
  • Cost  Reduction
  • Cost Structure Improvement
  • Variability of Cost
  • Flexibility of Services
  • New business models
  • Time to market for new products is significantly reduced
Steps to Optimize Cloud Computing:
Is the Business ready to use Cloud?

If yes, which services offered within the Cloud are the most suitable to support the Business Model?

Before engaging in Cloud Computing, initiate a project that reviews existing processes and products. The review process should go through the following steps in order to optimize use of Cloud Services:

Step 1: Standardization – Evaluate the actual level of process automation within the business being serviced.

Step 2: Virtualization – Identify the opportunities (from an IT and process perspective) within the existing operating model to virtualize services.

Step 3: Automation – Analyze level of automation of processes and identification of potential by using the Cloud for virtualized processes.

Step 4: Cloud Computing – Introduce those selected services into Cloud and define how to integrate Cloud services into existing IT/process environment.

When should a company go for cloud computing?


There is a growing belief that over the next few years, Cloud Computing will become a major stimulus for change in how corporations view and use Information Technology.

Cost efficiency, scalability and availability are the main drivers in the discussion regarding Cloud Computing. Security and privacy are the main issues, which need to be dealt with when using services in the Cloud.

From an end user perspective, Cloud Services will offer small and midsize companies access to a level of technology that is currently not available to them. Large corporations will be able to make their IT environment more flexible and reduce their cost base. The speed of new product developments will increase significantly and will offer major advantages for the end customer.

Conclusion:


All major providers offer services in the Cloud, which can bring enormous advantages to large, small and midsized companies when properly implemented and used. There are challenges in implementing Cloud Computing, which are similar to those inherent in IT sourcing engagements and can be successfully dealt with when addressed in a structured way.