Monthly Archives - August 2016

Top 20 Questions of Load Runner

Software Testing: Top 20 Questions of Load Runner

1. What is load testing?

Load testing is the method to test if the application works fine under certain defined load. Load can be the number of vusers which will performance a certain amount of transaction in a defined unit of time.

2. What is Performance testing?

Performance Testing is the process of determining the performance (speed, effectiveness, reliability, scalability) of the system which involves tests to be executed in a dedicated testing environment having production like infrastructure in place to get the results which can pin-point the issue/bottleneck (if any).

3. What are the components of LoadRunner?

The components of LoadRunner are The Virtual User Generator, Controller, and the Agent process, LoadRunner Analysis and Monitoring, LoadRunner Books Online.

4. What Component of LoadRunner would you use to record a Script?

The Virtual User Generator (VuGen) component is used to record a script. It enables you to develop Vuser scripts for a variety of application types and communication protocols.

5. What is a rendezvous point?

You insert rendezvous points into Vuser scripts to emulate heavy user load on the server. Rendezvous points instruct Vusers to wait during test execution for multiple Vusers to arrive at a certain point, in order that they may simultaneously perform a task. For example, to emulate peak load on the bank server, you can insert a rendezvous point instructing 100 Vusers to deposit cash into their accounts at the same time.

6. What is a scenario?

A scenario defines the events that occur during each testing session. For example, a scenario defines and controls the number of users to emulate, the actions to be performed, and the machines on which the virtual users run their emulations. 

7. What is correlation? Explain the difference between automatic correlation and manual correlation?

Correlation is used to obtain data which are unique for each run of the script and which are generated by nested queries. Correlation provides the value to avoid errors arising out of duplicate values and also optimizing the code(to avoid nested queries). Automatic correlation is where we set some rules for correlation. It can be application server specific. Here values are replaced by data which are created by these rules. In manual correlation, the value we want to correlate is scanned and create correlation is used to correlate.

8. When do you disable log in Virtual User Generator, When do you choose standard and extended logs?

Once we debug our script and verify that it is functional, we can enable logging for errors only. When we add a script to a scenario, logging is automatically disabled.

Standard Log Option: When you select Standard log, it creates a standard log of functions and messages sent during script execution to use for debugging. Disable this option for large load testing scenarios. When you copy a script to a scenario, logging is automatically disabled

Extended Log Option: Select extended log to create an extended log, including warnings and other messages. Disable this option for large load testing scenarios. When you copy a script to a scenario, logging is automatically disabled. We can specify which additional information should be added to the extended log using the extended log options.

9. What are the changes you can make in run-time settings?

The Run Time Settings that we make are:

  1. a) Pacing – It has iteration count.
  2. b) Log – Under this we have Disable Logging Standard Log and Extended.
  3. c) Think Time – In think time we have two options like Ignore think time and Replay think time.
  4. d) General – Under general tab we can set the vusers as process or as multithreading and whether each step as a transaction.

10. What is Ramp up? How do you set this?

This option is used to gradually increase the amount of Vusers/load on the server. An initial value is set and a value to wait between intervals can be specified. To set Ramp Up, go to ‘Scenario Scheduling Options’

11. What is the relation between Response Time and Throughput?

The Throughput graph shows the amount of data in bytes that the Vusers received from the server in a second. When we compare this with the transaction response time, we will notice that as throughput decreased, the response time also decreased. Similarly, the peak throughput and highest response time would occur approximately at the same time.

12. What does vuser_init action contain?

Vuser_init action contains procedures to login to a server.

13. What does vuser_end action contain?

Vuser_end section contains log off procedures.

14. What are the benefits of multiple Action files within a Vuser?

They allow you to perform different business processes in one Vuser to repsent A real user who does the same thing. They let you build Vusers that emulate real Users defined in the User Community Profile. They also allow you to record the Login and logoff separately from the Action files and thus to avoid iteration.

15. How can you determine which field is data dependent?

Rerecord the same script using different input values, then compare the two Scripts.

16. What is difference between manual scenario and Goal oriented scenario? What Goal Oriented scenarios can be created?

Manual scenario:

–Main purpose is to learn how many Vusers can run concurrently

– Gives you manual control over how many Vusers run and at what times

Goal oriented scenario:

– Goal may be throughput, response time, or number of concurrent Vusers

– LoadRunner manages Vusers automatically

