Here is a list of Quality Assurance or QA Interview Questions and Answers
Question 1 What is Bug Triage ?
Answer The term triage is derived from the medical industry wherein patients are classified according to their severity of condition in order to optimise the utilisation of limited resources.
Similarly in the field of QA, Bug Triage means screening all the bugs and assigning severity, priority, frequency, risk etc to them.
In a Bug Triage Meeting, the project manager, QA team and development team meet up to evaluate the list of bugs and prioritise them according to various factors like versions affected, severity of the bugs, time required for resolution etc.
Question 2 What is functional testing ?
Answer Functional Testing is a type of black box testing that tests complete or certain component of functionality of the system. Since functional testing is concerned only with how the system’s functionality performs against the specifications, it doesn’t look into how it works behind the scene.
Functional Testing is of different types such as Sanity testing, Smoke Testing, Regression Testing etc.
Question 3 What are different steps performed in functional testing ?
Answer Here is a list of steps that you need to follow to perform functional testing :
Question 4 What is Testware ?
Answer Testware means all the material you require to conduct software testing. It includes test plans, test cases, automated testing scripts, documents etc to perform QA or testing.
Question 5 What is Regression Testing ?
Answer Regression testing is a type of software testing which ensures that when newly written code is added to a system, then it doesn’t break the existing functionality.
Regressions or software bugs which arise due to change in system such as patches, new code commits etc are discovered and reported in regression testing. It is simply performed by executing previous test suites that cover the the potentially impacted change area.
Question 6 What is Load Testing ?
Answer Load testing is a type of non functional performance testing which determines how the system behaves when subjected to high load of real world usage like multiple users accessing the application concurrently.
Question 7 What is Exploratory Testing ?
Answer Exploratory testing is when a QA engineer tries to test the product like an end user without any test plan or test cases in mind. His aim is to try and use the product like an end user while discovering bugs on the way. It lays emphasis on investigation and discovery of defects on the fly without depedning upon pre defined test cases.
Question 8 What is Smoke Testing ?
Answer The term Smoke Testing is derived from the hardware testing field, where a device used to pass the smoke test if it didnt catch fire when turned on for the first time. Smoke Testing is a type of testing which ensures that build's basic functionalites are working fine. This is done to ensure if the build provided by the engineering team is stable enough to even worth spending time on for deep testing. If a build passes the smoke test, only then it is subjected to other forms of testing. If it fails the smoke test, then required fixes are requested from dev team. Smoke testing can be done either manually or through automated test suite and scripts.
Question 9 What Are Some Common Bug Tracking Software ?
Answer Jira , Redmine, Enpointer, FogBuz, Trac are some of common bug tracking software.
Question 10 What is Unit Testing ?
Answer Unit testing is independently testing smallest testable component or 'unit' of the software system. Units are usually functions, methods, programs which have single input and single output. Unit testing is either performed by software developers themeselves or by individual qa teams and it is performed before integration testing.
Question 11 What are different types of QA or Software Testing ?
Answer Vaarious types of testing are:
Functional Testing, Performance Testing, Smoke Testing, Regression Testing, System Testing, Stress and Load Testing, Integration Testing, Shakeout Testing, Whitebox and Blackbox Testing, System Testing etc.
Question 12 What is acceptance testing ?
Answer Acceptance Testing is done to see if the software clears a threshold acceptance quality bar against the specs and business requirements and is ready to be delivered to the target customer section.
Question 13 How monkey testing is different from ad-hoc testing ?
Answer In monkey testing the tester doesn't have any information about the product's specs and functionality and he learns it as he tests and plays around with the product, while in ad-hoc testing, the tester does have some prior context and understanding of the product.
Question 14 What is the difference between smoke testing sanity testing ?
Answer Both smoke testing and sanity testing are done to test the build quality. But smoke testing is used to test relatively unstable initial level builds while sanity testing is done for relatively stable builds which have gone through multiple levels of regression tests before.
Question 15 What is positive and negative testing ?
Answer Positive testing basically means to test the software as intended and if there is an error, the test fails. While in negative testing, the software is tested for unexpected user behaviour and invalid input. The main purpose of negative testing is to find exceptions to prevent crashes when the user uses it in an expected fashion.
Question 16 What is the difference between testing and debugging ?
Answer Testing is done by QA teams to find and report bugs while debugging is done by software developers to fix the reported bugs.
Question 17 What are some of the automated testing tools ?
Answer Some common automated testing tools are :
Question 18 What is White Box Testing ?
Answer White box testing deals with testing the internals or code of the system. So to design a test case in a white box model of testing, you need to have understanding of the code of product as well as some porgramming skills. White box testing is also called Clear Box, Structural Testing or Glass Box testing.
Question 19 What is Black Box Testing ?
Answer Black Testing means performing the process of testing without really looking at the underlying structure of the system. So the qa engineer doesn't really need to know the underlying code of the software to test it.
Question 20 What is the difference between alpha testing, beta testing and gamma testing ?
Answer Alpha testing is mostly done by inhouse developers or qa teams. Beta testing is when very small set of users test the software. Gamma testing is done by the end users when the software is ready with all the specifications.
Question 21 What is Usability Testing ?
Answer Usability testing deals with making sure that the end user is able to use the product easily without the help of any prior knowledge or manual. Main focus of usability testing is to make sure that the product being tested is user-friendly or not.
Question 22 What is Soak Testing ?
Answer Soak testing involves testing the stability and performance of the system for an extended period of time. Maintaining high level of concurrent users for a prolonged duration is one example of soak testing.
Question 23 What is Fuzz Testing ?
Answer Fuzz Testing is done to protect the software, os or network from secruity loopholes like DDOS, sql injection, buffer overflow etc. Fuzz testing or fuzzing is performned by putting in massive chunks of random data into the system with an intention to crash it.
Question 24 What is bug leakage ?
Answer If some bug missed by qa team in a build and and the bug is found out by a user in the production code, it is said to be a bug leakage.
Question 25 What is a Hotfix ?
Answer Hotfix, also known as quick-fix engineering update, is fixing a critical bug of very high priority in a very short span of time. Usually hotfixes are done on production code directly to cut short the time of resolution.
Question 26 What is defect clustering ?
Answer When a certain modules or some specific areas of functionality in the product start showing higher concetration of bugs or defects, relative to other modules of software, it is called defect clustering.
Question 27 What is penetration testing ?
Answer Penetration testing , also known as the pen test, is an authorised simulated cyberattack on an application, operating system or network to find the security vulnerabilities.
Question 28 What is the difference between static and dynamic testing ?
Answer Static testing involves reviewing and inspecting the documents, code inspections, walkthroughs, and desk checks- basically all the methods of finding defects other than the actual execution of code. Developers can do static testing by reviewing the code and fixing bugs without actually running the application. Dynamic testing on the other hand involves actual execution of code or application. In dynamic testing qa team enters the input value and checks the output produced with expected result.
Question 29 What is Spike Testing ?
Answer Spike testing is a type of load testing wherein large bursts of concurrent users are subjected on the system for a short period of time ( called load spikes ) to see how the system behaves during those spikes and to test if there are some potential defects which can break the system.
Question 30 What is Localization Testing ?
Answer Testing the content of the application to make sure that is relevant for a prticular geographical set of users is called localization testing. It involves translating the content or copy of product, documentation , landing page etc to that localised language and cultural context.
Question 31 What is a Test Harness ?
Answer Test Harness is a combination of a 'test execution engine' , 'test script repository' and associated output data , which is used to automate the test case execution and analysis of the software product. So you can call test harness an automated test framework which allows you to automate tests, execute test cases and analyse the system behaviour to generate test reports.
Question 32 What is Recovery Testing ?
Answer Recovery testing is a form of non functional testing wherein the system is forcefully crashed to see how quickly and efficiently it can recover from it without loss of state or runtime data.
Question 33 What is Failover Testing ?
Answer Failover testing's aim is to test system's resilence at the time of server failure. It tests the degree at which system is able to self heal by allocating extra resources or to seamlessly shift the operations to new infrastructure.
Question 34 What is Internationalization Testing ?
Answer Internationalization testing means testing the product to validate if it can be adopted by people all across the regions of world without making any changes to ui, content, workflows etc. You can say it is the opposite of localization.
Question 35 What is Scalability Testing ?
Answer Scalability testing is performed to test system's capacity to scale up and scale out. Systems have tendency to show outlier unexpected behaviours when they are scaled beyond a certain threshold limit, which makes testing their scalability important to find those limits. System's attributes like CPU performance, network bandwidth usage and database reads and writes , tend to get affected when the load approaches outer limits of scale. As the load is increased incrementally in a linear fashion , then the outcome can be either proportionate to the load applied or it can be disproportionate to it based on system's design.
Question 36 What is Test Coverage ?
Answer Test coverage is a black box metric to find out how much functionality of the software product is being covered by test cases. This is defined to get a snapshot of how many more test cases are requred to be created by QA team against the requirement specifications and for what areas.
Question 37 What is Code Coverage ?
Answer Code coverage is white box testing method which basically means how much code is excercised when a particular test is executed. Code coverage is usually done by developers who write the unit tests which cover most of the code paths. For example if there is a certain code block which runs in a special condition, then to include that piece of code under code coverage, a unit test needs to be written to create that special case and execute the code. There are tools which analyse the unit tests and give out a metric of code coverage.