QA

Types of Testing

Black Box Testing
Functional Testing
Stress Testing
Regression Testing
Load Testing
Smoke Testing
Usability Testing
Alpha Testing
Beta Testing


FUNCTIONAL TESTING
In this type of testing, the software is tested for the functional requirements. The tests are written in order to check if the application behaves as expected. Although functional testing is often done toward the end of the development cycle, it can—and should, —be started much earlier. Individual components and processes can be tested early on, even before it's possible to do functional testing on the entire system.


STRESS TESTING
The application is tested against heavy load such as complex numerical values, large number of inputs, large number of queries etc. which checks for the stress/load the applications can withstand. Stress testing deals with the quality of the application in the environment.


SMOKE TESTING
This type of testing is also called sanity testing and is done in order to check if the application is ready for further major testing and is working properly without failing up to least expected level. A test of new or repaired equipment by turning it on. If it smokes... guess what... it doesn't work! The term also refers to testing the basic functions of software. The term was originally coined in the manufacture of containers and pipes, where smoke was introduced to determine if there were any leaks.


USER ACCEPTANCE TESTING
In this type of testing, the software is handed over to the user in order to find out if the software meets the user expectations and works as it is expected to. In software development, user acceptance testing (UAT) - also called beta testing, application testing, and user testing - is a phase of software development in which the software is tested in the "real world" by the intended audience


LOAD TESTING
The application is tested against heavy loads or inputs such as testing of web sites in order to find out at what point the web-site/application fails or at what point its performance degrades. Load testing operates at a predefined load level, usually the highest load that the system can accept while still functioning properly. 


ALPHA TESTING
In this type of testing, the users are invited at the development center where they use the application and the developers note every particular input or action carried out by the user. Any type of abnormal behavior of the system is noted and rectified by the developers.


BETA TESTING
In this type of testing, the software is distributed as a beta version to the users and users test the application at their sites. As the users explore the software, in case if any exception/defect occurs that is reported to the developers. Beta testing comes after alpha testing. Versions of the software are released to a limited audience outside of the company.


REGRESSION TESTING
Regression testing is a style of testing that focuses on retesting after changes are made. 
For example. before a new version of a software product is released, the old test cases are run against the new version to make sure that all the old capabilities still work.  


White Box Testing

Unit Testing
Static & Dynamic Analysis
Statement Coverage
Security Testing
Mutation Testing
Branch Coverage


UNIT TESTING
It is a procedure used to validate that individual units of source code are working properly. A unit is the smallest testable part of an application. The developer carries out unit testing in order to check if the particular module or unit of code is working fine. The Unit Testing comes at the very basic level as it is carried out as and when the unit of the code is developed or a particular functionality is built. Unit testing deals with testing a unit as a whole. This would test the interaction of many functions but confine the test within one unit. The exact scope of a unit is left to interpretation. Supporting test code, sometimes called scaffolding, may be necessary to support an individual test.


STATIC & DYNAMIC ANALYSIS
Static analysis involves going through the code in order to find out any possible defect in the code. Dynamic analysis involves executing the code and analyzing the output.


STATEMENT COVERAGE
In this type of testing the code is executed in such a manner that every statement of the application is executed at least once. It helps in assuring that all the statements execute without any side effect.


SECURITY TESTING
Security Testing is carried out in order to find out how well the system can protect itself from unauthorized access, hacking – cracking, any code damage etc. which deals with the code of application. This type of testing needs sophisticated testing techniques.


MUTATION TESTING
A kind of testing in which, the application is tested for the code that was modified after fixing a particular bug/defect. It also helps in finding out which code and which strategy of coding can help in developing the functionality effectively.


BRANCH COVERAGE
No software application can be written in a continuous mode of coding, at some point we need to branch out the code in order to perform a particular functionality. Branch coverage testing helps in validating of all the branches in the code and making sure that no branching leads to abnormal behavior of the application.


INTERVIEW QUESTIONS

QTP Interview Questions
WinRunner Interview Questions
Selenium Interview Questions
Quality Center Interview Questions
LoadRunner Interview Questions
TestDirector Interview Questions


QTP Interview Questions


How Does Run time data (Parameterization) is handled in QTP?  Explain the concept of object repository & how QTP recognizes objects?
Object Repository: displays a tree of all objects in the current component or in the current action or entire test (depending on the object repository mode you selected). We can view or modify the test object description of any test object in the repository or to add new objects to the repository. Quick test learns the default property values and determines in which test object class it fits.