17. Different Goal Oriented Scenarios are:

  • Virtual Users
  • Hits per second
  • Transaction per second
  • Transaction Response time
  • Pages per minute

18. Why wouldn’t you want to run virtual users on the same host as the Load-Runner Controller or Database Server?

Running virtual users on the same host as the LoadRunner Controller will skewthe results so that they no longer emulate real life usage. By having both the Controller and the Vusers on the same machine, the tester will not be able to determine the effects of the network traffic.

19. Each time you run the same scenario, the results will be slightly different. Whatare some of the factors that can cause differences in performance measurements?

Different factors can effect the performance measurements including networktraffic, CPU usage and caching.

20. What are some of the reasons to use the Server Resources Monitor?

  • To find out how much data is coming from the cache
  • To help find out what parts of the system might contain bottlenecks

21. Explain the following:

  • Hits per second graph

The Hits per Second graph shows the number of HTTP requests made by Vusers to the Web server during each second of the scenario run. This graph helps you evaluate the amount of load Vusers generate, in terms of the number of hits.

  • Pages download per second graph

The Pages Downloaded per Second graph shows the number of Web pages (y-axis) downloaded from the server during each second of the scenario run (x-axis). This graph helps you evaluate the amount of load Vusers generate, in terms of the number of pages downloaded.

  • Transaction Response time (under load) graph

The Transaction Response Time (Under Load) graph is a combination of the Running Vusers and Average Transaction Response Time graphs and indicates transaction times relative to the number of Vusers running at any given point during the scenario. This graph helps you view the general impact of Vuser load on performance time and is most useful when analyzing a scenario with a gradual load.

  • Transaction Response time (percentile) graph

The Transaction Response Time (Percentile) graph analyzes the percentage of transactions that were performed within a given time range. This graph helps you determine the percentage of transactions that met the performance criteria defined for your system.

  • Network delay time graph

The Network Delay Time graph shows the delays for the complete path between the source and destination machines (for example, the database server and Vuser load generator).

Agile Testing Interview Questions and Answers

Agile Testing Interview Questions and Answers

 1. What is the advantage of doing Scrum?

A. The advantage of doing scrum is that while performing the test

  • It minimizes the risk in response to changes made to the system
  • It increases ROI ( Return of Investment)
  • It improves the process continuously
  • It repeatedly and rapidly looks into actual working software
  • Anyone can see real working software and continue to enhance for another iteration

2. Explain what is Scrum Sprint?

A. Scrum project is developed in a series of “sprint”. It is a repeatable and regular work cycle in scrum methodology during which work is accomplished and kept ready for review.

3. Explain what is a product backlog in Scrum?

A. Before the scrum sprint initiates, product owner review the list of all new features, change requests, enhancements and bug reports and determines which ones are of high priorities. If the project is new it includes new features that the new system must provide, this list of item is referred as Product Backlog.  The items that are kept on sprint are referred as Sprint Backlog.

4. What is an epic, user stories and task?

A.  1. Epic: A customer described software feature that is itemized in the product backlog is known as epic. Epics are          sub-divided into stories

       2. User Stories: From the client perspective user stories are prepared which defines project or business                            functions, and it is delivered in a particular sprint as expected.

3. Task: Further down user stories are broken down into different task

5. Mention the key difference between sprint backlog and product backlog?

  • Product backlog: It contains a list of all desired features and is owned by the product owner
  • Sprint backlog: It is a subset of the product backlog owned by development team and commits to deliver it in a sprint. It is created in Sprint Planning Meeting

6. Explain in Agile, burn-up and burn-down chart?

  • To track the project progress burnup and burn down, charts are used
  • Burnup Chart: It shows the progress of stories done over time
  • Burndown Chart: It shows how much work was left to do overtime

7. What is story points/efforts/ scales?

A. It is used to discuss the difficulty of the story without assigning actual hours. The most common scale used is a Fibonacci sequence ( 1,2,3,5,8,13,….100) although some teams use linear scale (1,2,3,4….), Powers of 2 (1,2,4,8……) and cloth size (XS, S ,M,L, XL)

8. What is a test stub?

A. A test stub is a small code that replaces an undeveloped or fully developed component within a system being tested. Test stub is designed in such a way that it mimics the actual component by generating specifically known outputs and substitute the actual component.

9. Explain what is user stories in Scrum?

A. In scrum, user stories are short, one sentence definitions of a feature or functionality.

10. What testing is done during Agile?

