0% found this document useful (0 votes)
29 views4 pages

Testing

Software testing is any activity that evaluates the capabilities of a program to determine if it meets its requirements. There are many types of testing including unit, integration, functional, system, and acceptance testing. Software testing is complex due to the intricacies of software and is a tradeoff between budget, time, and quality. Various tools exist to assist with testing programs and evaluating attributes like correctness, robustness, and reliability.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views4 pages

Testing

Software testing is any activity that evaluates the capabilities of a program to determine if it meets its requirements. There are many types of testing including unit, integration, functional, system, and acceptance testing. Software testing is complex due to the intricacies of software and is a tradeoff between budget, time, and quality. Various tools exist to assist with testing programs and evaluating attributes like correctness, robustness, and reliability.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

SOFTWARE TESTING

Software testing is any activity aimed at evaluating an attribute or


capability of a program or system and determining that it meets
its required results. Although crucial to software quality and
widely deployed by programmers and testers, software testing
still remains an art, due to limited understanding of the principles
of software. The difficulty in software testing stems from the
complexity of software: we cannot completely test a program with
moderate complexity. Testing is more than just debugging. The
purpose of testing can be quality assurance, verification and
validation, or reliability estimation. Testing can be used as a
generic metric as well. Correctness testing and reliability testing
are two major areas of testing. Software testing is a trade-of
between budget, time and quality.

Types of testing
There are many types of testing like

Unit Testing
Integration Testing
Functional Testing
System Testing
Stress Testing
Performance Testing
Usability Testing
Acceptance Testing
Regression Testing
Beta Testing
Unit Testing
Unit testing is the testing of an individual unit or group of related
units. It falls under the class of white box testing. It is often done
by the programmer to test that the unit he/she has implemented
is producing expected output against given input.

Integration Testing
Integration testing is testing in which a group of components are
combined to produce output. Also, the interaction between
software and hardware is tested in integration testing if software
and hardware components have any relation. It may fall under
both white box testing and black box testing.
Functional Testing
Functional testing is the testing to ensure that the specified
functionality required in the system requirements works. It falls
under the class of black box testing.
System Testing
System testing is the testing to ensure that by putting the
software in diferent environments (e.g., Operating Systems) it
still works. System testing is done with full system
implementation and environment. It falls under the class of black
box testing.
Stress Testing
Stress testing is the testing to evaluate how system behaves
under unfavorable conditions. Testing is conducted at beyond
limits of the specifications. It falls under the class of black box
testing.
Performance Testing
Performance testing is the testing to assess the speed and
efectiveness of the system and to make sure it is generating
results within a specified time as in performance requirements. It
falls under the class of black box testing.
Usability Testing
Usability testing is performed to the perspective of the client, to
evaluate how the GUI is user-friendly? How easily can the client
learn? After learning how to use, how proficiently can the client

perform? How pleasing is it to use its design? This falls under the
class of black box testing.
Acceptance Testing
Acceptance testing is often done by the customer to ensure that
the delivered product meets the requirements and works as the
customer expected. It falls under the class of black box testing.
Regression Testing
Regression testing is the testing after modification of a system,
component, or a group of related units to ensure that the
modification is working correctly and is not damaging or imposing
other modules to produce unexpected results. It falls under the
class of black box testing.
Beta Testing
Beta testing is the testing which is done by end users, a team
outside development, or publicly releasing full pre-version of the
product which is known as beta version. The aim of beta testing is
to cover unexpected errors. It falls under the class of black box
testing.

Available tools
There are an abundance of software testing tools exist. The
correctness testing tools are often specialized to certain systems

and have limited ability and generality. Robustness and stress


testing tools are more likely to be made generic.
Mothora:
is an automated mutation testing tool-set developed at Purdue
University. Using Mothora, the tester can create and execute test
cases, measure test case adequacy, determine input-output
correctness, locate and remove faults or bugs, and control and
document the test.
NuMega's Boundschecker Rational's Purify:
They are run-time checking and debugging aids. They can both
check and protect against memory leaks and pointer problems.
Ballista COTS Software Robustness Testing Harness:
The Ballista testing harness is an full-scale automated robustness
testing tool. The first version supports testing up to 233 POSIX
function calls in UNIX operating systems. The second version also
supports testing of user functions provided that the data types
are recognized by the testing server. The Ballista testing harness
gives quantitative measures of robustness comparisons across
operating systems. The goal is to automatically test and harden
Commercial Of-The-Shelf (COTS) software against robustness
failures.

References
www.ece.cmu.edu/~koopman/des_s99/sw_testing

http://www.codeproject.com/Tips/351122/What-is-software-testing-What-arethe-diferent-ty

You might also like