Give example where you have used a COM interface in your QTP project?
COM interface appears in the scenario of front end and back end. for eg:if you r using oracle as back end and front end as VB or any language then for better compatibility we will go for an interface. of which COM will be one among those interfaces. Create object creates handle to the instance of the specified object so that we program can use the methods on the specified object. It is used for implementing Automation(as defined by Microsoft).


How to handle dynamic objects in QTP?
QTP has a unique feature called Smart Object Identification/recognition. QTP generally identifies an object by matching its test object and run time object properties. QTP may fail to recognize the dynamic objects whose properties change during run time. Hence it has an option of enabling Smart Identification, wherein it can identify the objects even if their properties changes during run time.

What is a Run-Time Data Table? Where can I find and view this table?
In QTP, there is data table used, which is used at runtime.
-In QTP, select the option View->Data table.
-This is basically an excel file, which is stored in the folder of the test created, its name is Default.xls by default.


How does Parameterization and Data-Driving relate to each other in QTP?
To data drive we have to parameterize i.e. we have to make the constant value as parameter, so that in each iteration (cycle) it takes a value that is supplied in run-time data table. Through parameterization only we can drive a transaction (action) with different sets of data. 


What is the difference between Call to Action and Copy Action.?
Call to Action: The changes made in Call to Action, will be reflected in the original action (from where the script is called).But where as in Copy Action, the changes made in the script, will not affect the original script (Action)


 Differentiate the two Object Repository Types of QTP.
Object repository is used to store all the objects in the application being tested. 2 types of object repository per action and shared. In shared repository only one centralized repository for all the tests, where as in per action for each test a separate per action repository is created.



WinRunner Interview Questions

Explain WinRunner testing process?
WinRunner testing process involves six main stages
1.Create GUI Map File so that WinRunner can recognize the GUI objects in the application being tested
2.Create test scripts by recording, programming, or a combination of both. While recording tests, insert checkpoints where you want to check the response of the application being tested.
3.Debug Test: run tests in Debug mode to make sure they run smoothly
4.Run Tests: run tests in Verify mode to test your application.
5.Results: determines the success or failure of the tests.
6.Report Defects: If a test run fails due to a defect in the application being tested, you can report information about the defect directly from the Test Results window.



What is contained in the GUI map? 
WinRunner stores information it learns about a window or object in a GUI Map. When WinRunner runs a test, it uses the GUI map to locate objects. It reads an object’s description in the GUI map and then looks for an object with the same properties in the application being tested. Each of these objects in the GUI Map file will be having a logical name and a physical description. There are 2 types of GUI Map files. 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.


How does WinRunner recognize objects on the application?
 WinRunner uses the GUI Map file to recognize objects on the application. When WinRunner runs a test, it uses the GUI map to locate objects. It reads an object description in the GUI map and then looks for an object with the same properties in the application being tested.


How do you run your test scripts? -
We run tests in Verify mode to test your application. Each time WinRunner encounters a checkpoint in the test script, it compares the current data of the application being tested to the expected data captured earlier. If any mismatches are found, WinRunner captures them as actual results.


What is the use of Test Director software?
TestDirector is Mercury Interactive software test management tool. It helps quality assurance personnel plan and organize the testing process. With TestDirector you can create a database of manual and automated tests, build test cycles, run tests, and report and track defects. You can also create reports and graphs to help review the progress of planning tests, running tests, and tracking defects before a software release.


What are the different modes of recording?
There are two type of recording in WinRunner.  Context Sensitive recording records the operations you perform on your application by identifying Graphical User Interface (GUI) objects. Analog recording records keyboard input, mouse clicks, and the precise x- and y-coordinates traveled by the mouse pointer across the screen.
What is the purpose of loading WinRunner Add-Ins? 
Add-Ins are used in WinRunner to load functions specific to the particular add-in to the memory. While creating a script only those functions in the add-in selected will be listed in the function generator and while executing the script only those functions in the loaded add-in will be executed else WinRunner will give an error message saying it does not recognize the function.

Selenium Interview Questions

What browsers are supported by Selenium Remote Control? 
The test automation expert can use Firefox, IE 7/8, Safari and Opera browsers to run tests in Selenium Remote Control.

What programming languages can you use in Selenium RC? 
C#, Java, Perl, PHP, Python, Ruby

What are the advantages and disadvantages of using Selenium as testing tool? 
Advantages: Free, Simple and powerful DOM (document object model) level testing, can be used for continuous integration; great fit with Agile projects.
Disadvantages: Tricky setup; dreary errors diagnosis; can not test client server applications.

