Showing posts with label Manual Testing. Show all posts
Showing posts with label Manual Testing. Show all posts

Sunday, October 3, 2010

What is middleware?

Middleware is a software that allows software components to talk to each other.For ex. WebSphere MQSeries is a middleware software available in the market.


Middleware  can also be defined as Software that mediates between an application program and a network. It manages the interaction between disparate applications across the heterogeneous computing platforms. The Object Request Broker (ORB), software that manages communication between objects, is an example of a middleware program.

Wednesday, September 29, 2010

What is Quality Control?

Quality control measures a product against existence of a required attribute
•  Checks whether the product conforms to defined standards and procedures
•  Quality control is a detection activity
•  Testing is an example of QC

What is Quality Assurance?

•  Set of activities which establish processes and sets up measurement programs to evaluate the processes.
•  Processes "assure" the same level of quality in all the products produced by that process
•  It is oriented towards 'prevention'.
•  Training is an example of QA

What is unit testing

Testing of individual units or groups of related code is known as Unit Testing.Unit tested with a Unit Test Plan (UTP)

           Unit testing is testing of smallest testable part of the software. It can be an individual program or a group of programs, forming a unit. The definition of  ‘unit’ can be left to the project team. In some cases one single program can be considered as a unit or in some other cases, a set of related programs can be considered as a
unit. This discretion can be left to individual project teams. In some cases it is also referred as component
testing.

             It is very important that unit testing needs to be carried out with a help of a unit test plan. Note that this unit test plan should have been prepared during the detail design stage and not after coding! The reason behind it is that if you prepare a unit test plan based on your code, any defect in the code will creep into the unit test plan too defeating the very purpose of unit testing

Three Tier Architecture

In three-tier client/server, the processing is divided between two or more servers, one typically used for
application processing and another for database processing.This is common in large enterprises.
It decomposes an application into three sets of services: UI, business, and data. In this architecture UI resides in
Client, business logic resides in business logic server and data in database server.

A three-tier architecture introduces a server (or an "agent") between the client and the server. The role of the
agent is manifold.It can provide translation services (as in adapting a legacy application on a mainframe to a
client/server environment), metering services (as in acting as a transaction monitor to limit the number of
simultaneous requests to a given server), or intelligent agent services (as in mapping a request to a number of
different servers, collating the results, and returning a single response to the client).

What is two tier architecture ?

A two-tier architecture is where a client talks directly to a server, with no intervening server. It is typically used in
small environments.

For example you may have a database talking to a thick client machine

When automation is prefferred ?

Complex and time-consuming tests
  • Tests requiring a great deal of precision
  • Tests involving many simple,repetitive tests
  • Tests involving many data combination

What is alpha and Beta testing?

  • Forms of Acceptance testing .
  • Testing in the production environment
  • Alpha testing is performed by end users within a company but outside development group
  • Beta testing is performed by a sub-set of actual customers outside the company

What is installation testing ?

Basic installation
Installation of various configurations
Installation on various platforms
Regression testing of basic functionality

What is Sanity Testing?

Sanity Testing Is a type functional system testing with
  • Very basic minimal number of tests to verify the product for the feature / protocol compliance
  • Typically an initial testing effort to determine if a new software version is performing well enough to accept it for a major testing effort

What are the types Of Integration Testing?

Big-bang Integration (non-incremental)
  • All components are combined in advance.
  • Correction is difficult because isolation of causes is complicated
  • Incremental Integration
  • Incremental integration can be defined as continuous testing of an
  • application by constructing and testing small components.
Top-Down Strategy
It is an incremental approach which can be done Depth-first or Breadth First
Stubs are used until the actual program is ready
Bottom-up Strategy
Process starts with low level modules where critical modules are built first
Cluster approach and test drivers are used
Often works well in less structured applications

What are drivers?

Drivers are simple programs designed specifically for testing the calls to lower layers.Test drivers permit generation of data in external form to be entered automatically into the system.

What is a stub?

Stubs are pieces of code which have the same interface as the low level functionality.
They do not perform any real computation or data manipulation

Tuesday, September 28, 2010

Integration Testing Explained

Once the Unit Testing is complete, the modules are integrated together and testing done to check if the integration is seamless is called Integration Testing. This may again be done by the developers themselves or independently amongst them. Integration between modules / systems can happen in different ways:

1. Program-to-program integration (Intra-module interface)
2. Module (set of programs)-to-module integration (Inter-module interface)
3. System-to-system integration (External interface)

What Is Integration Testing ?

Integration Testing
• Combining and testing multiple components together
• Integration of modules, programs and functions
• Tests Internal Program interfaces
• Tests External interfaces for modules

What consitutes system testing?

Interface Testing – Focusing on the client application
Server Testing – To test the attribute of the server
Middleware Testing – To assure that middleware is capable to interact all the machines connected in the network
Network Testing – to check if the network is capable of load of the application

These are the types of system testing.

Monday, September 27, 2010

What is a test oracle ?

An oracle is a mechanism used by software testers and software engineers for determining whether a test has passed or failed.[1] It is used by comparing the output(s) of the system under test, for a given test case input, to the outputs that the oracle determines that product should have. Oracles are always separate from the system under test.

Common oracles include:

* specifications and documentation
* other products (for instance, an oracle for a software program might be a second program that uses a different algorithm to evaluate the same mathematical expression as the product under test)
* an heuristic oracle that provides approximate results or exact results for a set of a few test inputs,
* a statistical oracle that uses statistical characteristics,
* a consistency oracle that compares the results of one test execution to another for similarity,
* a model-based oracle that uses the same model to generate and verify system behavior
* or a human being's judgment (i.e. does the program "seem" to the user to do the correct thing?).

What is equivalence partitioning ?

Systematic process of identifying a set of input conditions to be tested.The two distinct steps involved:
  • Identify equivalence classes
  • Identify test cases
Equivalence Partitioning technique is used to reduce the no. of test cases to an optimum no. and to select the right kind of test cases to encompass the maximum coverage.Though in very rare cases this technique is also applied to outputs of a component,typically it is applied to the inputs of a tested component.

V-Model For Testing

What is Black Box Testing ?

Black box testing is derived from functional design specifications, without regard to the internal program structure. This test is done without any internal knowledge of system / product being tested. Functional tests examine the observable behavior of software as evidenced by its outputs, without any reference to internal functions. This is the essence of  ‘black box’ testing.

• Black box tests better attack the quality target. It is an advantage to create the quality criteria from this point of view from the beginning.

• In black box testing, software is exercised over a full range of inputs and the outputs are observed for correctness. How those outputs are achieved, or what is inside the box are immaterial.

• Black Box testing technique can be applied once unit and integration testing is completed i.e. each line code has been covered through white-box testing