Creating FunctionalTesting Strategy
• Understanding System Requirement: The first step in creating a functional testing strategy is to understand the system
requirements. This includes understanding the business processes that the system will support, the data that will be
stored in the system, and the security requirements.
• Identifying Test Scenario: Once the system requirements are understood, the next step is to identify the test scenarios.
A test scenario is a description of a specific business process that will be tested.
• Defining Test Objectives: The test objectives define the specific goals of the testing. For example, the test objectives
may be to ensure that the system can process orders correctly, that the data is accurate, and that the system is secure.
• Designing Test Case's: The test cases are the detailed instructions for how to test each test scenario. The test cases
should specify the input data, the expected output, and the steps to be taken to test the system.
• Test Data Preparations: The test data is the data that will be used to test the system.The test data should be
representative of the data that will be used in the production environment.
• Test Execution and Defect Reporting:The test cases are executed and the defects are reported.The defects are then
tracked and fixed.
• Unit testing – All modules serately , System integration testing (SIT) – All modules together
• Regression Testing: Regression testing is the process of re-testing the system after changes have been made to it.This is
to ensure that the changes have not introduced any new defects.
• User Acceptance Testing (UAT): UAT is the process of testing the system with the end users.This is to ensure that the
system meets the needs of the users.
Preparing for Production Deployment
• Release Management: Release management is the process of managing the release of new
software to production.This includes testing the software, creating a deployment plan, and
communicating with the users.
• Data Migration Strategy:The data migration strategy defines how the data will be
migrated from the old system to the new system.This is a critical step, as any errors in the
data migration can cause problems in the production system.
• End-UserTraining: End-user training is the process of training the users on how to use the
new system.This is essential to ensure that the users can use the system effectively.
• Contingency Planning:Contingency planning is the process of planning for what to do if
something goes wrong with the production deployment.This includes having a backup plan
in place and communicating with the users.
• Go-Live Support and Monitoring:Go-Live support and monitoring is the process of
providing support to the users after the system has been deployed.This includes
monitoring the system for problems and resolving any issues that arise."
SDLC Methodologies
• SDLC stands for Software Development Life Cycle. It is a process used by the IT industry to design,
develop and test software.
• It ensures that software is developed in a cost effective way, within planned schedule and with the
highest quality.
• SDLC Steps and Best Practices :
• Identify the software requirements : Define the requirements based on business input.
• Plan : Plan the project including resources, budget and schedule.
• Design : Design the solution and provide a design document as output.
• Build : Development of the solution based on the design document created in previous step.
• Test :Testing of the solution and fixing of all defects/bugs.
• Deploy : Execute the deployment activities and deploy the application to the production
environment.
• Maintain :This includes, applying fixes, implementing change requests and updating the
software and the environment itself.
SDLC Methodologies :
• Waterfall :
This is the oldest and most straightforwardSDLC methodology.A phase start only after the previous phase has finished. Eachstage relies on the
information of the previous stage. Each stage has its own mini-plan.
+Advantages :This methodology is very simple to plan and manage.
- Disadvantages : Is not well suited to accommodate unplanned events or changes.
• Agile :
This is a very popular SDLC methodology, especially for very complex projects.With the Agile methodology, software is developed in incremental, rapid
cycles.This requires intensive interactions between all project stakeholders and requires business feedback throughout the development process.
+Advantages :The main advantage is that the test results are available after each cycle.
- Disadvantages :The significant increase of communication between all project stakeholders.
• Iterative :
This model emphasizes repetition. Project teams implement a version of the software, then test, evaluate and pinpoint furtherrequirements.A new
version is created with each phase/iteration.This process repeats until the software is completed.
+Advantages : Produces a working version of the project early in the process. Changes are therefore less expensive.
- Disadvantages : Can consume resources very quickly if left unchecked.
• Spiral :
One of the most flexible SDLC methodology. Is similar to the iterative methodologyin its repetition model.
The spiral methodology passes through four phases (planning, risk analysis, engineering and evaluation) over and over with gradual improvements at
each pass until completion.
+Advantages :Continuous or repeated development helps in risk management.
- Disadvantages : Not suited for small projects.
• DevOps :
This relatively new methodology emerged from the application of Agile and Lean methodologiesto operations work and the necessity of collaboration
between the development and operation teams at all stages of the SDLC process.
In the DevOps methodology, developers and operations teams work closely together.
+Advantages :Acceleration of innovation and the deployment of higher quality and more reliable software.
- Disadvantages : Difficulty to find the appropriate resources as this is still a very new area with a lack of experienced professionals.

