Thursday, January 31, 2013

Important Testing Interview Questions

What’s Ad Hoc Testing ?

A testing where the tester tries to break the software by randomly trying functionality of software.

What’s the Accessibility Testing ?

Testing that determines if software will be usable by people with disabilities.

What’s the Alpha Testing ?

The Alpha Testing is conducted at the developer sites and in a controlled environment by the end user of the software

What’s the Beta Testing ?

Testing the application after the installation at the client place.

What is Component Testing ?

Testing of individual software components (Unit Testing).

What’s Compatibility Testing ?
 

In Compatibility testing we can test that software is compatible with other elements of system.

What is Concurrency Testing ?

Multi-user testing geared towards determining the effects of accessing the same application code, module or database records. Identifies and measures the level of locking, deadlocking and use of single-threaded code and locking semaphores.

What is Conformance Testing ?

The process of testing that an implementation conforms to the specification on which it is based. Usually applied to testing conformance to a formal standard.

What is Context Driven Testing ?

The context-driven school of software testing is flavor of Agile Testing that advocates continuous and creative evaluation of testing opportunities in light of the potential information revealed and the value of that information to the organization right now.

What is Data Driven Testing ?

Testing in which the action of a test case is parameterized by externally defined data values, maintained as a file or spreadsheet. A common technique in Automated Testing.

What is Conversion Testing ?

Testing of programs or procedures used to convert data from existing systems for use in replacement systems.

What is Dependency Testing ?

Examines an application’s requirements for pre-existing software, initial states and configuration in order to maintain proper functionality.

What is Depth Testing ?

A test that exercises a feature of a product in full detail.

What is Dynamic Testing ?

Testing software through executing it. See also Static Testing.

What is Endurance Testing ?

Checks for memory leaks or other problems that may occur with prolonged execution.

What is End-to-End testing ?

Testing a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.

What is Exhaustive Testing ?

Testing which covers all combinations of input values and preconditions for an element of the software under test.

What is Gorilla Testing ?

Testing one particular module, functionality heavily.

What is Installation Testing ?

Confirms that the application under test recovers from expected or unexpected events without loss of data or functionality. Events can include shortage of disk space, unexpected loss of communication, or power out conditions.

What is Localization Testing ?

This term refers to making software specifically designed for a specific locality.

What is Loop Testing ?

A white box testing technique that exercises program loops.

What is Mutation Testing ?

Mutation testing is a method for determining if a set of test data or test cases is useful, by deliberately introducing various code changes (‘bugs’) and retesting with the original test data/cases to determine if the ‘bugs’ are detected. Proper implementation requires large computational resources

What is Monkey Testing ?

Testing a system or an Application on the fly, i.e just few tests here and there to ensure the system or an application does not crash out.

What is Positive Testing ?

Testing aimed at showing software works. Also known as “test to pass”. See also Negative Testing.

What is Negative Testing ?
 

Testing aimed at showing software does not work. Also known as “test to fail”. See also Positive Testing.

What is Path Testing ?

Testing in which all paths in the program source code are tested at least once.

What is Performance Testing ?

Testing conducted to evaluate the compliance of a system or component with specified performance requirements. Often this is performed using an automated test tool to simulate large number of users. Also know as “Load Testing”.

What is Ramp Testing ?

Continuously raising an input signal until the system breaks down.

What is Recovery Testing ?

Confirms that the program recovers from expected or unexpected events without loss of data or functionality. Events can include shortage of disk space, unexpected loss of communication, or power out conditions.

What is the Re-testing testing ?

Retesting- Again testing the functionality of the application.

What is the Regression testing ?

Regression- Check that change in code have not effected the working functionality

What is Sanity Testing ?

Brief test of major functional elements of a piece of software to determine if its basically operational.

What is Scalability Testing ?

Performance testing focused on ensuring the application under test gracefully handles increases in work load.

What is Security Testing ?

Testing which confirms that the program can restrict access to authorized personnel and that the authorized personnel can access the functions available to their security level.

What is Stress Testing ?

Stress testing is a form of testing that is used to determine the stability of a given system or entity. It involves testing beyond normal operational capacity, often to a breaking point, in order to observe the results.

What is Smoke Testing ?

A quick-and-dirty test that the major functions of a piece of software work. Originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch on fire.

