What is black box testing?
A:
Black box testing is functional testing, not based on any knowledge of
internal software design or code. Black box testing is based on
requirements and functionality.
Q: What is white box testing?
A:
White box testing is based on knowledge of the internal logic of an
application's code. Tests are based on coverage of code statements,
branches, paths and conditions.
Q: What is unit testing?
A:
Unit testing is the first level of dynamic testing and is first the
responsibility of developers and then that of the test engineers. Unit
testing is performed after the expected test results are met or
differences are explainable/acceptable.
Q: What is incremental integration testing?
A:
Incremental integration testing is continuous testing of an application
as new functionality is recommended. This may require that various
aspects of an application's functionality are independent enough to
work separately, before all parts of the program are completed, or that
test drivers are developed as needed. This type of testing may be
performed by programmers, software engineers, or test engineers.
Q: What is parallel/audit testing?
A:
Parallel/audit testing is testing where the user reconciles the output
of the new system to the output of the current system to verify the new
system performs the operations correctly.
Q: What is functional testing?
A:
Functional testing is black-box type of testing geared to functional
requirements of an application. Test engineers should perform
functional testing.
Q: What is usability testing?
A:
Usability testing is testing for 'user-friendliness'. Clearly this is
subjective and depends on the targeted end-user or customer. User
interviews, surveys, video recording of user sessions and other
techniques can be used. Test engineers are needed, because programmers
and developers are usually not appropriate as usability testers.
Q: What is integration testing?
A:
Upon completion of unit testing, integration testing begins.
Integration testing is black box testing. The purpose of integration
testing is to ensure distinct components of the application still work
in accordance to customer requirements. Test cases are developed with
the express purpose of exercising the interfaces between the
components. This activity is carried out by the test team. Integration
testing is considered complete, when actual results and expected
results are either in line or differences are explainable/acceptable
based on client input.
Q: What is system testing?
A:
System testing is black box testing, performed by the Test Team, and at
the start of the system testing the complete system is configured in a
controlled environment. The purpose of system testing is to validate an
application's accuracy and completeness in performing the functions as
designed. System testing simulates real life scenarios that occur in a
"simulated real life" test environment and test all functions of the
system that are required in real life. System testing is deemed
complete when actual results and expected results are either in line or
differences are explainable or acceptable, based on client input.
Upon
completion of integration testing, system testing is started. Before
system testing, all unit and integration test results are reviewed by
SWQA to ensure all problems have been resolved. For a higher level of
testing it is important to understand unresolved problems that
originate at unit and integration test levels.
Q: What is regression testing?
A:
The objective of regression testing is to ensure the software remains
intact. A baseline set of data and scripts is maintained and executed
to verify that changes introduced during the release have not "undone"
any previous code. Expected results from the baseline are compared to
results of the software under test. All discrepancies are highlighted
and accounted for, before testing proceeds to the next level.
Q: What is end-to-end testing?
A:
End-to-end testing is similar to system testing, the *macro* end of the
test scale; it is the testing a complete application in a situation
that mimics real life use, such as interacting with a database, using
network communication, or interacting with other hardware, application,
or system.
Q: What is sanity testing?
A:
Sanity testing is a cursory testing; it is performed whenever a cursory
testing is sufficient to prove the application is functioning according
to specifications. This level of testing is a subset of regression
testing. It normally includes a set of core tests of basic GUI
functionality to demonstrate connectivity to the database, application
servers, printers, etc.
Q: What is performance testing?
A:
Performance testing verifies loads, volumes and response times, as
defined by requirements. Although performance testing is a part of
system testing, it can be regarded as a distinct level of testing.
Q: What is load testing?
A:
Load testing is testing an application under heavy loads, such as the
testing of a web site under a range of loads to determine at what point
the system response time will degrade or fail.