The performance testing is a measure of the performance characteristics of an application. The main objective of a performance testing is to demonstrate that the system functions to specification with acceptable response times while processing the required transaction volumes in real-time production database. The objective of a performance test is to demonstrate that the system meets requirements for transaction throughput and response times simultaneously. The main deliverables from such a test, prior to execution, are automated test scripts and an infrastructure to be used to execute automated tests for extended periods.
Software testing is the process in which we uncover errors that were made unintentionally as it was designed and constructed. Software testing is done to improve software quality. A strategy for software testing is developed by project managers, software engineers and testing specialists.
Characteristics of testing
" To perform effective testing, a software team should conduct effective formal technical reviews. By doing so, many errors will be eliminated before testing commences.
" Testing begins at the component level and works "outward" toward the integration of the entire computer-based system.
" Different testing techniques are appropriate at different points in time.
" Testing is conducted by the developer of the software and (for large projects) an independent test group.
" Testing and debugging are different activities, but debugging must be accommodated in any testing strategy.
Types of Testing
Alpha test is conducted at the developer's site by the end user. The software used in a natural setting with the developer "looking over the shoulder" of a typical user and records errors and usage problems. Alpha tests are conducted in a controlled environment.
Beta test is conducted at the end user's site. Unlike alpha testing, the developer is generally not present. Therefore, the beta test is a "live" application of the software in an environment that cannot be controlled by the developer. The end user records all problems that are encountered during beta test and reports these to the developer at regular intervals. As a result of problems reported during beta test, software engineers make modifications and then prepare for release of the software product to the entire customer base.
White-Box Testing is sometimes called as glass-box testing. Logical paths through the software and collaborations between components are tested by providing test cases that exercise specific set of conditions and/or loops. Using White-Box Testing methods software engineers derive test cases that
" Guarantee that all independent paths within a module have been exercised at least once.
" Exercise all logical decision on their true and false sides.
" Execute all loops at their boundaries and within their operational bounds.
" Exercise internal data structure to ensure their validity.
Black-Box Testing is also called as behavioral testing. Black-Box Testing alludes to tests that are conducted at the software interface. It focuses on the functional requirements of the software. Black-Box Testing attempts to find errors in the following categories:
" Incorrect or missing functions.
" Interface errors.
" Errors in data structure or external data base access.
" Behavior / performance errors.
" Initialization and termination errors.