Saturday, January 23, 2010

Testing Interview Questions

What is functional testing?

Functional testing verifies that the end user gets what he wants from the application. It involves testing to ensure that the tasks or the steps required completing functionality works well. Functional testing involves testing of functional requirements as per the specification.

What are the differences between system and functional testing?

Functional testing involves testing of functional requirements as per the specification. On the other hand, system testing involves testing the system as a whole. This may involve testing of proper installation and uninstalling of the application. System testing tests for all internal and external components that make the system.

Explain WinRunner testing process?

The testing process in WinRunner is divided into six main stages:

* GUI Map files creation – This is used to identify the GUI objects of the application that will be tested.
* Test Scripts creation- here, the test scripts are recorded. Checkpoints can be inserted.
* Debug tests- using debug mode, the tests should be debugged.
* Run tests- Using verify mode, the test cases should be run.
* View results- The results help to determine the success or failure of test cases.
* Report defects- If the test has failed, a defect can be reported from the test results window.

How does WinRunner recognize objects on the application?

Objects to be tested in WinRunner are recognized using GUI map file. The objects description is stored in the GUI map file which is read by WinRunner. This description is then located and matched with same properties of an object in the application.

How does WinRunner evaluate test results?

Once the test is executed, a report of the results is displayed by WinRunner. The report shows all checkpoints, error and system messages that were encountered during execution. The test results window is used to account for any mismatches detected at checkpoints.

What is the purpose of loading WinRunner Add-Ins?

Add-Ins can be used to load add-in specific functions in memory. WinRunner throws an error during execution if it recognizes any functions that were not listed in the function generator while creating the script.

What is the use of Test Director Software?

Test director helps to streamline the testing process by creating graphs and reports that help in analyzing the progress of tests and defects. It assists in creating databases of manual and automated tests, build test cycles, run tests and track defects.

What are the different modes of recording in WinRunner?

WinRunner supports the following recording modes:

* Context Sensitive: - This mode is used to capture and record GUI objects and windows.
* Analog: - Analog modes capture and record the keyboard inputs, mouse clicks and movements. It can’t capture GUI windows and objects.

What is the different between GUI map and GUI map files?

Two or more GUI map files make up a GUI map. A GUI map file contains logical names and physical descriptions of the objects and GUI windows. The GUI map files can be organized in two modes; Global GUI map file GUI map files per test.

How do you configure GUI map in WinRunner?

WinRunner when learning the description of a GUI object learns only the required properties to identify the object. Applications that contain custom GUI objects (Objects that don’t belong to standard WinRunner classes), are assigned to a generic object class. If this custom object is similar to standard object, it can be identified during context sensitive testing when the properties WinRunner are configured. The custom object and standard object if similar can also be mapped to one of the standard class. This mapping and configuration is valid only for the existing WinRunner session. To make it permanent, configuration statements to the startup test script needs to be added.

What is load testing? What is Performance testing?

Load testing is pressurizing the system until its threshold to see its response. Example can be allowing many users to access a system concurrently to notice the behavior of the system. Browse functionality can be tested by uploading large files.

Performance testing involves testing the performance of the system with respect to speed and performance. It includes measuring response time of application, reliability, scalability etc.

Explain the Load testing process?

* Once the load test is planned, load testing begins. It starts with RECORDING USER SCEANRIOS in which different scenarios of the application are noted. The scenarios are recorded in load test script. E.g. User browsing pages.
* The load test script prepared needs to be PARAMETERIZED to allow different inputs to the server. This is done by first identifying the list of values to be parameterized. Different set of values can then be passed to the server. E.g. different user names and passwords for login.
* The user scenarios after recording, needs to be GROUP as user profiles to map real time user activities. The % of workload for each user scenario needs to be found as well. The grouping is done based on the activities few users may perform on the application. E.g. test users.
* The applications RESPONSE TO LOAD needs to be determined. This will help in determining the performance of the system.
* The LOAD TEST CASES are then prepared. The test cases associate the user profiles with workloads.
* The test cases prepared are then EXECUTED. This can be done by clicking on the PLAY option.
* The results of the test cases are then ANALYZED. The reports and graphs page displayed is used for this purpose.

When do you do load and performance Testing?

* Web applications that involve a number of concurrent users. E.g. Shopping carts.
* When the application is integrated with a number of network components.

What is difference between load test and performance test?

Load testing helps to understand how scalable the system is. It helps to understand how well can the system react when subjected to stress. Performance testing aims to understand the response time of application.

How do you debug a LoadRunner script?

Virtual user generator allows two methods to debug a script:

* Breakpoints
* Step by step command

The debug information which is written on the output can be controlled using the debug settings. These settings control the extent of trace of a particular scenario. If debug information for a small section of script is desired, lr_set_debug_message function can be manually set.

What are the types of Bottlenecks in Performance testing?

The biggest bottleneck in performance testing is that it requires well experienced man power. Besides, since performance testing aims to test the performance of system in terms of speed, response time etc, it also calls for expensive tools.

What is the difference between Scalability testing and load testing?

Load testing aims to find out how well can the systems react when subjected to load. The amount of load here that can be applied is the scalability. Load testing can be done by allowing multiple concurrent users to access an application.

What is security testing and smoke testing?

Security testing involves testing which ensures that the data is secured. It aims to ensure that the data is confidential and properly authorized. It aims to make the system secure so that it is less prone to attacks.

Smoke testing is done on the code before it is checked in. it validates the code for an errors to ensure it delivers the functionality as expected. This is done to avoid destabilizing the entire build.

What type of security testing you performed?

A very common task in security testing is trying to attack the system. This helps in finding out how vulnerable is the system to attacks. Most systems use encryption to store passwords, URL’s etc. trying to get access to the system by using different combinations of passwords, trying to cross site script etc. Another common example of security testing is to find if the system is vulnerable to SQL injection attacks.

What is Cross-Site Scripting: (Acronym – XSS)?

Cross-Site Scripting allows malicious code to be inserted into the web page. The web page can be a simple HTML code or a client side script. When the malicious code is inserted in page and clicked by some user, the malicious code becomes a part of the web request of the user. This request can also execute on the users computer and steal information.

What are the most important steps you would recommend for securing a new web server?

* Minimize rights.
* Update permissions.
* Delete default data and scripts.
* Make use of software firewall.
* Enable and make use of IIS logging.
* Regular backup.
* Updating the windows tool installed.

What are white-box, black-box and gray-box testing?

White Box testing: white box testing involves thorough testing of the application. It requires knowledge of code and the test cases chosen verifies if the system is implemented as expected. It typically includes checking with the data flow, exceptions, and errors, how they are handled, comparing if the code produces the expected results.

E.g. In electrical appliances the internal circuit testing.

Black Box testing: Black box testing is done at an outer level of the system. Test cases merely check if the output is correct for the given input. User is not expected to the internal flow or design of the system.

Gray Box testing: Grey box testing is a combination of both black box and white box testing. This is because it involves access to the system; however, at an outer level. A little knowledge of the system is expected in Gray box testing.

Explain the difference between White-box, Black-box and Gray-Box Testing.

a. White-Box Testing: The team tests the internal logics of the code. The code for the application is tested. It is also known as the glass box testing.

b. Black-Box Testing: The team tests the system without any knowledge of how the system is being made. The functionalities are checked here. Here the application is tested.

c. Gray-Box Testing: Both white box and black box combined are known as gray box testing.

No comments:

Post a Comment