You are on page 1of 3

Testing

Testing is the process of operating a system under specified input conditions and observing, recording
and comparing the results with what is expected

Limitations: Testing cannot determine whether software meets users needs, only whether it conforms to
the requirements. Testing finds faults it doesn't correct faults

Validation
Validation is the process of evaluating a system or component during or at the end of the development
process to determine whether it satisfies specified requirements.

Testing phases
The various testing phases are as follows
Unit testing
Integration testing
System testing
Acceptance testing
Unit Testing
Unit testing is a process of testing the individual units of a program. A unit is typically a function, a small
collection of functions, a function library, or a class. The main characteristic that distinguishes a unit
(besides the fact that it is usually implemented by a single person) is that it is small enough to test
thoroughly (often exhaustively
Integration Testing
Integration testing exercises several units that have been combined to form a module, subsystem, or
system. Integration testing focuses on the interfaces between units, to make sure the units work
together. The nature of this phase is certainly 'white box', as we must have a certain knowledge of the
units to recognize if we have been successful in fusing them together in the module.

System Testing
System testing is nothing but a process of testing the system under system level requirements.

Acceptance Testing
An acceptance test is an exercise of a completed system by a group of end users to determine whether
the system is ready for deployment. Here the system will receive more realistic testing that in the system
test phase, as the users have a better idea how the system will be used than the system testers.

Load Testing
Load is the amount of work assigned to or to be done by a person or a system. Given this definition, load
testing measures the amount of work a computer system can do.
Functional Testing
It's a testing technique where in the test case selection is based on the on the analysis of the
specification of the component without reference to its internal works.

Regression Testing
Regression testing is nothing but re-executing all test cases over again after any software change.

Stress Testing
Stress testing is a event which determines if the system will break down or otherwise malfunction when it
is being overloaded. The failure may come during a high volume scenario or due to high stress condition.

Difference b/w Load and Stress Testing


Stress testing is an attempt to push the system so hard that it breaks. Where as load testing loads the
system with legitimate user activity. The statistics, which result from load testing, are then used to predict
what performance and response time users will see.

Structural Testing
Structural testing is a testing technique where in the test case selection is based on the analysis of the
internal structure of the component under test.

Test Automation
Test automation is nothing but a process of automating your testing process. Automation of testing
process is possible by using automated testing tools.

Advantages of Test Automation


The advantages of test automation is as follows
Speed
High reliability
Repeatability
Reusability
Capture Replay tools
Capture replay tools are those which capture and replay all the user activities. These tools capture all
user interactions with application and database server. At the later stage when the script is replayed, the
test tool initiates the same actions that were originally performed by the user All activity is stored in the
form of a test script.

TestManagement tools
Test management involves four main types of activities: test planning, test development, test execution
and error tracking. Test management tools give you a systematic control over the testing process by
addressing all these activities
Code Coverage Analysis
Code coverage analysis is the process of:
Finding areas of a program not exercised by a set of test cases, Creating additional test cases to
increase coverage, and Determining a quantitative measure of code coverage, which is an indirect
measure of quality.

What is Statement coverage?


Statement/Line/Segment/Basic block coverage is a test case design technique in which test cases are
designed to execute every statement in the Unit under Test.

What is decision coverage?


Decision/Branch coverage is a test case design technique in which test cases are designed to execute
all the outcomes of every decision .This measure reports whether boolean expressions tested in control
structures (such as the if-statement and while-statement) evaluated to both true and false. The entire
boolean expression is considered one true-or-false predicate regardless of whether it contains logical-
and or logical-or operators. Additionally, this measure includes coverage of switch-statement cases,
exception handlers, and interrupt handlers

You might also like