Various levels of testing have been defined and followed by CIPL:
- Unit Testing
- Functional Testing
- Integrated Testing
- System Testing
- Acceptance Testing
Test Planning is done at the onset of the project in the project-planning phase. The Test plan outlines the types of test to be performed, resources, tools, and responsibilities for test related activities.
For unit testing, the developers are made responsible for the quality of the module they are developing. At different levels and for different kind of projects, we use unit-testing tools like NUnit for .NET framework and JUnit for Java based applications.
For functional testing, test cases are generated and filled with data and supplied to the QA team.
During the integrated testing the entire application is deployed on the testing infrastructure and then various aspects of the application such as the platform support, browser support etc. are considered. Here some automated tools and stress testing tools are also used.
The final User Acceptance Testing (UAT) is also a very important procedure, which is done in phases by the client, before accepting the complete delivery of the application. Processes for projects are continuously verified and monitored by the SQA and senior team members of the project to ensure that the defined processes are followed to streamline the development and enhance the effectiveness.
Prior to commencement of the project, we follow an approach wherein all known risks specific to the project are identified and documented. The Risk Management Section of the Project Plan is generated, where all possible foreseen risks and their contingencies are documented and addressed.
Each risk is given a Risk ID, and has a risk category, occurrence probability, consequences, and mitigation strategy. Risks are assessed throughout the execution to identify any new risks that may occur. This assists us to visualize the possible problem areas and address them right at the onset.
For risks associated with delay in client feedback, we propose to have a dedicated Engagement Manager (can be anyone from client side) at the clients end to ensure faster approval, review and feedback process.