What is Soak Testing ?

Running a system at high load for a prolonged period of time. For example, running several times more transactions in an entire day (or night) than would be expected in a busy day, to identify and performance problems that appear after a large number of transactions have been executed.

What’s the Usability testing ?

Usability testing is for user friendliness.

What’s the User acceptance testing ?

User acceptance testing is determining if software is satisfactory to an end-user or customer.

What’s the Volume Testing ?

We can perform the Volume testing, where the system is subjected to large volume of data.

Tuesday, January 15, 2013

Software Testing Tools List

Software Testing Tools List

Now days we can get lots of Software Testing Tools in the market. Selection of tools is totally based on the project requirements & commercial (Proprietary/Commercial tools) or free tools (Open Source Tools) you are interested. Off Course, free Testing Tools may have some limitation in the features list of the product, so it’s totally based on what are you looking for & is that your requirement fulfill in free version or go for paid Software Testing Tools.
The tools are divided into different categories as follows:

    Test Management tools
    Functional Testing Tools
    Load Testing Tools

Here you can get a most popular free and paid Testing Tools list used in the actual testing of the software application.

1) Open Source Tools

a) Test Management tools
  • TET (Test Environment Toolkit)
    • The goal behind creating the Test Environment Toolkit (TET) was to produce a test driver that accommodated the then current and anticipated future testing needs of the test development community. To achieve this goal, input from a wide sample of the community was used for the specification and development of TET’s functionality and interfaces.
  • TETware
    • The TETware is the Test Execution Management Systems which allows you to do the test administration, sequencing of test, reporting of the test result in the standard format (IEEE Std 1003.3 1991) and this tools is supports both UNIX as well as 32-bit Microsoft Windows operating systems, so portability of this is with test cases you developed. The TETware tools allow testers to work on a single, standard, test harness, which helps you to deliver software projects on time. This is easily available for download on ftp download.
  • Test Manager
    • The Test Manager is an automated software testing tool is used in day to days testing activities. The Java programming language is used to develop this tool. Such Test Management tools are used to facilitate regular Software Development activities, automate & mange the testing activities. Currently Test Manager 2.1.0 is ready for download. If you want to learn more information of Test Manager, Click here to get a latest copy for free.
  • RTH
    • RTH is called as “Requirements and Testing Hub”. This is a open source test management tool where you can use as requirement management tool along with this it also provides the bug tracking facilities. From here you can download the latest version of RTH.
b) Functional Testing Tools
c) Load Testing Tools

2) Proprietary/Commercial tools

a) Test Management tools
b) Functional Testing Tools
c) Load Testing Tools

Interview Questions Asked in X company

1. Tell me about yourself,
2. how do you deploy a product to client machine?
3. what is the difference between severity and priority?
4. Give example for high severity and high priority, low severity and low priority and so on?
5. Explain bug life cycle for Bugzilla using whiteboard?
6. who owns the bug at different stages since the time a defect is logged?
7. who sets the priority and severity for the bug?
8.what were your responsibilities in your previous project?
9. how would you test a server client related web product ?
10. what is domain?
12. How to set up Active directory?
13. how do you check whether the product is installed on the client machine?
14.What is Acceptance testing?
15.What is Exploratory testing??
16.What is Adhoc Testing??
17.Write few critical test cases for Login Page?
18.What may be the problem with server client connectivity problem,( Unable to transfer the files or copy the files etc..) if all the following conditions are working ( Ping , network coneections)
19.What is Test Plan??
20. What is Test cases?
21.What all type of Tests you will conduct for Client and Server based?


Exploratory testing definition:

“Exploratory Testing is a testing approach that allows you to apply your ability and skill as a tester in a powerful way.”Testers have to understand the application first by exploring the application and based on this understand they should come up with the test scenarios. After that start actual testing of application.
Key tips to remember in Exploratory testing techniques:
  1.     Preparation of test scenarios validates the software stability.
  2.     Exhaustively testing of the software based on the identified requirements.
  3.     Find out the requirements as well as functionality of the software application.
  4.     Find out the limitation of the software application.
  5.     Identify the scope of the project.
