Thursday, April 19, 2007

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
builds.
-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.

USES:

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
users.

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

1 comment:

Anonymous said...

Hi

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
Peter