Testing of complex software project itself is a complex project in software quality assurance.
It employs software test methodology, risk management and well-structured testing procedures.
Developing Test Plan
A thorough test plan is essential to the success of software testing. A test plan includes test cases, necessary software testing tools, hardware, special instructions for the test and contingent plan in the case of failures.
Developing Test Cases & Test Data Requirements
Test cases, the major document for software testing, match functional requirements of a software system in a great detail. Input data and
expected output data from the testing are part of test cases.
Setting up Test Environment
Test environment preparation is progressed parallel to the development of test cases. Support software, hardware, simulators, models, and etc. are
installed. Initialization of environment and software to be tested (such as setting flags, breakpoints, pointers, data, or control parameters) are
Performing Test and Recording Testing Data
Various types of testing are conducted to execute the test cases. Test data are recorded for later analysis. Unit test is used to confirm that the code
matches the specification. Component testing is used to confirm the defined functions perform as required by the business requirements. Integration
testing ensures that the new application will work successfully without adversely impacting on other operational systems. System testing confirms
that performance, stress and volume are at acceptable levels. Operational testing explores the manageability of the system. Usability or
user acceptance testing examines whether the system is user-friendly.
Analyzing Test Results
Test data may clearly indict the success or failure of software functionality. Analysis of system performance usually involves data manipulation and
Approving or Rejecting the Software System
Software testing, like software development, is an iterative process. Software testing project rarely ends up with approving or rejecting
the system in a few iterations. Testing results usually point the areas for bug-fixing and enhancements. A test project is complete when a software
system is eventually approved or rejected.
Development Processes and Technical Environments - Development, Test and Production
Software Configuration Management - Version Control, Build, Release Management and Process Control
Software Testing - Unit Testing, Integration Testing, Regression Testing, System Testing and User Testing
Component Based Application Development
Web Application Development Methodologies - SDLC, OO and RAD