In this type of testing the testers have to do minimum effort for planning but maximum execution cover so that tester gets exact functionality of application. This can be helpful for tester to decide what can be next to test.During testing the tester learns about behavior of the software application, start creating test plan or test scenarios. There are different exploratory testing tools in the market. One of the Exploratory testing tool is “Session Tester” that can be used as for managing and recording Session-Based Testing. The creation of test scenarios is totally based on the experience and learning of application under test.

In this type of testing tester have freedom in testing. The finding bug is not only depends on experience of tester but also on the skill of the tester.

Many of testers are thinking of when this type of testing is comes in the picture, so here are points when we can use the exploratory testing:

    When you don’t have a requirement or testing document or minimal documents.
    When you want to complete your application testing in short period of time
    When you have to test the application in the early stage of SDLC

  Advantages

    It doesn’t require preparation for testing as we don’t have documents for testing.
    In this type of testing time saves due to all task are doing simultaneously like Testing, Designing test scenarios and executing test scenarios.
    Tester can report many issues due to incomplete requirement or missing requirement document.

 Disadvantages

    Few issues cannot be catch in this type of testing.
    There is review of test planning & designing of test cases/scenario while testing may cause issues.
    Testers have to remember the scenario what he is executing because if any bug is found then tester should report a bug with proper steps to reproduce Difficulty to perform the exact manner especially for new found bugs.


" Exploratory Testing defines in simple ways : Exploratory testing is a type of testing in which the domain exports will perform the testing on the application to explore the functionality since they do not have the proper requirement document support...."


Acceptance Testing Definition, Analogy, Method, Tasks, Details:
DEFINITION

Acceptance Testing is a level of the software testing process where a system is tested for acceptability.

The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery.

acceptance testing image

ANALOGY

During the process of manufacturing a ballpoint pen, the cap, the body, the tail and clip, the ink cartridge and the ballpoint are produced separately and unit tested separately. When two or more units are ready, they are assembled and Integration Testing is performed. When the complete pen is integrated, System Testing is performed. Once the System Testing is complete, Acceptance Testing is performed so as to confirm that the ballpoint pen is ready to be made available to the end-users.

METHOD

Usually, Black Box Testing method is used in Acceptance Testing.

Testing does not usually follow a strict procedure and is not scripted but is rather ad-hoc.

TASKS

    Acceptance Test Plan
        Prepare
        Review
        Rework
        Baseline
    Acceptance Test Cases/Checklist
        Prepare
        Review
        Rework
        Baseline
    Acceptance Test
        Perform

When is it performed?

Acceptance Testing is performed after System Testing and before making the system available for actual use.

Who performs it?

    Internal Acceptance Testing (Also known as Alpha Testing) is performed by members of the organization that developed the software but who are not directly involved in the project (Development or Testing). Usually, it is the members of Product Management, Sales and/or Customer Support.
    External Acceptance Testing is performed by people who are not employees of the organization that developed the software.
        Customer Acceptance Testing is performed by the customers of the organization that developed the software. They are the ones who asked the organization to develop the software for them. [This is in the case of the software not being owned by the organization that developed it.]
        User Acceptance Testing (Also known as Beta Testing) is performed by the end users of the software. They can be the customers themselves or the customers’ customers.

Definition by ISTQB
Acceptance testing: Formal testing with respect to user needs, requirements, and business processes conducted to determine  whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system.



Tuesday, January 1, 2013

WinRunner Testing Questions

Explain WinRunner testing process.

Six main stages are involved in WinRunner testing process:

  1.    GUI Map File creation: By doing this we make GUI object available for the WinRunner test.
  2.    Generating Test Script: by recording, programming, or a combination of both.
  3.    Debugging Test: run tests in Debug mode to remove the errors in Test Script.
  4.    Run Tests: run tests in Verify mode to test application.
  5.    View Results: determines the status of test result, PASS or FAIL.
  6.    Report Defects: when status of test run is fail, then we can report information about the defect directly from the Test Results window.

What is contained in the GUI map?

GUI Map File stores the element identification properties extracted from the application during recording. ID will be generated for each element and this ID is used for Object identification in the application. GUI Map file acts as a repository for the application elements. GUI Map file contains two properties of each object for the identification:

    Physical name of the object :
    Logical name of the object:

How to perform debugging of the scripts?

Debugging of the test script can be performed in following steps:

1) To enable the script debugger, choose TOOL menus and select Script Debugger.
2) Run the test script
3) Choose from the following option:
A. Step over: execute the script one at a time.
B. Step In: execute the script one at a time.
C. Step Out:
D. Set next step:
E. Run/pause
F. Halt script:
G. Set/clear break point.
H. Edit script
I. Open close data viewer.
J. Authenticate/Deauthenticate Script.
4) Select Pause on error if you want scripts to pause when errors are encountered.

How does WinRunner recognize objects on the application?

WinRunner identifies the object on the identification properties of the object saved in the GUI Map file. These properties are:

    Physical name: like “save” for a save dialog box, or “OK” for an OK button
    Logical name: is the name given by WinRunner when adding an object into the repository. In most of the cases WinRunner takes the text which is attached with the object, work as the Logical name.

GUI Map contains the logical name and a physical description in respect to the each object in the application. WinRunner checks that there are no other objects in the GUI map with the same name.

How do you analyze results and report the defects?

After execution of test script WinRunner automatically generate the results in a report. The report summarizes all tasks which occurred during the execution of test script, like checkpoints, error messages. Tester read the reports and results to evaluate whether the expected results and actual results are matching or not. In case both are not matching then this is treated as a bug and this is locked in the bug report. This bug report can be send to the development team direct from the WinRunner interface by integrating mail option with the WinRunner.

What is logical name in WinRunner?

Logical name: is the name given by WinRunner when adding an object into the repository. Generally, the logical name can be the label that is displayed on object of the application. WinRunner ensure that there are no other objects with the same logical name in the GUI map.

How do you view the contents of the GUI map?


WinRunner provides us tool GUI Map Editor to edit and view the content of the GUI MAP. The GUI Editor is used to show the content which is stored in the GUI Map. We can start the GUI Map Editor from the Tools Menu in WinRunner. The GUI Map Editor displays the various GUI Map files create the objects learned in to them with their logical name and physical description while recording of the script.
What is the purpose of loading WinRunner Add-Ins?

Add-Ins: are small programs or files which can be added to computer in order to enhance the capabilities of the system. The purposes of loading Add-Ins into WinRunner are following:

    To increase capabilities of the system.
    To improve the graphics quality, communications interface.
    To load the particular function into the memory.
    To excess only those function which are required for the execution of the script.

Why WinRunner fails to identify an object on the GUI?


WinRunner fails to identify an object in a GUI due to following reasons:

  1. When Physical and Logical name of object is not matching with the GUI object of the repository.
  2. The object is not a standard windows object.
  3. When browser is incompatible with the WinRunner version.
  4. When browser is incompatible it cannot add any object in the GUI MAP, which leads to fail to identifying object.

What types of exception available in WinRunner?

There are following types of exception available in the WinRunner:

    Pop-Up Exceptions: it handles unexpected pop-ups during the execution.
    TSL Exceptions: it responds to specific error codes returned by WinRunner
    Object Exceptions: Handles unexpected changes occurring to the objects in AUT.
    UAE Exceptions: Handling situations as division by zero or null pointers using the function.

These Exceptions can be find in Tools Menu -> Exception Handling -> Select the Exception Type

How many recordings methods in WinRunner?
There ae two modes of recording in WinRunner:

    Context Sensitive: Context Sensitive mode records actions performed on the application being tested in terms of the GUI objects, like windows, buttons. In this recording mode, the location of the object in the screen doesn’t have any effect. When we perform an operation on the application to be tested, a script is generates know as Test Script Language (TSL). TSL tell us which object is selected and what operation is performed on it.
    Analog Context Sensitive: In Analog recording mode we can records mouse clicks and movement of mouse. It is used when application window position changes. When the test script is executing, WinRunner retraces the mouse movement. We use Analog recording mode when mouse movement is important, like when testing a drawing application or digital signature checking.

How to test Database using WinRunner?

We can test the database using WinRunner by the help of the Database checkpoints. These checkpoints can be inserted into the test script language (TSL) to examine the databases of application. By this we can easily trace out the defects which are present in the database. We can query on the database, to create a database checkpoint that evaluates the properties of the results of the query. There are two types of database checks can be done in WinRunner:

1. Default database check.
2. Custom database check.

Explain data parameterization in WinRunner.