A. The primary testing activities during Agile is automated unit testing and exploratory testing. Though, depending on project requirements, a tester may execute Functional and Non-functional tests on the Application Under Test (AUT).

11. What are the qualities of a good Agile tester should have?

A. A good Agile tester should have following qualities

  • It should be able to understand the requirements quickly
  • Agile tester should know Agile principals and concepts well
  • As requirements keep changing, tester should understand the risk involve in it
  • Based on the requirements Agile tester should be able to prioritize the work
  • Continue communication between business associates, developers and tester is must

12. Explain the difference between traditional Waterfall model and Agile testing?

A. Agile testing is done parallel to the development activity whereas in traditional waterfall model testing is done at the end of the development.

As done in parallel, agile testing is done on small features whereas in waterfall model testing is done on whole application.

13. What is importance of daily stand up meeting?

A. Daily stand up meeting is essential for any team in which-

  1. Team discuss about how much work has been completed.
  2. What are the plans to resolve technical issues.
  3. What steps need to done to complete the projects etc.

14. What is Zero sprint in Agile?

A. It can be defined as pre step to the first sprint. Activities like setting development environment, preparing backlog etc needs to be done before starting of the first sprint and can be treated as Sprint zero.

15. Explain Pair Programming and its benefits?

A. Pair programming is a technique in which two programmer works as team in which one programmer writes code and other one reviews that code. They both can switch their roles.

Benefits:

  1. Improved code quality: As second partner reviews the code simultaneously, it reduces the chances of mistake.
  2. Knowledge transfer is easy: One experience partner can teach other partner about the techniques and codes.

Selenium Interview Questions and Answers

Software Testing Interview Questions

Selenium Interview Questions and Answers

Frequently asked Interview Questions with Answer in Selenium

1. What are the annotations used in TestNG ?

A. @Test, @BeforeSuite, @AfterSuite, @BeforeTest, @AfterTest, @BeforeClass, @AfterClass, @BeforeMethod, @AfterMethod.

2. What are the limitations of Selenium?

A. Following are the limitations of Selenium:

  • Selenium supports testing of only web based applications
  • Mobile applications cannot be tested using Selenium
  • Captcha and Bar code readers cannot be tested using Selenium
  • Reports can only be generated using third party tools like TestNG or Junit.
  • As Selenium is a free tool, thus there is no ready vendor support though the user can find numerous helping communities.
  • User is expected to possess prior programming language knowledge.

3. What is Selenium? What are the different Selenium components?

A. Selenium is one of the most popular automated testing suites. Selenium is designed in a way to support and encourage automation testing of functional aspects of web based applications and a wide range of browsers and platforms. Due to its existence in the open source community, it has become one of the most accepted tools amongst the testing professionals.

Selenium is not just a single tool or a utility, rather a package of several testing tools and for the same reason it is referred to as a Suite. Each of these tools is designed to cater different testing and test environment requirements.

The suite package constitutes of the following sets of tools:

  • Selenium Integrated Development Environment SIDE– Selenium IDE is a record and playback tool. It is distributed as a Firefox Plugin.
  • Selenium Remote Control (RC) – Selenium RC is a server that allows user to create test scripts in a desired programming language. It also allows executing test scripts within the large spectrum of browsers.
  • Selenium WebDriver – WebDriver is a different tool altogether that has various advantages over Selenium RC. WebDriver directly communicates with the web browser and uses its native compatibility to automate.
  • Selenium Grid –  Selenium Grid is used to distribute your test execution on multiple platforms and environments concurrently

4. What is Selenese?

A. Selenese is the language which is used to write test scripts in Selenium IDE.

5. What is the use of xpath ?

A. It is used to find the WebElement in web page. It is very useful to identify the dynamic web elements.

6. What is the difference between Assert and Verify?

A. Assert- it is used to verify the result. If the test case fail then it will stop the execution of the test case there itself and move the control to other test case.

Verify- it is also used to verify the result. If the test case fail then it will not stop the execution of that test case.

7. How do you handle alert pop-up ?

A. To handle alert pop-ups, we need to 1st switch control to alert pop-ups then click on ok or cancle then move control back to main page.

String mainPage = driver.getWindowHandle();

Alert alt = driver.switchTo().alert(); // to move control to alert popup

 alt.accept(); // to click on ok.

 alt.dismiss(); // to click on cancel.

 //Then move the control back to main web page-

 driver.switchTo().window(mainPage); → to switch back to main page.

