QA Analyst Interview Questions
Q. 101: What is the difference a Software Tester & Testing Analyst?
Testing analysts are more commonly involved with tasks at a higher level of abstraction,
such as test process design, test planning, and test case design.
Whereas Software Testers may be involved with test case design and test procedure
construction, and interaction with the actual software systems.
<<<<<< =================== >>>>>>
Q. 102: What are Software Testing Specialities?
Testing specialties include test automation, load testing, usability testing, testing
methodology, software inspections, industry or application expertise, test metrics, test
management, white box testing & security testing etc.
<<<<<< =================== >>>>>>
Q. 103: What can be the various Job Levels in the Software Testing Domain in a
Company?
Various job levels within the testing domain can include the tester, test analyst, test
manager or test specialist, test consultant or Test executive.
<<<<<< =================== >>>>>>
Q. 104: What is a Test Suite?
Set of collection of test cases is called a test suite.
It contains more detailed instructions or goals for each collection of test cases. It contains a
section where the tester identifies the system configuration used during testing. It may also
contain prerequisite states or steps, and descriptions of the tests as well.
<<<<<< =================== >>>>>>
Q. 105: What is a scenario test?
This is a test based on a hypothetical story used to help a person think through a complex
problem or system.
Generally scenario test have following five key characteristics.
1) A story
2) Which is motivating
3) Which is credible
4) Which is complex
5) Which is easy to evaluate.
Scenario tests are different from test cases in a way that test cases cover single steps
whereas scenarios cover a number of steps. Test suites and scenarios can be used together
for a complete system test.
<<<<<< =================== >>>>>>
Q. 106: What is Defect Tracking?
In engineering practice, defect tracking is the process of finding defects in a product by the
process of inspection, testing, or recording feedback from customers, and tracking them till
their closure.
In software engineering, defect tracking is of significant importance, since complex software
systems have thousands of defects due to which their management, evaluation and
prioritizing is a difficult task. Hence defect tracking systems in software engineering are
computer database systems which store defects and help people to manage them.
<<<<<< =================== >>>>>>
Q. 107: What is Formal Verification in context with Software & Hardware systems?
Formal verification is the process of proving or disproving the correctness of a system with
respect to a certain formal specification or property, with the help of formal methods.
Generally the formal verification is carried out algorithmically.
Approaches to implement formal verification are :
1) State space enumeration
2) Symbolic state space enumeration
3) Abstract interpretation
4) Abstraction refinement
5) Process-algebraic methods
6) Reasoning with the help of automatic theorem provers like HOL or Isabelle.
<<<<<< =================== >>>>>>
Q. 108: What is the concept of Fuzz Testing?
Fuzz testing is a software testing technique involving attachment of the inputs of a program
to a source of random data. Main advantage of fuzz testing is that the test design is
extremely simple, and remains free of preconceptions about system behavior.
Fuzz testing is generally used in large software development projects which use black box
testing. Fuzz testing provides a high benefit to cost ratio.
Fuzz testing technique is also used for the measurement of quality of large software
systems. The advantage is that the cost of generating tests is relatively low.
Fuzz testing is helps to enhance the software security and software safety because it often
finds odd oversights and defects which normal human testers would fail to find, and even
the most careful human test designers would fail to create tests for.
Fuzz testing is not a substitute for exhaustive testing or formal methods; it can only provide
a random sample of the system’s behavior. Passing a fuzz test may only indicate that a
particular software is capable to handles exceptions without crashing and it may not indicate
its correct behavior.
<<<<<< =================== >>>>>>
Q. 109: What are the different forms of fuzz testing?
1) Valid fuzz Testing to assure that the random input is reasonable, or conforms to actual
production data.
2) Simple fuzz Testing usually uses a pseudo random number generator to provide an input.
3) A combined approach uses valid test data with some proportion of totally random input
injected.
By using all the above techniques in combination, fuzz-generated randomness can test the
un-designed behavior surrounding a wider range of designed system states.
<<<<<< =================== >>>>>>
Q. 110: What is a Web Application & How does it look like?
A web application is an internet based application, consisting of a set many scripts, which
are normally stored on some Web server and are made to interact with some databases or
any other similar sources of the dynamic content.
Web applications provide an interactive Form to the user, wherein feeds inputs according to
the fields provided in the form; then he clicks on a button like “Submit” or “OK” to store his
inputs on the database & perform a set of calculations & present back the desired
information.
Web Applications are becoming popular since these are a via media for exchange of
information between various service providers and respective customers across the internet.
These web applications are by & large not dependent on any platform. Popular examples of
Web applications are Google / Yahoo or similar search engines, Internet Banking websites of
several Banks, E-mail facility providing sites like Gmail, Yahoo Mail, Rediff Mail etc., Sale &
Purchase sites like E-Bay etc.