Tuesday, January 1, 2013

Automation testing

Why Automation testing?

The following are the benefits of Automation Testing:

1. Saves Time and Money: Testing need to be repeated during the development cycles of software for ensuring quality. Each time the source code is changed / modified and the more changes the more tests. To perform these testing tasks manually is time consuming and costly. Automated tests run again and again at no additional cost of time and they perform much faster. The repetitive tests can be performed from days to hours.
2. Improves Accuracy: The mistakes occur during monotonous manual testing. The same process of testing can be performed precisely every time and without missing to record detailed results.
3. Increases Test Coverage: The depth and the scope of the tests can be increased for improving software quality. The lengthy tests of manual testing could be executed unattended. This test can run on multiple systems of different configurations and operating systems. Automated tests can look into an application and see the contents of files, data tables, memory contents and the internal program states for determining whether the product is behaving as expected.
4. Can perform the tasks which can not be done by manual testing: A controlled web application tests can not be performed by largest software departments of thousands of users. Automated tests simulate the thousands of virtual users interacting within the network or web applications.
5. Helps developers and testers: Certain shared automated tests could be utilized even by developers for catching problems quickly prior to sending to the Quality Assurance department. The tests could run automatically, when the source code changes are checked in by developers or team members if they fail. These features ensures saving time and increasing the confidence levels of developers.
6. Improves team morale: The automated tests improve team morale, though it is difficult to measure if the team experienced it first. Automating the repetitive tasks with automated testing provides an opportunity to the team for spending time on more challenging and rewarding projects. The skills sets, confidence levels improved by team members, which ultimately, escalate the gains on to the enterprise.

What are the features and benefits of Quick Test Pro(QTP)?

The following are the features and benefits of Quick Test Pro:

1. It is a key word driven testing
2. It is suitable for web based application for both client and server
3. It has better error handling mechanism
4. Data driven testing features are excellent
5. It has record and play feature
6. The screen shots can be recorded
7. Run time data table can be used for persisting values

What is Build Verification Testing, BVT?

Build Verification Testing is a group of tests that execute on every newly build of products for verification in which the build is testable prior to the release of build into the hands of the test team. The main stream functionality of the application software is tested using BVT. BVT lets the developers know if any serious problems exist with the build. They save the test team time and frustration by avoiding the test of an unstable build.

Explain about basics of Rational Robot - IBM Test automation tool.

Rational Robot is an automated testing tool for functional and regression testing for automating Windows, Java, IE and ERP applications which run on Windows platform. The test cases for common objects such as lists, bitmaps, and menus are provided by Rational Robot. It also provides specialized test cases for objects those are specific for development environment. The tools like Relational Test Manager, Rational Clear Quest and Requisite Pro are integrated in the Rational Unified Processor for Change Management, Requirement Traceability and Defect Tracking. It also supports UI technologies such as VS.NET controls, Web, Java, Oracle Forms, Borland Delphi and Sybase Power Builder applications.

What are the Risks associated in Automation Testing?

The risks of Automation Testing are:

1. Do you have skilled resources?
The automation testing demands resources with some knowledge about programming. Focus on the resources. Identify whether the resources have proper knowledge for automation testing. Are they capable to adapt easily to the new technologies? These measures are to be well assessed for building an automation testing team.

2. The initial cost for automation is high.
The initial cost for automation is too high for initial setup. It costs automated tool purchase, training ad maintenance of the test scripts. The unsatisfied customer base is high for automation testing their products. It should be ensured that the cost compensates the testing results.

3. If UI is not fixed, do not thing about automation:
Prior to automating the user interface, it should strongly be determined that, whether the UI is changing extensively or the cost of the automated script maintenance is high or not.

4. Make sure that the application is stable enough:
To automate the early development cycle unless or otherwise it is Agile environment, would not be a good idea. It costs script maintenance cost very high.

5. Stop automating the tests which run once:
Ensure that certain test cases might be running once and not included in the regression testing. Avoid automating such test modules

What is treeview in Automation testing?

A tree view in Quick Test Pro has statements in keywords or in tree structure. The testing process in the keyword created and viewed in the keyword drive modular format.

What are the pre-requisites to start automation testing?

The first step is to segregate the different test cases that are to be automated, followed by preparing test data as per the needs of the test cases. Reusable functions need to be written which are frequently used in those test cases. Later test scripts are prepared by using reusable functions and apply loops and conditions wherever necessary.

In a nut shell, the following are the pre-requisites for starting automation testing:

1. Build should always be stable
2. Get the functionalities to repeat
3. Filtering the automated test cases

What are the benefits of automation testing over manual testing?

The following are the benefits of automated testing:

Reliable: Most of the tests precisely perform the similar operations every time they run; hence human errors can be eliminated.

Repeatable: The software reaction can be tested under repeated execution.

Programmable: The sophisticated tests can be programmed, which bring out the hidden information from the application.

Comprehensive: Building a suite of tests which covers every feature in the application is possible

Reusable: The tests can be reusable on different versions of an application, even though the user interfaces changes.

Better Quality Software: More tests can run with few resources in very less time, which ensures the quality of software better.

Fast: Like any automation, the automated tools to run tests are significantly faster than human testing..

What is meant by Automation framework?

Automation framework is a blend of assumptions, concepts, practices which provide support for automated software testing. The framework depends on the project needs, as there are no hard and fast rules to automation framework.

If the application have variety of functionality with little variations in terms of test data, ‘functional framework’ is suitable for software applications. For applications that have variety of functionality and more variations in test data, ‘hybrid test automation framework’ is suitable for those applications.

Explain the difference between QTP and WINRUNNER?

Static and dynamic images are compared through QTP. Where as Winrunner is used to conduct the testing only on static images.
The test scripts that are used in QTP is only one i.e., Main Test, and compiled module does not supports. Where as Winrunner supports two types of test i.e., Main Test and compiled module
The check points are 9 in QTP, whereas there are 4 check points in Winrunner.
Reusable actions can be created in QTP, where as Winrunner can not.

What is Database testing?

Database testing includes the following process:

1. Data validity testing – to perform this testing, one should be good in SQL queries

2. Data integrity testing - to perform this testing, the referential integrity and constraints should be known.

3. Performance testing in relation with the database - to perform this testing, one should be good in structure of the table and its design.

4. Procedure testing, functions testing and triggers testing – to perform this testing, one should be good enough to understand the program and logic flow.

1 comment: