Applications testing
Software Applications testing
Software Applications testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software Testing also provides an objective, independent view of the software to allow the business to appreciate and understand the risks at implementation of the software. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs.
![]()
Scope
The overall purpose of testing is to ensure the application meets all of its technical, functional and business requirements. The purpose of this document is to describe the overall test plan and strategy for testing the application. The approach described in this document provides the framework for all testing related to this application. Individual test cases will be written for each version of the application that is released.
Test Objectives
The quality objectives of testing the application are to ensure complete validation of the business and software requirements:
- Verify software requirements are complete and accurate
- Perform detailed test planning
- Identify testing standards and procedures that will be used on the project
- Prepare and document test scenarios and test cases
- Regression testing to validate that unchanged functionality has not been affected by changes
- Manage defect tracking process
- (...)
Test methodology
Unit Testing
Unit testing is performed by the application developers testing in the development environment. This testing phase will have a “white box” perspective, which means the application developers know, and will be testing the internal logical structure of each software component. Typically, unit testing is performed without written test cases. The project team will share smoke test criteria. Any build failing smoke test will be returned to vendor with the expectation of expedited resolution.
Functional Testing
Functional testing, or “black box” testing, focuses on the functional requirements of the software. Functional testing is performed to confirm that the application operates accurately according to the documented specifications and requirements, and to ensure that interfaces to external systems are properly working.
Regression Testing
Regression testing shall be performed to verify that previously tested features and functions do not have any new defects introduced, while correcting other problems or adding and modifying other features.
Integration Testing
Integration testing is the phase of software testing in which individual software modules are combined and tested as a group. In its simplest form, two units that have already been tested are combined into a component and the interface between them is tested. In a realistic scenario, many units are combined into components, which are in turn aggregated into even larger parts of the program. The idea is to test combinations of pieces and eventually expand the process to test your modules with those of other groups. Eventually all the modules making up a process are tested together.
Interface Testing
This testing follows a transaction through all of the product processes that interact with it and tests the product in its entirety. Interface testing shall be performed to ensure that the product actually works in the way a typical user would interact with it.
Destructive Testing
Destructive testing focuses on the error detection and error prevention areas of the product. This testing is exercised in an attempt to anticipate conditions where a user may encounter errors. Destructive testing is less structured than other testing phases and is determined by individual testers.
User acceptance testing
User acceptance testing activities will be performed by the business users. The purpose of this testing will be to ensure the application meets the users’ expectations.