What is difference between QTP and Selenium? 
Only web applications can be testing using Selenium testing suite. However, QTP can be used for testing client server applications. Selenium supports following web browsers: Internet Explorer, Firefox, Safari, Opera, Windows, Mac OS X and Linux. However, QTP is limited to
Internet Explorer on Windows.QTP uses VB as a scripting language. However, Selenium test suite has the flexibility to use many languages like Java, .Net, Perl, PHP, Python, and Ruby.

What is Selenium?
Selenium is a suite of tools to automate web applications testing across many platforms. 

What is the price of Selenium license per server?
Selenium is open source software, released under the Apache 2.0 license and can be downloaded and used without charge.

Where to download Selenium?
Selenium can be downloaded and installed for free from seleniumhq.org
  
What is Selenium IDE?
Selenium IDE is a Firefox add-on that records clicks, typing, and other actions to make a test, which you can play back in the browser

What is Selenium Remote Control (RC) tool?
Selenium Remote Control (RC) runs your tests in multiple browsers and platforms. Tweak your tests in your preferred language.

What is Selenium Grid?
Selenium Grid extends Selenium RC to distribute your tests across multiple servers, saving you time by running tests in parallel.

What are the disadvantages of using Selenium as testing tool?
Selenium requires complex setup, errors diagnosis is not easy as we do in QTP, tests only web applications.

 How to developer Selenium Test Cases?
Using the Selenium IDE, QA Tester can record a test to comprehend the syntax of Selenium IDE commands, or to check the basic syntax for a specific type of user interface. Keep in mind that Selenium IDE recorder is not clever as QA Testers want it to be. Quality assurance team should never consider Selenium IDE as a "record, save, and run it" tool, all the time anticipate reworking a recorded test cases to make them maintainable in the future.

Quality Center Interview Questions

What is Quality Center used for?
Quality Center is a web-based test management tool. It gives you a centralized control over your entire testing Project. It can make the task of the testers easy by giving an interface to manage and organize activities like Requirements coverage, Test Case Management, Test Execution Reporting, Defect Management, and Test Analysis. Automation Tools like QTP , WinRunner & LoadRunner can be integrated with Quality Center. One can also create reports and graphs for Analysis and Tracking for Test processes.

 What is the difference between TestDirector and Quality Center?
Quality Center is upgraded version of Test Director built by the same vendor Mercury (Now acquired by HP).Test Director Version 8.2 onwards is know as Quality Center. Quality Center is has enhanced Security/Test management /Defect management features when compared to Test Director.

What is the difference between Quality Center and Bugzilla?
Quality Center is a test management tool which can also manage Defects apart from other features.BugZilla is Defect Management tool only.


What is Test Lab?

In order to execute a Test Case (Developed in the Test Plan Module) either manual or automated it needs to imported into Test Lab Module. In sum, Test Cases are created in Test Plan Module while they are executed in Test Lab Module.
  
 How to ensure that there is no duplication of bugs in Quality Center?
In the defect tracking window of QC,  there is a “find similar defect” icon. When this icon is clicked after writing the defect, if anybody else has entered the same defect then it points it out.

How to import test cases from Excel / Word  to Quality Center?
Install and Configure the Microsoft Excel / Word Add-In for Quality Center.

What is Business Component  ?
Quality Center provides Business Component  for Business Process Testing (BPT).
Many Enterprise Applications are complex and some require extensive test scripts/case.
QA Analyst can not handle both complexity of Application Under Test as well as  extensive test script/test case creation.Using Business Component,  Subject Matter Experts ( who are experts on the  Application  Under Test ) can create tests in a script free environment without involving in the Nitty-gritty of test case/script designing. It helps increase test coverage and creates re-usable business components used for testing essential Business Processes.

How to export test cases from QTP into QC?
To export test cases from QTP to QC, you first need to establish QTP-QC connection
1)  In QTP , Go to File > Quality Center Connection.
2)  Enter QC URL project name/domain/username/password and click on Login. QTP is now connected to QC.
Next you can select the save the QTP Script in QC.
3)  In QTP, Select File Menu > Save As > Save in QC
4 ) Select the Folder in QC where you wan to save the QTP Script
6) Click OK to Save.


 What is Coverage status, what does it do?
Coverage status is percentage of testing covered at a given time. Coverage status is helps keep track of project deadline.

How to use Quality Center in real time project?
Once completed the preparing of test cases
1. Export the test cases into Quality Centre
2. The test cases will be loaded in the test plan module
3. Once the execution is started. We move the test cases from test plan tab to the test lab module.
4. In test lab, we execute the test cases and put as pass or fail or incomplete.
5. If any defects is found attach the defects with the details.


How can we add requirements to test cases in Quality Center?
Two kinds of requirements are available in TD.
1. Parent Requirement
2. Child requirements.


  

  
Powered By Blogger