It is the process of making use of different values in place of recorded values which is replaced by variable which contains different values that can be used during the execution of the scripts. It also reduces the size of the scripts. Parameterization is used when the values and the label of the window changes after every execution like we want to test the application in which order no is involved which is always incremented by 1. Then, in that case we use data parameterization.

When do you use Verify/Debug/Update Modes?

WinRunner provides three modes in which to run test:

• Verify: Use to compares the actual result and expected response. If the actual result is different from the expected result then this is captured and saved as verification result.
• Debug: Use the Debug mode to help you identify bugs in a test script. Verify mode and debug mode are same but the only differences between these two are debug results are always saved in the debug folder and only one set of debug results is stored.
• Update mode: It is used when we want to update or change the expected result.

How do you manually capture an Object using WinRunner?

We can manually add an object to a GUI map file by copying the description of another object, and then editing it as needed. To manually add an object to a GUI map file. We follow the following steps:

    Choose Tools > GUI Map Editor to open the GUI Map Editor.
    Choose View > GUI Files.
    Choose File > Open to open the appropriate GUI map file.
    Select the object to use as the basis for editing.
    Click Add to open the Add dialog box.

What is a data driven test in WinRunner?

Data Driven is an automation testing part in which test input or output values, these values are read from data files. It is performed when the values are changing by the time. The different data files may include data pools, csv files, Excel files. The data is then loaded into variables in recorded or manually coded scripts. In WinRunner to use data to drive the test, we use the parameterization process. When we do data-driven test, we perform two extra steps:

    Converting the test to a data-driven test.
    Creating a corresponding data table.

How can you integrate your automated scripts from TestDirector?

In WinRunner, we can save tests directly to your TestDirector database. When creating a test case with the TestDirector we can declare that our script is automated or manual. When script is automated then TestDirector creates a skeleton for the script which can be modified. TestDirector stores test and defect information in a project. We can create TestDirector projects in Microsoft Access, Oracle, Sybase, or Microsoft SQL. These projects store information related to the current testing project, such as tests, test run results, and reported defects. To access the project connect it to the Web server where TestDirector is installed. When WinRunner is connected to TestDirector we can save a test by associating it with the Test Plan Manager.

What is the different between GUI map and GUI map files?
The GUI map is group of one or more GUI map files. We can organize GUI map files in two ways:

    Global GUI Map file: a single GUI Map file for the entire application.
    GUI Map File per Test: WinRunner automatically creates a GUI Map file for each test created.

GUI Map file is a file which contains the GUI Objects and windows learned by the WinRunner while recording the testing script with the logical name and physical properties of the objects.

What different actions are performed by find and show button?
The differences between show and find button are following:

    Show button is used to show the object for selected name whereas find button is used to find the name for selected object.
    Show Button to show a particular object in the application, select the object and click the Show window. This Highlight the selected object whereas
    Find button gives the option to select the object. When the object is selected, if the object is present in the GUI repository it will be focused in the file.

How WinRunner handles varying window labels?

The Varying window labels problem can be solved by using the regular expressions. Regular expressions enable WinRunner to identify objects with varying names or titles. We can use regular expressions in Test Script Language statements. A regular expression is a string. Regular expression is followed by an exclamation mark. We use special characters such as a period (.), asterisk (*), caret (^), and brackets ([ ]), by this we can generate the conditions of the search. For example, the string “!hit.*” matches both “rohit” and “hit”.

Bug/Defect

What is Bug/Defect?

Bug: A bug is defined as an error that was found before the application goes into production. A bug gives a subliminal impression which crawled into the developer’s code quite independently of the software developer.

Defect: A defect is defined as an error that was found after the application goes into production. It presents cold harsh reality which the engineer, analyst or designer actually get something wrong.

Tips for Bug Tracking

Create Small Tasks:

When the number of tasks is large, it is hard to track the bugs. The tasks grow when they are shared among members of the team without much intention. The tasks should be small and not include multiple tasks in them. The larger tasks should split into smaller tasks, which helps the team members to review them easily.

Group tasks:

Categorize the similar tasks into groups. The tasks can be easily tracked and it is easier for finding them for each member of the team. It is wise to separate the tasks by type.

Draft the reproducing steps:

Write down certain steps to reproduce bugs for developers, and avoid the steps which are large in number. Have smaller number of steps which is easier for identifying a but for a developer.