Creating Functional Testing Strategy.pptx

  • 1.
    Creating FunctionalTesting Strategy •Understanding System Requirement: The first step in creating a functional testing strategy is to understand the system requirements. This includes understanding the business processes that the system will support, the data that will be stored in the system, and the security requirements. • Identifying Test Scenario: Once the system requirements are understood, the next step is to identify the test scenarios. A test scenario is a description of a specific business process that will be tested. • Defining Test Objectives: The test objectives define the specific goals of the testing. For example, the test objectives may be to ensure that the system can process orders correctly, that the data is accurate, and that the system is secure. • Designing Test Case's: The test cases are the detailed instructions for how to test each test scenario. The test cases should specify the input data, the expected output, and the steps to be taken to test the system. • Test Data Preparations: The test data is the data that will be used to test the system.The test data should be representative of the data that will be used in the production environment. • Test Execution and Defect Reporting:The test cases are executed and the defects are reported.The defects are then tracked and fixed. • Unit testing – All modules serately , System integration testing (SIT) – All modules together • Regression Testing: Regression testing is the process of re-testing the system after changes have been made to it.This is to ensure that the changes have not introduced any new defects. • User Acceptance Testing (UAT): UAT is the process of testing the system with the end users.This is to ensure that the system meets the needs of the users.
  • 3.
    Preparing for ProductionDeployment • Release Management: Release management is the process of managing the release of new software to production.This includes testing the software, creating a deployment plan, and communicating with the users. • Data Migration Strategy:The data migration strategy defines how the data will be migrated from the old system to the new system.This is a critical step, as any errors in the data migration can cause problems in the production system. • End-UserTraining: End-user training is the process of training the users on how to use the new system.This is essential to ensure that the users can use the system effectively. • Contingency Planning:Contingency planning is the process of planning for what to do if something goes wrong with the production deployment.This includes having a backup plan in place and communicating with the users. • Go-Live Support and Monitoring:Go-Live support and monitoring is the process of providing support to the users after the system has been deployed.This includes monitoring the system for problems and resolving any issues that arise."
  • 4.
    SDLC Methodologies • SDLCstands for Software Development Life Cycle. It is a process used by the IT industry to design, develop and test software. • It ensures that software is developed in a cost effective way, within planned schedule and with the highest quality. • SDLC Steps and Best Practices : • Identify the software requirements : Define the requirements based on business input. • Plan : Plan the project including resources, budget and schedule. • Design : Design the solution and provide a design document as output. • Build : Development of the solution based on the design document created in previous step. • Test :Testing of the solution and fixing of all defects/bugs. • Deploy : Execute the deployment activities and deploy the application to the production environment. • Maintain :This includes, applying fixes, implementing change requests and updating the software and the environment itself.
  • 5.
    SDLC Methodologies : •Waterfall : This is the oldest and most straightforwardSDLC methodology.A phase start only after the previous phase has finished. Eachstage relies on the information of the previous stage. Each stage has its own mini-plan. +Advantages :This methodology is very simple to plan and manage. - Disadvantages : Is not well suited to accommodate unplanned events or changes. • Agile : This is a very popular SDLC methodology, especially for very complex projects.With the Agile methodology, software is developed in incremental, rapid cycles.This requires intensive interactions between all project stakeholders and requires business feedback throughout the development process. +Advantages :The main advantage is that the test results are available after each cycle. - Disadvantages :The significant increase of communication between all project stakeholders. • Iterative : This model emphasizes repetition. Project teams implement a version of the software, then test, evaluate and pinpoint furtherrequirements.A new version is created with each phase/iteration.This process repeats until the software is completed. +Advantages : Produces a working version of the project early in the process. Changes are therefore less expensive. - Disadvantages : Can consume resources very quickly if left unchecked. • Spiral : One of the most flexible SDLC methodology. Is similar to the iterative methodologyin its repetition model. The spiral methodology passes through four phases (planning, risk analysis, engineering and evaluation) over and over with gradual improvements at each pass until completion. +Advantages :Continuous or repeated development helps in risk management. - Disadvantages : Not suited for small projects. • DevOps : This relatively new methodology emerged from the application of Agile and Lean methodologiesto operations work and the necessity of collaboration between the development and operation teams at all stages of the SDLC process. In the DevOps methodology, developers and operations teams work closely together. +Advantages :Acceleration of innovation and the deployment of higher quality and more reliable software. - Disadvantages : Difficulty to find the appropriate resources as this is still a very new area with a lack of experienced professionals.