8. What is the difference between “/” and “//” in Xpath?

A. Single Slash “/” – Single slash is used to create Xpath with absolute path i.e. the xpath would be created to start selection from the document node/start node.

Double Slash “//” – Double slash is used to create Xpath with relative path i.e. the xpath would be created to start selection from anywhere within the document.

9. What do we mean by Selenium 1 and Selenium 2?

A. Selenium RC and WebDriver, in a combination are popularly known as Selenium 2. Selenium RC alone is also referred as Selenium 1.

10. How do I launch the browser using WebDriver?

A. The following syntax can be used to launch Browser:
WebDriver driver = new FirefoxDriver();
WebDriver driver = new ChromeDriver();
WebDriver driver = new InternetExplorerDriver();

11. What are the different types of waits available in WebDriver?

A. There are two types of waits available in WebDriver:

  1. Implicit Wait
  2. Explicit Wait

Implicit Wait: Implicit waits are used to provide a default waiting time (say 30 seconds) between each consecutive test step/command across the entire test script. Thus, subsequent test step would only execute when the 30 seconds have elapsed after executing the previous test step/command.

Explicit Wait: Explicit waits are used to halt the execution till the time a particular condition is met or the maximum time has elapsed. Unlike Implicit waits, explicit waits are applied for a particular instance only.

12. What are the different types of navigation commands?

A. Following are the navigation commands:
navigate().back() – The above command requires no parameters and takes back the user to the previous webpage in the web browser’s history.

navigate().forward() – This command lets the user to navigate to the next web page with reference to the browser’s history.

navigate().refresh() – This command lets the user to refresh the current web page there by reloading all the web elements.

13. When do we use findElement() and findElements()?

A. findElement(): findElement() is used to find the first element in the current web page matching to the specified locator value. Take a note that only first matching element would be fetched.

Syntax:

