What is Selenium?
Make an application live in the market is not as easy as you think. This is because application development requires several steps to release into the market. This involves planning, designing, implementation, testing, debugging, monitoring, and production. An application gets executed all these processes sequentially. Among all these processes, testing is the crucial phase in developing an application. The test result decides an application to make into production. Selenium is the best testing tool to test various kinds of applications in the market. Would you like to know how? Read the complete articles to get the best knowledge on this tool.
Before going to have a brief discussion on this tool, let us have an initial discussion on
Need for Testing:
The world of technology is completed dominated by machines. Here the behavior is controlled by software powering it. And we cannot expect the machines to be run exactly all the time. So to make the application run the same all the time, we need to test application software and make it bug-free. This test result shows the application success rate. And this application success rate shows your business growth. This testing is necessary for all kinds of applications from small to large. Moreover, this software testing is divided into types like Manual Testing and Automation. This Automation testing is responsible to overcome the problem of manual testing.
Challenges of Manual Testing:
Manual testing refers to the testing of web applications manually by QA testers. Here tester needs to perform various test cases manually in every environment using different data sets and the success-failure rate of every transaction should be recorded. And we cannot expect every manual testing is accurate all the time. Because there would be failures occasionally during manual testing. Hence to overcome these kinds of failures, testers opts automation testing compared to manual testing. And Selenium is an example of this automation testing
What is Selenium?
It is an open-source tool, that is responsible for automating the test performed on the web browsers. With this tool, we can test both the mobile as well as desktop applications. This tool was originally developed by Jason Huggins in 2004. This tool suits well in developing applications across various browsers, platforms as well as programming languages. And this tool also suits well for various mobile platforms like Windows, Android, iOs, and so on.
This tool uses different drivers to support a variety of programming languages. Some of the popular languages that this tool supports are C#, Java, Perl, Python, and Ruby. Among all these programming languages, selenium web driver is popular with java and python to test different kinds of scripts. Likewise, this tool supports different browsers like Safari, Mozilla, Google Chrome, and so on. Using selenium testers can able to deliver faster test cycles by automating rapid test cases. And you people can get the selenium download even through online. Kits Selenium Online Training gives a more detailed explanation of this tool.
This Selenium suite is composed of several different tools as follows:
It is a testing framework that enables the QA (or) developer to write test cases in any programming language to automate the UI tests for web applications. This Selenium RC consists of Selenium Server and Selenium Remote Control(RC). The RC Server communicates using simple HTTP using GET/POST request. In Selenium RC, communication with the RC server is very slow. Hence this RC Server is a time-consuming process.
Integration Development Environment(IDE):
It is a firefox plugin that has donated the selenium IDE prototype to the apache selenium project. This firefox plugin is responsible for the faster creation of test cases. Here the IDE implements a record and playback model. Here the test cases are created by recording the user interactions with the browser. And these tests can be played back any number of times. Besides the advantage of this plugin allows to export the test records via different plugins like java, ruby, python, and so on.
It is the first cross-platform testing that could control the browser from the OS level. In contrast to IDE, this web driver provides a programming interface to increate and execute test cases. Here the test cases are written such that web elements on the web pages are identified and the actions were performed on those elements. It is an upgraded version of Selenium RC. Hence it is much faster in comparision with RC.
It is an advanced version that allows the simultaneous execution of an application in different browsers. One of the main advantages of using the grid is that it divides the total test suite to work with different machines at the same time. This tool is very flexible and can add more functionality to the framework to create changes to their versions to get high performance.
How Selenium is different from QTP?
QTP is a functional and regression testing automation that provides the functional and regression test automation for software applications and environments. This was used by testers over QTP before selenium. Now let us have a quick look on
Advantages of Selenium over QTP:
- It is an open-source tool
- It is highly extensible
- Runs test across different browsers
- Supports various operating system and mobile devices
- Can execute the tests in parallel
- Capable of test execution while the browser is minimized
Hence likewise, there are many benefits of this tool over other testing tools. Moreover, you people can get to know all those benefits practically from live experts through Selenium Online Course. I hope you people have got enough knowledge of Selenium and how it is different from other tools. In the next article, I'll be sharing you with the in-depth knowledge of selenium hq and its components, its applications in various cases, and so on. In the meantime have a glance at Selenium interview Questions and get placed in your dream firm
Appium Online Training
Acquire hands-on experience of mobile test automation through its core concepts from basic to the advanced level taught by live industry experts with practical use cases at Appium online training cour
Build and Release Online Training
KITS Build and Engineer Online Training Course taught by live industry experts enhances your practical knowledge on the build and release concept and process, DevOps Concept, and process through pract
Bulid And Release Online Training
KITS Build and Engineer Online Training Course taught by live industry experts enhances your practical knowledge on the build and release concept and process, DevOps Concept, and process through pract
Manual Testing Training
Acquire hands-on experience in performing regression and regression testing automation for software applications and environments through hands-on exercises with live use-cases and become a master in
Start your career in QTP Testing and acquire hands-on experience for achieving the quality of testing and make the testing process profitable through practical exposure and become an expert in QTP tes
Selenium Online Training
Enroll today for the KITS Selenium Online Training taught by live industry experts to enhance your skills on selenium testing taught by real-time industry experts with practical usecases and acquire t
Testing Tools Online Training
Acquire hands-on experience of the various testing tools taught by real-time working professionals through hands-on exercises and real time project projects and become an expert in Testing tools.
Tosca Testing Online Training
Become a master in Tosca testing from the roots to the advanced level taught by real-time working professionals with real-time use cases at Tosca Testing Online Training.
What is a Testing tool?
What is Selenium?
Make an application live in the market is not as easy as you think. This is because application development requires several steps to release into the market. This involves planning, designing, implementation, testing, debugging, monitoring, and production. An application gets executed all these processes sequentially. Among all these processes, testing is the crucial phase in developing an application. The test result decides an application to make into production. Selenium is the best testing tool to test various kinds of applications in the market. Would you like to know how? Read the complete articles to get the best knowledge on this tool. Before going to have a brief discussion on this tool, let us have an initial discussion on Need for Testing: The world of technology is completed dominated by machines. Here the behavior is controlled by software powering it. And we cannot expect the machines to be run exactly all the time. So to make the application run the same all the time, we need to test application software and make it bug-free. This test result shows the application success rate. And this application success rate shows your business growth. This testing is necessary for all kinds of applications from small to large. Moreover, this software testing is divided into types like Manual Testing and Automation. This Automation testing is responsible to overcome the problem of manual testing. Challenges of Manual Testing: Manual testing refers to the testing of web applications manually by QA testers. Here tester needs to perform various test cases manually in every environment using different data sets and the success-failure rate of every transaction should be recorded. And we cannot expect every manual testing is accurate all the time. Because there would be failures occasionally during manual testing. Hence to overcome these kinds of failures, testers opts automation testing compared to manual testing. And Selenium is an example of this automation testing What is Selenium? It is an open-source tool, that is responsible for automating the test performed on the web browsers. With this tool, we can test both the mobile as well as desktop applications. This tool was originally developed by Jason Huggins in 2004. This tool suits well in developing applications across various browsers, platforms as well as programming languages. And this tool also suits well for various mobile platforms like Windows, Android, iOs, and so on. This tool uses different drivers to support a variety of programming languages. Some of the popular languages that this tool supports are C#, Java, Perl, Python, and Ruby. Among all these programming languages, selenium web driver is popular with java and python to test different kinds of scripts. Likewise, this tool supports different browsers like Safari, Mozilla, Google Chrome, and so on. Using selenium testers can able to deliver faster test cycles by automating rapid test cases. And you people can get the selenium download even through online. Kits Selenium Online Training gives a more detailed explanation of this tool. Selenium Tools: This Selenium suite is composed of several different tools as follows: Remote Control(RC): It is a testing framework that enables the QA (or) developer to write test cases in any programming language to automate the UI tests for web applications. This Selenium RC consists of Selenium Server and Selenium Remote Control(RC). The RC Server communicates using simple HTTP using GET/POST request. In Selenium RC, communication with the RC server is very slow. Hence this RC Server is a time-consuming process. Integration Development Environment(IDE): It is a firefox plugin that has donated the selenium IDE prototype to the apache selenium project. This firefox plugin is responsible for the faster creation of test cases. Here the IDE implements a record and playback model. Here the test cases are created by recording the user interactions with the browser. And these tests can be played back any number of times. Besides the advantage of this plugin allows to export the test records via different plugins like java, ruby, python, and so on. Web Driver: It is the first cross-platform testing that could control the browser from the OS level. In contrast to IDE, this web driver provides a programming interface to increate and execute test cases. Here the test cases are written such that web elements on the web pages are identified and the actions were performed on those elements. It is an upgraded version of Selenium RC. Hence it is much faster in comparision with RC. Grid: It is an advanced version that allows the simultaneous execution of an application in different browsers. One of the main advantages of using the grid is that it divides the total test suite to work with different machines at the same time. This tool is very flexible and can add more functionality to the framework to create changes to their versions to get high performance. How Selenium is different from QTP? QTP is a functional and regression testing automation that provides the functional and regression test automation for software applications and environments. This was used by testers over QTP before selenium. Now let us have a quick look on Advantages of Selenium over QTP: It is an open-source tool It is highly extensible Runs test across different browsers Supports various operating system and mobile devices Can execute the tests in parallel Capable of test execution while the browser is minimized Hence likewise, there are many benefits of this tool over other testing tools. Moreover, you people can get to know all those benefits practically from live experts through Selenium Online Course. I hope you people have got enough knowledge of Selenium and how it is different from other tools. In the next article, I'll be sharing you with the in-depth knowledge of selenium hq and its components, its applications in various cases, and so on. In the meantime have a glance at Selenium interview Questions and get placed in your dream firmContinue reading
LoadRunner Interview Questions
Q.What is load testing? Ans: Load testing is to test that if the application works fine with the loads that result from large number of simultaneous users, transactions and to determine weather it can handle peak usage periods. Q.What is Performance testing? Ans: Timing for both read and update transactions should be gathered to determine whether system functions are being performed in an acceptable timeframe. This should be done standalone and then in a multi user environment to determine the effect of multiple transactions on the timing of a single transaction. Q.What are the components of LoadRunner? Ans: The components of LoadRunner are The Virtual User Generator, Controller, and the Agent process, LoadRunner Analysis and Monitoring, LoadRunner Books Online. Q.What is Virtual Users? Ans: Unlike a WinRunner workstation which emulates a single user's use of a client, LoadRunner can emulate thousands of Virtual Users. Load generators are controlled by VuGen scripts which issue non-GUI API calls using the same protocols as the client under test. But WinRunner GUI Vusers emulate keystrokes, mouse clicks, and other User Interface actions on the client being tested. Only one GUI user can run from a machine unless LoadRunner Terminal Services Manager manages remote machines with Terminal Server Agent enabled and logged into a Terminal Services Client session. During run-time, threadedvusers share a common memory pool. So threading supports more Vusers per load generator. The Status of Vusers on all load generators start from "Running", then go to "Ready" after going through the init section of the script. Vusers are "Finished" in passed or failed end status. Vusers are automatically "Stopped" when the Load Generator is overloaded. Q.Explain the Load testing process? Version 7.2 Ans: Step 1: Planning the test. Here, we develop a clearly defined test plan to ensure the test scenarios we develop will accomplish load-testing objectives. Step 2: Creating Vusers. Here, we create Vuser scripts that contain tasks performed by each Vuser, tasks performed by Vusers as a whole, and tasks measured as transactions. Step 3: Creating the scenario. A scenario describes the events that occur during a testing session. It includes a list of machines, scripts, and Vusers that run during the scenario. We create scenarios using LoadRunner Controller. We can create manual scenarios as well as goal-oriented scenarios. In manual scenarios, we define the number of Vusers, the load generator machines, and percentage of Vusers to be assigned to each script. For web tests, we may create a goal-oriented scenario where we define the goal that our test has to achieve. LoadRunner automatically builds a scenario for us. Step 4: Running the scenario. We emulate load on the server by instructing multiple Vusers to perform tasks simultaneously. Before the testing, we set the scenario configuration and scheduling. We can run the entire scenario, Vuser groups, or individual Vusers. Step 5: Monitoring the scenario. We monitor scenario execution using the LoadRunner online runtime, transaction, system resource, Web resource, Web server resource, Web application server resource, database server resource, network delay, streaming media resource, firewall server resource, ERP server resource, and Java performance monitors. Step 6: Analyzing test results. During scenario execution, LoadRunner records the performance of the application under different loads. We use LoadRunner’s graphs and reports to analyze the application’s performance. Q.When do you do load and performance Testing? Ans: We perform load testing once we are done with interface (GUI) testing. Modern system architectures are large and complex. Whereas single user testing primarily on functionality and user interface of a system component, application testing focuses on performance and reliability of an entire system. For example, a typical application-testing scenario might depict 1000 users logging in simultaneously to a system. This gives rise to issues such as what is the response time of the system, does it crash, will it go with different software applications and platforms, can it hold so many hundreds and thousands of users, etc. This is when we set do load and performance testing. Q.What Component of LoadRunner would you use to record a Script? Ans: 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. Q.What is a rendezvous point? Ans: 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. Q.Explain the recording mode for web Vuser script? Ans: We use VuGen to develop a Vuser script by recording a user performing typical business processes on a client application. VuGen creates the script by recording the activity between the client and the server. For example, in web based applications, VuGen monitors the client end of the database and traces all the requests sent to, and received from, the database server. We use VuGen to: Monitor the communication between the application and the server; Generate the required function calls; and Insert the generated function calls into a Vuser script. Q.Why do you create parameters? Ans: Parameters are like script variables. They are used to vary input to the server and to emulate real users. Different sets of data are sent to the server each time the script is run. Better simulate the usage model for more accurate testing from the Controller; one script can emulate many different users on the system. Q.What is correlation? Explain the difference between automatic correlation and manual correlation? Ans: 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. Q.How do you find out where correlation is required? Ans: Two ways: First we can scan for correlations, and see the list of values which can be correlated. From this we can pick a value to be correlated. Secondly, we can record two scripts and compare them. We can look up the difference file to see for the values which needed to be correlated. Q.Where do you set automatic correlation options? Ans: Automatic correlation from web point of view can be set in recording options and correlation tab. Here we can enable correlation for the entire script and choose either issue online messages or offline actions, where we can define rules for that correlation. Automatic correlation for database can be done using show output window and scan for correlation and picking the correlate query tab and choose which query value we want to correlate. If we know the specific value to be correlated, we just do create correlation for the value and specify how the value to be created. Q.What is a function to capture dynamic values in the web Vuser script? Ans: Web_reg_save_param function saves dynamic data information to a parameter. Q.What are Scenarios ? Ans: Scenarios encapsulate the Vuser Groups and scripts to be executed on load generators at run-time. Manual scenarios can distribute the total number of Vusers among scripts based on the analyst-specified percentage (evenly among load generators). Goal Oriented scenarios are automatically created based on a specified transaction response time or number of hits/transactions-per-second (TPS). Test analysts specify the % of Target among scripts. Q.How do you debug a LoadRunner script? Ans: VuGen contains two options to help debug Vuser scripts-the Run Step by Step command and breakpoints. The Debug settings in the Options dialog box allow us to determine the extent of the trace to be performed during scenario execution. The debug information is written to the Output window. We can manually set the message class within your script using the lr_set_debug_message function. This is useful if we want to receive debug information about a small section of the script only. Q.How do you write user defined functions in LR? Ans: Before we create the User Defined functions we need to create the external library (DLL) with the function. We add this library to VuGen bin directory. Once the library is added then we assign user defined function as a parameter. The function should have the following format: __declspec (dllexport) char* (char*, char*) Q.What are the changes you can make in run-time settings? Ans: The Run Time Settings that we make are: 1. Pacing - It has iteration count. 2. Log - Under this we have Disable Logging Standard Log and 3. Extended Think Time - In think time we have two options like Ignore think time and Replay think time. 4. General - Under general tab we can set the vusers as process or as multithreading and whether each step as a transaction. Q.Where do you set Iteration for Vuser testing? Ans: We set Iterations in the Run Time Settings of the VuGen. The navigation for this is Run time settings, Pacing tab, set number of iterations. Q.What is Ramp up? How do you set this? Ans: 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’ Q.If you want to stop the execution of your script on error, how do you do that? Ans: The lr_abort function aborts the execution of a Vuser script. It instructs the Vuser to stop executing the Actions section, execute the vuser_end section and end the execution. This function is useful when you need to manually abort a script execution as a result of a specific error condition. When you end a script using this function, the Vuser is assigned the status "Stopped". For this to take effect, we have to first uncheck the Continue on error option in Run-Time Settings. Q.What is the relation between Response Time and Throughput? Ans: 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. Q.How do you identify the performance bottlenecks? Ans: Performance Bottlenecks can be detected by using monitors. These monitors might be application server monitors, web server monitors, database server monitors and network monitors. They help in finding out the troubled area in our scenario which causes increased response time. The measurements made are usually performance response time, throughput, hits/sec, network delay graphs, etc. Q.If web server, database and Network are all fine where could be the problem? Ans: The problem could be in the system itself or in the application server or in the code written for the application. Q.How did you find web server related issues? Ans: Using Web resource monitors we can find the performance of web servers. Using these monitors we can analyze throughput on the web server, number of hits per second that occurred during scenario, the number of http responses per second, the number of downloaded pages per second. Q.How did you find database related issues? Ans: By running Database monitor and help of Data Resource Graph we can find database related issues. E.g. You can specify the resource you want to measure on before running the controller and than you can see database related issues . Q.What is the difference between Overlay graph and Correlate graph? Ans: Overlay Graph: It overlay the content of two graphs that shares a common x-axis. Left Y-axis on the merged graph show’s the current graph’s value & Right Y-axis show the value of Y-axis of the graph that was merged. Correlate Graph: Plot the Y-axis of two graphs against each other. The active graph’s Y-axis becomes X-axis of merged graph. Y-axis of the graph that was merged becomes merged graph’s Y-axis. Q.What does vuser_init action contain? Ans: Vuser_init action contains procedures to login to a server Q.What does vuser_end action contain? Ans: Vuser_end section contains log off procedures Q.What is think time? How do you change the threshold? Ans: Think time is the time that a real user waits between actions. Example: When a user receives data from a server, the user may wait several seconds to review the data before responding. This delay is known as the think time. Changing the Threshold: Threshold level is the level below which the recorded think time will be ignored. The default value is five (5) seconds. We can change the think time threshold in the Recording options of the Vugen. Q.What is the difference between standard log and extended log? Ans: The standard log sends a subset of functions and messages sent during script execution to a log. The subset depends on the Vuser type Extended log sends a detailed script execution messages to the output log. This is mainly used during debugging when we want information about: Parameter substitution. Data returned by the server. Advanced trace. Q.What is lr_debug_message ? Ans: The lr_debug_message function sends a debug message to the output log when the specified message class is set. Q.What is lrd_fetch? Ans: The lrd_fetch function fetches the next row from the result set. Q.What is lrd_stmt? Ans: The lrd_stmt function associates a character string (usually a SQL statement) with a cursor. This function sets a SQL statement to be processed. contact for more on LoadRunner Online TrainingContinue reading
MicroServices Interview Questions
Q.What Are Microservices? Ans: Microservices is a variant of the service-oriented architecture (SOA) architectural style that structures an application as a collection of loosely coupled services. In a microservices architecture, services should be fine-grained and the protocols should be lightweight. The benefit of decomposing an application into different smaller services is that it improves modularity and makes the application easier to understand, develop and test. It also parallelism development by enabling small autonomous teams to develop, deploy and scale their respective services independently. It also allows the architecture of an individual service to emerge through continuous refactoring. Microservices-based architectures enable continuous delivery and deployment. Q.What Is Spring Cloud? Ans: Spring Cloud Stream App Starters are Spring Boot based Spring Integration applications that provide integration with external systems. Spring Cloud Task. A short-lived microservices framework to quickly build applications that perform finite amounts of data processing. Q.What Are The Advantages Of Using Spring Cloud? Ans: When developing distributed microservices with Spring Boot we face the following issues- Complexity associated with distributed systems- This overhead includes network issues, Latency overhead, Bandwidth issues, security issues. Service Discovery- Service discovery tools manage how processes and services in a cluster can find and talk to one another. It involves a directory of services, registering services in that directory, and then being able to lookup and connect to services in that directory. Redundancy- Redundancy issues in distributed systems. Loadbalancing- Load balancing improves the distribution of workloads across multiple computing resources, such as computers, a computer cluster, network links, central processing units, or disk drives. Performance issues- Performance issues due to various operational overheads. Deployment complexities- Requirement of Devops skills. Q.What Is A Microservices Architecture? Ans: Microservices architecture allows to avoid monolith application for large system. It provide loose coupling between collaborating processes which running independently in different environments with tight cohesion. Q.What Are The Advantages And Disadvantages Of Microservices? Ans: Microservices Advantages Smaller code base is easy to maintain. Easy to scale as individual component. Technology diversity i.e. we can mix libraries, databases, frameworks etc. Fault isolation i.e. a process failure should not bring whole system down. Better support for smaller and parallel team. Independent deployment Deployment time reduce Microservices Disadvantages Difficult to achieve strong consistency across services ACID transactions do not span multiple processes. Distributed System so hard to debug and trace the issues Greater need for end to end testing Required cultural changes in across teams like Dev and Ops working together even in same team. Q.What Netflix Projects Did We Use? Ans: Eureka created by Netflix, it is the Netflix Service Discovery Server and Client. Netflix Ribbon, it provide several algorithm for Client-Side Load Balancing. Spring provide smart RestTemplate for service discovery and load balancing by using @LoadBalanced annotation with RestTemplate instance. Q.How Will You Monitor Multiple Microservices For Various Indicators Like Health? Ans: Spring Boot provides actuator endpoints to monitor metrics of individual microservices. These endpoints are very helpful for getting information about applications like if they are up, if their components like database etc are working good. But a major drawback or difficulty about using actuator enpoints is that we have to individually hit the enpoints for applications to know their status or health. Imagine microservices involving 50 applications, the admin will have to hit the actuator endpoints of all 50 applications. To help us deal with this situation, we will be using open source project located at Built on top of Spring Boot Actuator, it provides a web UI to enable us visualize the metrics of multiple applications. Q.What Does One Mean By Service Registration And Discovery ? How Is It Implemented In Spring Cloud? Ans: When we start a project, we usually have all the configurations in the properties file. As more and more services are developed and deployed, adding and modifying these properties become more complex. Some services might go down, while some the location might change. This manual changing of properties may create issues. Eureka Service Registration and Discovery helps in such scenarios. As all services are registered to the Eureka server and lookup done by calling the Eureka Server, any change in service locations need not be handled and is taken care of. Q.How Do You Setup Service Discovery? Ans: Spring Cloud support several ways to implement service discovery but for this I am going to use Eureka created by Netflix. Spring Cloud provide several annotation to make it use easy and hiding lots of complexity. Q.How Do You Access A Restful Microservice? Ans: Load Balanced RestTemplate. If there are multiple RestTemplate you get the right one. It can used to access multiple microservices. Q.How To Achieve Server Side Load Balancing Using Spring Cloud? Ans: Server side load balancing can be achieved using Netflix Zuul. Zuul is a JVM based router and server side load balancing by Netflix. It provides a single entry to our system, which allows a browser, mobile app, or other user interface to consume services from multiple hosts without managing cross-origin resource sharing (CORS) and authentication for each one. We can integrate Zuul with other Netflix projects like Hystrix for fault tolerance and Eureka for service discovery, or use it to manage routing rules, filters, and load balancing across your system. Contact for more on Microservices Online trainingContinue reading
Selenium Interview Questions
Testing Tools Interview Questions
Q.What is Software Development Life Cycle? Answer: The systems (or software) development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application. It includes the following different stages: 1. Requirement phase 2. Design phase 3. Coding (programming) 4. Testing 5. Release (Production) 6. Maintenance (Support) Q.What is Business Requirement Document (BRD)? Ans: It is a document that describes the details of the application functionalities which is required by the user. This document is written by the Business Analysts. Q.What automating testing tools are you familiar with? Answer: Win Runner , Load runner, QTP , Silk Performer, Test director, Rational robot, QA run. Q.How did you use automating testing tools in your job? Answer: 1. For regression testing Criteria to decide the condition of a particular build Q.Describe some problem that you had with automating testing tool. Answer :The problem of winrunner identifying the third party controls like infragistics control. Q.How do you plan test automation? Answer : 1. Prepare the automation Test plan Identify the scenario Record the scenario Enhance the scripts by inserting check points and Conditional Loops Incorporated Error Handler Debug the script Fix the issue Rerun the script and report the result. Q.Can test automation improve test effectiveness? Answer: Yes, Automating a test makes the test process: 1.Fast 2.Reliable 3.Repeatable 4.Programmable 5.Reusable 6.Comprehensive Q.What is data - driven automation? Answer: Testing the functionality with more test cases becomes laborious as the functionality grows. For multiple sets of data (test cases), you can execute the test once in which you can figure out for which data it has failed and for which data, the test has passed. This feature is available in the WinRunner with the data driven test where the data can be taken from an excel sheet or notepad. Q.What are the main attributes of test automation? Answer: software test automation attributes : Maintainability - the effort needed to update the test automation suites for each new release Reliability - the accuracy and repeatability of the test automation Flexibility - the ease of working with all the different kinds of automation test ware Efficiency - the total cost related to the effort needed for the automation Portability - the ability of the automated test to run on different environments Robustness - the effectiveness of automation on an unstable or rapidly changing system Usability - the extent to which automation can be used by different types of users Q.Does automation replace manual testing? Answer: There can be some functionality which cannot be tested in an automated tool so we may have to do it manually. therefore manual testing can never be repleaced. (We can write the scripts for negative testing also but it is hectic task).When we talk about real environment we do negative testing manually. Q.How will you choose a tool for test automation? Answer: choosing of a tool depends on many things ... Application to be tested Test environment Scope and limitation of the tool. Feature of the tool. Cost of the tool. Whether the tool is compatible with your application which means tool should be able to interact with your application Ease of use Q.How you will evaluate the tool for test automation? Answer: We need to concentrate on the features of the tools and how this could be beneficial for our project. The additional new features and the enhancements of the features will also help. Q.What are main benefits of test automation? Answer: FAST ,RELIABLE,COMPREHENSIVE,REUSABLE Q.What could go wrong with test automation? Answer: 1. The choice of automation tool for certain technologies Wrong set of test automated Q.How you will describe testing activities? Answer: Testing activities start from the elaboration phase. The various testing activities are preparing the test plan, Preparing test cases, Execute the test case, Log teh bug, validate the bug & take appropriate action for the bug, Automate the test cases. Q.What testing activities you may want to automate? Answer: Automate all the high priority test cases which needs to be exceuted as a part of regression testing for each build cycle. Q.Describe common problems of test automation. Answer: The common problems are: Maintenance of the old script when there is a feature change or enhancement The change in technology of the application will affect the old scripts Q.What types of scripting techniques for test automation do you know? Answer: 5 types of scripting techniques: Linear Structured Shared Data Driven Key Driven Q.What are principles of good testing scripts for automation? Answer: 1. Proper code guiding standards Standard format for defining functions, exception handler etc Comments for functions Proper error handling mechanisms The appropriate synchronization techniques Q.What tools are available for support of testing during software development life cycle? Answer: Testing tools for regression and load/stress testing for regression testing like, QTP, load runner, rational robot, winrunner, silk, testcomplete, Astra are available in the market. -For defect tracking BugZilla, Test Runner are available. Q.Can the activities of test case design be automated? Answer: As I know it, test case design is about formulating the steps to be carried out to verify something about the application under test. And this cannot be automated. IHowever, I agree that the process of putting the test results into the excel sheet. Q.What are the limitations of automating software testing? Answer: Hard-to-create environments like ?out of memory?, ?invalid input/reply?, and ?corrupt registry entries? make applications behave poorly and existing automated tools can?t force these condition - they simply test your application in ?normal? environment. Q.What skills needed to be a good test automator? Answer: 1.Good Logic for programming. 2.Analatical sklls. 3.Pessimestic in Nature. Q.How to find that tools work well with your existing system? Answer: 1. Discuss with the support officials Download the trial version of the tool and evaluate Get suggestions from peopel who are working on the tool Q.Describe some problem that you had with automating testing tool. Answer: 1. The inabality of winrunner to identify the third party control like infragistics controls The change of the location of the table object will cause object not found error. The inability of the winrunner to execute the script against multiple languages Q.What are the main attributes of test automation? Answer: Maintainability, Reliability, Flexibility, Efficiency, Portability, Robustness, and Usability - these are the main attributes in test automation. Q.What testing activities you may want to automate in a project? Answer: Testing tools can be used for : * Sanity tests(which is repeated on every build), * stress/Load tests(U simulate a large no of users, which is manually impossible) & * Regression tests(which are done after every code change) Q.How to find that tools work well with your existing system? Answer: To find this, select the suite of tests which are most important for your application. First run them with automated tool. Next subject the same tests to careful manual testing. If the results are coinciding you can say your testing tool has been performing. Q.How will you test the field that generates auto numbers of AUT when we click the button 'NEW" in the application? Answer: We can create a text file in a certain location, and update the auto generated value each time we run the test and compare the currently generated value with the previous one will be one solution. Q.How will you evaluate the fields in the application under test using automation tool? Answer: We can use Verification points(rational Robot) to validate the fields .Ex.Using objectdata,objectdata properties VP we can validate fields. Q.Can we perform the test of single application at the same time using different tools on the same machine? Answer: No. The Testing Tools will be in the ambiguity to determine which browser is opened by which tool. Q.What is 'configuration management'? Answer: Configuration management is a process to control and document any changes made during the life of a project. Revision control, Change Control, and Release Control are important aspects of Configuration Management. Q.How to test the Web applications? Answer: The basic difference in web testing is here we have to test for URL's coverage and links coverage. Using WinRunner we can conduct web testing. But we have to make sure that Web test option is selected in "Add in Manager". Using WR we cannot test XML objects. Q.What are the problems encountered during the testing the application compatibility on different browsers and on different operating systems Answer: Font issues, alignment issues Q.How exactly the testing the application compatibility on different browsers and on different operating systems is done Answer: Please Send Your Suggestion Q.How testing is proceeded when SRS or any other document is not given? Answer: If SRS is not there we can perform Exploratory testing. In Exploratory testing the basic module is executed and depending on its results, the next plan is executed. Q.How do we test for severe memory leakages? Answer: By using Endurance Testing . Endurance Testing means checking for memory leaks or other problems that may occur with prolonged execution. Q.what is the difference between quality assurance and testing? Answer: Quality assurance involves the entire software development process and testing involves operation of a system or application to evaluate the results under certain conditions. QA is oriented to prevention and Testing is oriented to detection. Q.why does software have bugs? Answer: 1.miscommunication 2.programming errors 3.time pressures. 4.changing requirements 5.software complexity Q.What is memory leaks and buffer overflows ? Answer: Memory leaks means incomplete de-allocation - are bugs that happen very often. Buffer overflow means data sent as input to the server that overflows the boundaries of the input area, thus causing the server to misbehave. Buffer overflows can be used. Q.What are the major differences between stress testing,load testing,Volume testing? Answer: Stress testing means increasing the load ,and checking the performance at each level. Load testing means at a time giving more load by the expectation and checking the performance at that level. Volume testing means first we have to apply initial. Q.What is Negative Testing? Answer : Testing the system or application using negative data is called negative testing, for example, testing password entering 6 characters where it should be 8 characters should display a message. When we test an application by putting negative values (instead of actual values), then the system should not allow the other values rather than the actual value. The system should give an message that the value is not correct. This is called negative testing. Another example is, if a user tries to type a letter in a numeric field, the correct behavior in this case would be to display the “Incorrect data type, please enter a number” message. The purpose of negative testing is to detect such situations and prevent applications from crashing. Also, negative testing helps you improve the quality of your application and find its weak points. (source: Jerry Ruban) Testing Tools Interview Questions Testing Tools Interview Questions and Answers Q.What is the difference between Load Testing and Performance Testing? Answer : Basically Load, Stress and Performance Testing are the same. However, Load testing is the test to check the users’ response time of number of users of any one scenario of the application whereas Performance Testing is the test to check the user response time for multiple scenario of the same application. Q.What was the process of QA testing in your company where you worked for the last time? (or As far as the QA process is involved, what was the testing process in your company?) Answer : The QA testing process that was followed in my last company where I worked was like this: First of all the Business Requirement Document was prepared as per the client’s requirement (with the muck-up screen shots). Then on the basis of the requirement document, Test Strategy, Test Plans and Test Cases were written in sequential order. Once the Build is made and deployed to the different testing environments where different types of testing were performed to check whether there are any defects. Q.What is SQL? Answer : SQL stands for Structured Query Language. SQL is an ANSI (American National Standards Institute) standard computer language for accessing and manipulating database systems. SQL statements are used to retrieve and update data in a database. SQL works with database programs like MS Access, DB2, Informix, MS SQL Server, Oracle, Sybase, etc. Unfortunately, there are many different versions of the SQL language, but to be in compliance with the ANSI standard, they must support the same major keywords in a similar manner (such as SELECT, UPDATE, DELETE, INSERT, WHERE, and others). Note: Most of the SQL database programs also have their own proprietary extensions in addition to the SQL standard. Q.Where do you write SQL query? Answer : We write SQL queries using some these tools: Todd, Squirrel and Rapid SQL. Q.Do you really need to write SQL as a QA Engineer? Answer : Yes. You need to. No matter whether it is a small company or big, they have a database and you need to validate the data by writing SQL queries going into the database. The stronger you are in SQL, the better the chance of getting a job. Q.What are the basic commands in SQL+? Answer : They are: SQL>select *from tab; -to directory of database tables SQL>ed -to edit the queries in the notepad SQL>/ -to run or execute the query command SQL>create table ‘table name’ -to create a table SQL>desc ‘table name’ -to display table with column name with type SQL>alter table ‘table name’ -to add a columnadd ‘column name’ ‘type’ SQL>alter table ‘table name’ -to modify the name and type of a columnmodify ‘column name’ ‘type’ Q.What is the most common syntax you have used while writing SQL query? Answer: SELECT Q.What is a Primary Key? Answer : In a database table, the Primary Key is a column which has a unique value for each of the row within that column. It can’t have NULL value. Q.What is a Unique Key? Answer : In a database table, the Unique Key is a column which may or may not have null value of each of the row within that column. Q.What is Data? Answer : Data is number, character or image which has some information. Q.What is Database? Answer : It is collection of logically related data designed in a tabular form to meet the information needs of one or more users. Q.What is Change Control (OR Change Request)? Answer: It is a document that describes the additional functionalities that are added after the Business Requirement Document is signed off. It can be updated in the old business requirement document or it can be a separate document. (For example, in the Business Requirement Document, on the login page, there are User Name and Password fields. The owner of the software wants to add, “If you do not have User Name and Password, please click here.” This is a change. But this change came after the document is signed off by the Project Managers. Now this is a change control and comes as a separate document. (It is also called Change Request, Modification Request). Q.Have you written Change Control? Answer: Yes. There was a situation where in one page of an application in my previous project, when the user clicked “Contact” link, it would pop up a different window (new separate window). But it was NOT the way it was described in the requirement document. In the requirement document, when the user clicks “Contact” link, then it should navigate to another page (Not a separate new window. Then was it a problem? Functionality wise, it was NOT a problem, however, on all the other pages, when the user clicked “Contact” link, the system would navigate to next page (not a separate window). So, it was NOT CONSISTENT with the other functionalities on the other pages. Therefore, it was a consistency issue. I reported this as a bug. But the Project Manager asked me to write it as a Change Control (because it requires more budget to fix this issue) so that he can address this issue at a later time. So I wrote this as a Change Control. (However, it is NOT a job of a tester to write change control. It’s the business analyst’s job) Q.What is Backend Testing? Answer : It is a test to check whether the data displayed in the GUI front end report format matches with the particular data in the original database. Q.Have you done any Back End Testing and/or if you did, how did you do it in your last project? Answer : Yes I did. I was working on Reports. When I was working in my last project, this was my scenario: It was the case of testing one part of application used in the bank, where a customer comes to a bank’s front desk associate and ask for opening an account. The associate then asks for the personal information about the customer which, are the primary data, such as: First Name, Last Name, Date of Birth, Address and Social Security Number. The associate then put these primary data of that particular customer into the computer, which then afterwards batch-processed into the DATABASE in XML Format. Then the batch-processed data is sent to ETL (Extract-Transform-Load, which is software made by ‘AbInitio’ or ‘Informatica’) which processes the job to create a file to produce the report. The file is displayed to a GUI Front End report format with the help of Crystal Report/Business Object. In the GUI Front End report, let us say, if for January, the income of that person was displayed as $ 900.00, then my job was to validate this data by writing SQL queries whether this displayed data matches with the original input data in the database, being called as the Back End Testing. Q.How can you be sure that the query you wrote is correct? Or how do you know that the data you pulled from the database is correct? Answer: I write SQL query based on the requirement document. In the requirement document, various conditions are given for the query. Based on those conditions, I write SQL query. Therefore, anything different from the requirement document is definitely a defect. Q.What is XML? Answer : -XML stands for EXtensible Markup Language. -XML is a markup language much like HTML. -XML was designed to describe data. -XML tags are not predefined and we must define our own tags. -XML uses a Document Type Definition (DTD) or an XML Schema to describe data. -XML with a DTD or XML Schema is designed to be self-descriptive. -XML is a W3C Recommendation. Q.What is Quality Center? Answer: QC is mercury interactive process based test management system. Q.Why use Quality Center? Answer: QC is a part of the Test Suite set of tools that allows u to organize and manage your testing effort. -create a repository to store all the test results, metrics and collateral. -maintain security for the testing project. -Writing manual test cases and automated test scripts -Scheduling and executing the tests -Integrating with the feature testing tool (Win Runner & QTP) -Analyze the entire testing process with graphs and reports -generate custom project documents (MS Word, MS Project) -Provides a means for defect tracking and reporting -Is accessible world-wide Q.What are the phases of Quality Center process? Answer: -Setting up the QC project -Requirements Management -Create Test Cases -Run Tests and Analyze Results -Report and Track Defects Q.What are the features of Quality Center? Answer: -Entirely browser based -Project customization now a separate module -Test requirements management -Execution Flow tab -"Drill Down" in graphs -save graph, report and grid settings for reuse -Attach screen snapshots to any object that accepts attachments -Web Defect Manager functionality built into Defects tab Q.What is a Quality Center Project? Answer: QC project is a customizable repository for the testing effort. It contains tests, test sets, execution records, defect reports and other test documentation. Q.What data sources (databases) does QC use to store and manage data? Answer: QC project can be stored and managed using the following data sources. -Microsoft Access -Sybase -Microsoft Sql -Oracle Q.How does u create a project in QC? Answer: Use the Project Administration Utility to create a QC project Q.How does u control the access to a QC project? Answer: As a QC Admin, you can specify the users and the privileges each user will have. Privileges can also be set for groups. Q.What is a Table in QC project? Answer: A table in QC project stores records of information about your test plan. It is part of a database. Q.How many built-in tables does QC have? What are they? Answer: There are 6 tables accessible to the user via QC's Customize Project interface. They are as follows: -Test Table -Test Step Table -Run Table -Test Set Table -Defect Table -Requirement Table Q.What is a User-Defined field? How many can u create? Answer: A User-Defined field is a column in a QC table activated by the user to hold project specific information. You can create unto 99 user-defined fields in a QC project Q.What are the benefits of User-defined fields? Answer: -Store project-specific information that may be inappropriate for built-in fields -More ways to filter and sort project information -More ways to customize graphs and reports. Q.What are the currently supported user defined field types? -Number -Date -String -User List -Lookup List Q.Where are the user-defined fields added? Answer: The user-defined fields are added to the Test Plan tab under "Other Information" Q.How do u launch winRunner ? Answer: Test Script tab under Test Plan module lets u -see any WinRunner code that exists for a test -launch WinRunner with this script loaded. Q.How do you link requirements with a test? Answer: We link requirements to a particular test using Requirements coverage tab. Q.What is a Test Plan Tree? Answer: The Test Plan tree is a branching structure that allows you to organize Your entire test plan visually. Q.What are the benefits of a test plan tree? Answer: -Visually organize your tests -Use different criteria for groups of tests -object controls -business tasks -regression -Insert Placeholders where needed -Testing can start before all tests are created while keeping the plan orderly. Q.Why limit access to a Quality Center project? Answer: You can enhance project security by assigning access privileges to all users. Q.What are Test Requirements? Answer: Test Requirements refer to objectives or conditions that must be satisfied during testing Q.What are the categories of test requirements? Answer: -Business Requirements->High-Level objectives of the customer requesting the product -User requirements->Describe tasks the user must be able to accomplish with the product. ->Tasks captured in use cases or scenario descriptions. -functional requirements->documented in a software requirements specification (SRS) ->Define the application's software functionality to enable users to accomplish their tasks. Q.How do u check which tests are linked to a specific requirement? Answer: Coverage View is used to check which tests are linked to a specific requirement. Use this view to find untested requirements. Q.What does document view show? Answer: document view displays columns for all requirements. Q.How do you customize requirements traa? Answer: Open the "select columns" dialog to customize the requirements tree Q.What is an automated test? An automated test is a recorded script of user actions that is played back on an application to verify correct functionality. Q.Can u use QC for automation? Answer: Yes. QC integrates with WinRunner which is a testing tool that enables you to create and playback automated tests. Q.What are the 2 ways of adding automated tests? Answer: -save a WR test to a Quality Center project. -Convert a manual test to an automated one. Q.What is the importance of connecting a test case to test requirements? Answer: -to see if all the requirements are covered. -to map a test case associated with its requirements. Q.What are the types of graphs and reports in QC? Answer: Progress graphs are available for all tables. Summary graphs are available for all tables. Test lab has additional graphs -cross test set progress -cross test set summary Defects table also has Age graphs Reports -standard reports -Document generator -snapshots -full reports Q.What are Progress Graphs? Answer: Progress Graphs display specified information over a period of time. Each testing phase has a progress graph Requirements Phase -Data grouped by fields in the REQUIREMENT table. Planning Phase -Data from TEST table Execution Phase -Data from RUN table Defects Phase -Data from DEFECT table Q.What are Summary Graphs? Answer: Summary graphs show the accumulated value of specified data in the Quality Center project. Each testing phase has a summary graph User may select 2 fields for grouping- graph for each field, grouped by field Q.Why use a filter? Answer: Filters allow you to restrict the scope of data displayed in the graph, report or grid according to criteria that you specify. When a filter is applied, only those records that meet the filter Conditions are displayed. Filters are available for Graphs, Reports and Grids. Q.When would you generate project documents using the standard Reports? Answer: Feature and when would you use the Document Generator? We use standard Reports -to view quick reports, -to filter/sort and customize the fields, -and to save it to a Web page file (.htm) We use Document Generator -for high customization involving index, tables & attachments -to save and edit in MS Word format (.doc) -to choose between snapshot and Full report. Q.What icon indicates whether a test has steps? Answer: footprint next to the manual and automated icons indicates whether a test has steps. Q.What is a Test Set? Answer: Test Set is a group of tests selected from the database to achieve a Specific goal. Q.What is a Host Machine? Answer: host is a computer connected to a network, serving the project database, Which is able to execute automated tests. Q.What is a Scheduler? Answer: The Scheduler is a QC feature that allows timed execution of automated tests. You can specify the date and time when a test will be run. This is useful for running large no. of tests unattended, such as overnight. Q.How does u open a Scheduler? Answer: Goto-> Execution Flow tab. Right click a test to be scheduled and select "Test Run Schedule" from the pop-up menu. Q.Why use QC to track defects? Answer: Maintains a centralized database Standardize defect reporting Prevent duplicate defects Attach supporting information easily Analyze defect data using reports and graphs. Q.How to prevent logging of duplicate defects? Answer: Search the defect table for similar defects before entering a new one. Use the "Find Similar" option to compare new defect and all other defects by: Summary Description and R&D comments. Q.How does a Defect get fixed? Answer: Developers: Fix open defects Report the repair information Change status to 'Fixed' Once the defect is fixed, it gets closed. Q.What is a Defect Age Graph? Answer: It shows the length of time a reported defect has been present in the project. contact for more on Testing Tools Online TrainingContinue reading