Different Types of Testing

Written on 3:10 AM by MURALI KRISHNA

Performance testing:
1. Performance testing is designed to test run time performance of software within the context of an integrated system. It is not until all systems elements are fully integrated and certified as free of defects the true performance of a system can be ascertained.
2. Performance tests are often coupled with stress testing and often require both hardware and software infrastructure. That is, it is necessary to measure resource utilization in an exacting fashion. External instrumentation can monitor intervals, log events. By instrument the system, the tester can uncover situations that lead to degradations and possible system failure.

Security testing:If your site requires firewalls, encryption, user authentication, financial transactions, or access to databases with sensitive data, you may need to test these and also test your site's overall protection against unauthorized internal or external access.

Exploratory Testing:Often taken to mean a creative, internal software test that is not based on formal test plans or test cases; testers may be learning the software as they test it.

Benefits Realization tests: With the increased focus on the value of Business returns obtained from investments in information technology, this type of test or analysis is becoming more critical. The benefits realization test is a test or analysis conducted after an application is moved into production in order to determine whether the application is likely to deliver the original projected benefits. The analysis is usually conducted by the business user or client group who requested the project and results are reported back to executive management.

Mutation Testing:Mutation testing is a method for determining if a set of test data or test cases is useful, by deliberately introducing various code changes ('bugs') and retesting with the original test data/cases to determine if the 'bugs' are detected. Proper implementation requires large computational resources.

Sanity testing:Typically an initial testing effort to determine if a new software version is performing well enough to accept it for a major testing effort. For example, if the new software is crashing systems every 5 minutes, bogging down systems to a crawl, or destroying databases, the software may not be in a 'sane' enough condition to warrant further testing in its current state.

Build Acceptance Tests: Build Acceptance Tests should take less than 2-3 hours to complete (15 minutes is typical). These test cases simply ensure that the application can be built and installed successfully. Other related test cases ensure that Testing received the proper Development Release Document plus other build related information (drop point, etc.). The objective is to determine if further testing is possible. If any Level 1 test case fails, the build is returned to developers un-tested.

Smoke Tests : Smoke Tests should be automated and take less than 2-3 hours (20 minutes is typical). These tests cases verify the major functionality a high level. The objective is to determine if further testing is possible. These test cases should emphasize breadth more than depth. All components should be touched, and every major feature should be tested briefly by the Smoke Test. If any Level 2 test case fails, the build is returned to developers un-tested.

Bug Regression Testing :Every bug that was “Open” during the previous build, but marked as “Fixed, Needs Re-Testing” for the current build under test, will need to be regressed, or re-tested. Once the smoke test is completed, all resolved bugs need to be regressed. It should take between 5 minutes to 1 hour to regress most bugs.

Database Testing: Database testing done manually in real time, it check the data flow between front end back end.Observing that operations, which are operated on front-end is effected on back-end or not.The approach is as follows:
While adding a record there' front-end check back-end that addition of record is effected or not. So same for delete, update, Some other database testing checking for mandatory fields, checking for constraints and rules applied on the table , some time check the procedure using SQL Query analyzer.


Functional Testing (or) Business functional testing
:All the functions in the applications should be tested against the requirements document to ensure that the product conforms with what was specified.(They meet functional requirements)
Verifies the crucial business functions are working in the application. Business functions are generally defined in the requirements Document. Each business function has certain rules, which can’t be broken. Whether they applied to the user interface behavior or data behind the applications. Both levels need to be verified. Business functions may span several windows (or) several menu options, So simply testing that all windows and menus can be used is not enough to verify the business functions. You must verify the business functions as discrete units of your testing.

Functional testing
Study SRS
Identify Unit Functions
For each unit function
Take each input function
Identify Equivalence class
Form Test cases
Form Test cases for boundary values
From Test cases for Error Guessing
Form Unit function v/s Test cases, Cross Reference Matrix

User Interface Testing (or) structural testing: It verifies whether all the objects of user interface design specifications are met. It examines the spelling of button test, window title test and label test. Checks for the consistency or duplication of accelerator key letters and examines the positions and alignments of window objects.


Volume Testing:
Testing the applications with voluminous amount of data and see whether the application produces the anticipated results. (Boundary value analysis).

Stress Testing: Testing the applications response when there is a scarcity for system resources.

Load Testing: It verifies the performance of the server under stress of many clients requesting data at the same time.

Installation testing: The tester should install the systems to determine whether installation process is viable or not based on the installation guide.

Configuration Testing: The system should be tested to determine it works correctly with appropriate software and hardware configurations.

Compatibility Testing: The system should be tested to determine whether it is compatible with other systems (applications) that it needs to interface with.

Documentation Testing: It is performed to verify the accuracy and completeness of user documentation.
This testing is done to verify whether the documented functionality matches the software functionality.
The documentation is easy to follow, comprehensive and well edited.
If the application under test has context sensitive help, it must be verified as part of documentation testing .

If you enjoyed this post Subscribe to our feed

No Comment

Post a Comment