Skip to main content

testing advanced interview questions

Gray Box Testing
Definition: Gray Box testing refers to the technique of testing a system with limited knowledge of the internals of the system. Gray Box testers have access to detailed design documents with information beyond requirement documents. Gray Box tests are generated based on information such as state-based models or architecture diagrams of the target system.

So typically we can say that the Gray box testing technique is a combination of both Black box and white box testing (Partially) technique.

Gray box testing is nothing but combination of both black box and
white box testing. For this tester should have knowledge of both
internal and external knowledge of logic.

what are the Essential Documents require to write manual test cases ?

-Requirement Documents
-Use Case Documents
-Any previously written test cases on eairlier
-User manuals if any
-Walkthrough notes etc.

what i CAR in testing?

CAR stands for Causal Analysis Resolution.Causal Analysis and Resolution tool is a defect tracking mechanism. It gives the view of various defects or problems found in projects.Not only defects are analysed also if there are no defects in a project then CAR analysis can be done to check what is that the project actual does where the project didnt even faced a single defect.
Once the defects are analysed then a Brainstorming session will be conducted to know the problem statement.Then inputs will be discussed and also preventive action items will be taken to ensure that the defects which occurred will not appear again.Generally pareto chart and fish bone analysis diagram is used for CAR.

Functionality testing?

Functionality testing is nothing but Requirements Testing. During this tesing Test engineer can validate the correctness of the functionality w.r.t customer requirements.

we can validate correctness of functionality interms of Caliculation coverage, Behaviour coverage, Error Handling coverage and Back-end coverage.

1.caliculation coverage is nothing but, can we can proper output or not ( for example
we have to additon operation 10+5 =12 it is not valid additon right instead of 12, 15 will be displayed)

2.Behaviour coverage: we can check the behaviour of application
3.Error Handling: Occurrences of Error Message(popup messages) to prevent negative navigation.
4.Back-End : Impact of front end operation on back-end tables interms of Data validation and Data integrity.

System Testing:
System Testing is nothing to test the overall functionality of application. it is a end-to-end testing for example login -logout . In this testing tester expected to testing the application from login to logout the application. The requirements of application will be covered in System testing. It is based SRS.

Sytstem testing consists of Usablity, Functional, Performance, Security testings.

Fuzz testing ?
fuzz testing is a technique that provides random data ("fuzz") to the inputs of a program. If the program fails (for example, by crashing, or by failing built-in code assertions), the defects can be noted.

What is difference between system testing and integration testing? Can the test cases
written for system testing can be used for integration testing?
Integration testing concentrates on testing the interfaces and communication between
different modules. Here the assumption is since the component (modules) testing has
already completed we don't concentrate on the functionality.

Coming to System testing, all the components(modules) should be ready with functionality
and integration testing, now we will test the functionality of the entire system as one
component. Generally system testing compares the system with the requirement documents
and is performed from end user prospective.

Fuzz testing or fuzzing is asoftware testing technique that provides random data ("fuzz") to the inputs of a program. If the program fails (for example, by crashing, or by failing built-in code assertions), the defects can be noted.

Fuzz testing or fuzzing is a software testing technique that provides random data ("fuzz") to the inputs of a program. If the program fails (for example, by crashing, or by failing built-in code assertions), the defects can be noted.


Fuzz testing is often used in large software development projects that perform black box testing. These usually have a budget to develop test tools, and fuzz testing is one of the techniques which offers a high benefit to cost ratio.

Fuzz testing is also used as a gross measurement of a large software system's quality. The advantage here is that the cost of generating the tests is relatively low. For example, third party testers have used fuzz testing to evaluate the relative merits of different operating systems and application programs.

Fuzz testing is thought to enhance software security and software safty because it often finds odd oversights and defects which human testers would fail to find, and even careful human test designers would fail to create tests for.

However, fuzz testing is not a substitute for exhaustive testing or formal methods: it can only provide a random sample of the system's behavior, and in many cases passing a fuzz test may only demonstrate that a piece of software handles exceptions without crashing, rather than behaving correctly. Thus, fuzz testing can only be regarded as a proxy for program correctness, rather than a direct measure, with fuzz test failures actually being more useful as a bug-finding tool than fuzz test passes as an assurance of quality.

what is Bespoke and off -the- self means?

A Software customized for a particular user group, or
organization is known as bespoke software.

It is typically in contrast with "off-the-shelf"
software that is run by thousand or even million of

characteristics of a good test case?
1. Accurate
2. Economical
3. Self standing
4. Appropriate
5. Traceable

Thursday, April 12, 2007

advance software testing terms and definations

what is testharness?

Test Harness is nothing but a tool or set of tools to perform the testing of a program unit in a fully automated scenario. All the testing parameters are set in the “test script repository” of “test harnessing” tool(s) (which is nothing but testing softwares). In brief test harness includes:

* Predefined set of parameters, functions and inputs
* A standard way to specify setup (i.e., creating an artificial runtime environment) and cleanup.
* A method for selecting individual tests to run, or all tests.
* A means of analyzing output for expected (or unexpected) results.
* A standardized form of failure reporting.

Test Harness engine runs in an automated manner to produce the different result scenarios based on the parameters, functions and inputs defined in the test script repository. this is a part of testing preferably large applications where manual testing will be very time consuming (or practically impossible).

2:Test bed:Testing environment creation i.e. all required software installation, etc.

3:Test Plan : is the document which describes whole test planning, strategy, entry exit criteria etc.
QA Plan: Is related to Process we will folow for testing (not sure)
QA: person who is involved in standards and process for testing.
QC: is quality control which is actal testing of software


Anonymous said…

I like this post:

You create good material for community.

Please keep posting.

Let me introduce other material that may be good for net community.

Source: Hotel porter interview questions

Best rgs

Popular posts from this blog

Internet is harmful for you: Google thinks so

Click the image to see it in full size:

Today, for a few minutes Google suddenly started warning all of its indexed sites as Harmful to your computer! Perhaps it was a glitch in their algorithm, but we managed to make a snap of it for the record.

test coverage matrix vs traceblity matrix

Test coverage matrix:

Test coverage matrix is a checklist which ensures that the functionality of the given screen(unit) is checked in all possible combinations (positive and negative) which have not been covered in test cases. Test coverage matrix is usually prepared for a screen having large number of controls (textboxes, dropdowns, buttons etc) usually, test coverage matrix is prepared in a spread sheet having all the controls (textboxes, dropdowns, buttons etc) in the columns and then all possible entries in those fields in the rows with an ''yes'' or ''no'' in the rows against the controls listed in the columns. For example, consider a ''login'' screen wherein we have ''username'' and ''password" textfields.

While preparing test coverage matrix, the first column will be '''' and the second will be ''username" and ''password" will be the third field followed by …

Cyclomatic complexity

Cyclomatic complexity is a software metric (measurement). It was developed by Thomas McCabe and is used to measure the complexity of a program. It directly measures the number of linearly independent paths through a program's source code. It is computed using a graph that describes the control flow of the program. The nodes of the graph correspond to the commands of a program. A directed edge connects two nodes if the second command might be executed immediately after the first command.


M = E − N + 2P


M = cyclomatic complexity
E = the number of edges of the graph
N = the number of nodes of the graph
P = the number of connected components.

"M" is alternatively defined to be one larger than the number of decision points (if/case-statements, while-statements, etc) in a module (function, procedure, chart node, etc.), or more generally a system.

Separate subroutines are treated as being independent, disconnected components of the program's control flow graph.