WebElement element = driver.findElements(By.xpath(“//div[@id=’example’]//ul//li”));
findElements(): findElements() is used to find all the elements in the current web page matching to the specified locator value. Take a note that all the matching elements would be fetched and stored in the list of WebElements.

Syntax:
List <WebElement> elementList = driver.findElements(By.xpath(“//div[@id=’example’]//ul//li”));

14. How do I submit a form using Selenium?
A. driver.findElement(By.id(“ElementID”)). submit();

15. What is the difference between driver.close() and driver.quit() command?

A. close(): WebDriver’s close() method closes the web browser window that the user is currently working on or we can also say the window that is being currently accessed by the WebDriver. The command neither requires any parameter nor does is return any value.

quit(): Unlike close() method, quit() method closes down all the windows that the program has opened. Same as close() method, the command neither requires any parameter nor does is return any value.

16. What is a framework?

A. Framework is a constructive blend of various guidelines, coding standards, concepts, processes, practices, project hierarchies, modularity, reporting mechanism, test data injections etc. to pillar automation testing.

17. What are the different types of frameworks?

A. Below are the different types of frameworks:

  1. Module Based Testing Framework: The framework divides the entire “Application Under Test” into number of logical and isolated modules. For each module, we create a separate and independent test script. Thus, when these test scripts taken together builds a larger test script representing more than one module.
  2. Library Architecture Testing Framework: The basic fundamental behind the framework is to determine the common steps and group them into functions under a library and call those functions in the test scripts whenever required.
  3. Data Driven Testing Framework: Data Driven Testing Framework helps the user segregate the test script logic and the test data from each other. It lets the user store the test data into an external database. The data is conventionally stored in “Key-Value” pairs. Thus, the key can be used to access and populate the data within the test scripts.
  4. Keyword Driven Testing Framework: The Keyword driven testing framework is an extension to Data driven Testing Framework in a sense that it not only segregates the test data from the scripts, it also keeps the certain set of code belonging to the test script into an external data file.
  5. Hybrid Testing Framework: Hybrid Testing Framework is a combination of more than one above mentioned frameworks. The best thing about such a setup is that it leverages the benefits of all kinds of associated frameworks.
  6. Behavior Driven Development Framework: Behavior Driven Development framework allows automation of functional validations in easily readable and understandable format to Business Analysts, Developers, Testers, etc

18. Give the example for method overload in WebDriver.

A. frame(string), frame(int), frame(WebElement).

19. How do you upload a file?

A. To upload a file we can use sendKeys() method.

driver.findElement(By.xpath(“input field”)).sendKeys(“path of the file”);

20. How do you click on a menu item in a drop down menu?

A. If that menu has been created by using select tag then we can use the methods selectByValue() or selectByIndex() or selectByVisibleText(). These are the methods of the Select class.

If the menu has not been created by using the select tag then we can simply find the xpath of that element and click on that to select.

21. What are the different exceptions you got when working with WebDriver ?

A. ElementNotVisibleException, ElementNotSelectableException, NoAlertPresentException, NoSuchAttributeException, NoSuchWindowException, TimeoutException, WebDriverException etc.

22. What are the languages supported by WebDriver ?

A. Python, Ruby, C# and Java are all supported directly by the development team. There are also webdriver implementations for PHP and Perl.

23. What are the prerequisites to run selenium webdriver?

A. JDK, Eclipse, WebDriver(selenium standalone jar file), browser, application to be tested.

24. What is Selenium Grid ?

A. Selenium-Grid allows you to run your tests on different machines against different browsers in parallel. That is, running multiple tests at the same time against different machines, different browsers and operating systems. Essentially, Selenium-Grid support distributed test execution. It allows for running your tests in a distributed test execution environment.

25. How to check if a button is enabled on the page ?

A. Use isEnabled() method. The return type of the method is boolean. So if it return true then button is enabled else not enabled.

 driver.findElement(By.xpath(“xpath of button”)).isEnabled();

26. How to check the checkbox or radio button is selected ?

A. Use isSelected() method to identify. The return type of the method is boolean. So if it return true then button is selected else not enabled.

driver.findElement(By.xpath(“xpath of button”)).isSelected();

27. How can we get a text of a web element?

A. Get command is used to retrieve the inner text of the specified web element. The command doesn’t require any parameter but returns a string value. It is also one of the extensively used commands for verification of messages, labels, errors etc displayed on the web pages.

Syntax:
String Text = driver.findElement(By.id(“Text”)).getText();

28. How do u get the attribute of the web element ?

A. driver.getElement(By.tagName(“img”)).getAttribute(“src”) will give you the src attribute of this tag.

29. How to hover the mouse on an element ?

A. act.moveToElement(webelement); //webelement on which you want to move cursor

Agile Testing Interview Questions and Answers

Software Testing Interview Questions

Software Testing Interview Questions

  1. Can you explain the PDCA cycle and where testing fits in?
  2. What is the main benefit of designing tests early in the life cycle?
  3. What is the difference between white box, black box, and gray box testing?
  4. Can you explain usability testing?
  5. When is used Decision table testing?
  6. What are the categories of defects in requirement?
  7. We use the output of the requirement analysis, the requirement specification as the input for writing …?
  8. What is component testing?
  9. What are the different Methodologies in Agile Development Model?
  10. What is an equivalence partition (also known as an equivalence class)?
  11. A Type of functional Testing, which investigates the functions relating to detection of threats, such as virus from malicious outsiders?
  12. When “Regression Testing” should be performed?
  13. What is negative and positive testing?
  14. What is the purpose of a test completion criterion?
  15. What is the difference between re-testing and regression testing?
  16. What are the Experience-based testing techniques?
  17. What type of review requires formal entry and exit criteria, including metrics?
  18. Are there more defects in the design phase or in the coding phase?
  19. Should testing be done only after the build and execution phases are complete?
  20. What impact ratings have you used in your projects?
  21. When should testing be stopped?
  22. Mention the difference between Data Driven Testing and Retesting?
  23. What is the difference between UAT (User Acceptance Testing) and System testing?
  24. What is Integration testing?
  25. What is verification and validation?
  26. What is white box testing and list the types of white box testing?
  27. When is RTM (Requirement Traceability Matrix) prepared ?
  28. What is difference between Test matrix and Traceability matrix?
  29. What is “use case testing”?
  30. What is the difference between STLC (Software Testing Life Cycle) and SDLC (Software Development Life  Cycle) ?
  31. What is a test log?
  32. What’s the difference between alpha and beta testing?
  33. What is coverage and what are the different types of coverage techniques?
  34. Explain Branch Coverage and Decision Coverage.
  35. What is Mutation testing & when can it be done?
  36. What is severity and priority of bug? Give some example.
  37. What is Monkey testing?
  38. What is test driver and test stub?
  39. What is the purpose of test strategy?
  40. Explain bug life cycle?

To learn more Selenium Interview Questions and Answers and Agile Testing Interview Questions and Answers