Task flow:

The tasks must always revert to the person who created it or required for reviewing it. If it is a bug, it should be reverted to the tester. The tester can close the bug, since he/she is the one who saw the bug first and can be sure for fixing it. A task should ‘never’ be closed by another person other than the one who created it.

Less means more

Try to hide the tasks which are currently not having priority. Focusing on the important tasks, get the team to overview better.

Tips to write good bug tracking report

1. Title should be clear:

A good title is a must, which the essence of the bug report be well grasped by the developer.

2. One but per report:

A bug report should have only one bug and not more or no less. In case more bugs are placed, some of the bugs may be overlooked.

3. Minimum, quantifiable steps to reproduce the problem:

This is a very important tip. Developers need to get the problem in the shortest possible time. So the tester needs to help them for doing just that task. Testers need to have few rounds of testing and be able to produce the problems using minimum steps.

4. Expected and observed results:

A bug report should always contain the expected and the observed result. The developer does not think that the bug is a real bug. Testers should take the responsibility to explain the developers that went wrong.

5. The build that the problem occurs:

It is common the daily builds. If the exact problematic build is not specified by the tester, it is hard for developers to resolve an already-solved problem.

6. Pictures:

‘A picture is worth a thousand words’! Certain times, the words do not flow. If such situations, it is better to have a clear picture that perfectly illustrates the problem.

Explain the different types of Bugs

The different bugs are:

1. Show-stopper / critical bugs: The core dumps, products abnormally shuts down and no work around will be found out, like OS automatic freezing.

2. Major Bugs: The work around is found, but the implementation can be done, like performance degradency.

3. Medium Bugs: These bugs include database errors, link errors, low response time

4. Low/minor Bugs: These bugs are typos, simple GUI errors.

What is the difference between New and Open bug?

New: In finding an issue in testing, all relevant checks are performed, like whether is was occurring in the previous release. If the issue is so, reopening the bug and creating new defect is done by changing the status of that defect to ‘new’.

Open: When a new bug is opened, development or project manager revises it, followed by assigning the task to the developer, and changes the status from ‘new’ to ‘open’.

Difference between Defect and Failure

a. Defect: Defect is defined as a wrong requirement.
b. Failure: Variation in the result produced by the software from its expected result.

What is the process of bug cycle?

The following steps involved in the bug cycle process:

1. Bug investigation – when the tester find the bug

2. Bug assignment – when the tester assigns the bug to the developer

3. Bug fixing – when the bug is fixed by the developer

4. Bug retesting – when the developer fixes the bug and given to the tester

5. Bug closing and reopening – when the tester retested and the status is changed to ‘closed’.

What is the process of bug cycle?
  1.     A bug when found by the tester is marked as NEW.
  2.     This bug is checked for its validity by the test lead to mark it as OPEN.
  3.     The bug is then ASSIGNED to the developer.
  4.     The developer on fixing the bug gives it to the tester for regression testing.
  5.     The tester may either REOPEN or CLOSE the bug.

What do you mean by "Reproducing a bug"?


When a bug is found in a module, it must have followed a series of steps. The steps must be noted down by the tester in order to replicate the bug again. Reproducing a bug means following the same steps to find the bug.

Defect Severity & Priority with example:
Defect Severity determines the defect's effect on the application where as Defect Priority determines the defect urgency of repair.
Severity is given by Testers and Priority by Developers

1. High Severity & Low Priority : For example an application which generates some banking related reports weekly, monthly, quarterly & yearly by doing some calculations. If there is a fault while calculating yearly report. This is a high severity fault but low priority because this fault can be fixed in the next release as a change request.

2. High Severity & High Priority : In the above example if there is a fault while calculating weekly report. This is a high severity and high priority fault because this fault will block the functionality of the application immediately within a week. It should be fixed urgently.

3. Low Severity & High Priority : If there is a spelling mistake or content issue on the homepage of a website which has daily hits of lakhs. In this case, though this fault is not affecting the website or other functionalities but considering the status and popularity of the website in the competitive market it is a high priority fault.

4. Low Severity & Low Priority : If there is a spelling mistake on the pages which has very less hits throughout the month on any website. This fault can be considered as low severity and low priority. 

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.