Task 3
Published: 2023-12-27 11:21:32

1. SDLC Models :
Waterfall Model : It is also called as Linear Sequential Model.
In this model, after completion of one phase, then only another phase will begin.
Eg : After completion of Requirement phase, then only Designing phase will begin.
It can be used for smaller projects.
It can be used for stable requirement planning projects because frequent changes in phases is not possible.
V Model : It is Verification and Validation Model.
Verification is called Static Testing. In this, just check but don't execute anything.
validation is also called Dynamic Testing. In this, execute the steps.
It has high success rate compared to waterfall model.
It can be used where the requirements can change but not frequently.
Here Development and Testing happens parallelly.
Agile Model : This model is also called Iterative and Incremental Model.
In this model, each module is divided into sub-modules. After completion of 1 submodule it is released to the customers.
No need to wait for the whole completion of module for client and customers.
After completion of one module then another module begins.
Eg : If there are 100 modules, then it is split into 10 modules.
After completion of 1 module, it is released to the customers.
Another module could begin after completion of previous module.
Advantages : It can be used for larger projects.
No need to wait for the Client till the completion of whole module.
Client Interaction is possible if there are frequent changes in Requirement or Design Phase.
Spiral model : It is a combination of Iterative and Waterfall models.
Each phase begins with Design Goal and ends with client reviewing.
Software is developed in modules/series in incremental order.
There are 5 phases i.e., Communication, Planning, Modelling, Construct and Deployment.
There are 4 spirals. Concept development, System development, System enhancement and System maintainence.
This model can be used for larger projects.
It can be used where releases are frequent and when requirements are not clear and complex.
RAD Model : Rapid Application Development process is an adaption of waterfall model.
The main goal of this model is to build an application/software in lesser time i.e., in shortest duration.
Big bang Model : This model is suitable for smaller projects where little planning is required and requirements are clearly understood.

2. Software Testing Life Cycle (STLC): It is a sequence of different activity performed only by testing team.
It has 6 phases.
1) Requirement Analysis: Here all the requirements for testing can be involved and if the testing team has any doubts, they will clarify with BA, Dev team and Stake Holders.
Here 2 documents are being prepared.
Automation Feasibility Report: It will have a set of questions and each question will have a score.
If the score is above 70, then they can go ahead for automation testing.
If the score is below 50, Then they will go for manual testing.
If the score is in between 50 and 70, They will submit Proof of Concept.
Proof of Concept: This document is prepared to convince the clients that in the previous project, same issue was faced by them and they have done manual/automation (anyone) and the project was successful.
In this project also, we should go ahead and continue. Like this they will convince the clients.
Requirement Traceability Matrix (RTM): In this document, all business requirements are listed for writing test cases and once the requirement is done, then completion of requirement is marked in this document.
2) Test Planning: In this phase, only Leads/managers will only involve and they will prepare 2 documents.
Strategy Document: It is a high level document and it contains overall approach for entire testing process.
It is prepared by Leads/Managers.
Test Plan: It a high level document which contains all the planning activities for an entire testing process. 
It contains scope, objective, features to be tested or not to be tested and time and cost estimation, staffing and training etc.
3) Test Case Development: In this phase, test cases/ test scripts are written based on testing type.
Before writing, Test Scenario is developed.
Test Scenario: It is a document which contains what are all the functionalities that needs to be tested.
Eg: Login Functionality, Signup Functionality, etc
Test Case Document: In this document, how the functionality need to be tested is written.
It contains test steps.
Test steps: It is a step by step description to execute your test case. 
4) Test Environment Setup (Test Bed): Configuring the software and hardware that is required for testing.
Factors needed to execute test cases without any issues.
Here Smoke testing is performed.
Smoke Testing: It is also called as Build Verification Testing.
It is performed to check basic/critical functionalities of software before doing end-end testing.
5) Test Execution: Here test cases/test scripts written are executed and end-end testing is performed.
It includes reporting the test result, Log the defects, Retesting the defects, close the defect.
6) Test Closure: If there is no high priority bug, test will be closed.
Here Test Summary report document is prepared. 
It contains How many test cases written, How many passed, How many failed, How defects were reported.

3. Potential risks included in the Test Plan : There are many risks while developing a software product or an application.
1) Lack of human resource at the time of testing. This means existing team members are not sufficient for testing or few of the team members are not trained on the tools used for testing.
2) Lack of Software. This means the existing software is not upgraded in order to perform testing (or) the existing license is expired to use the software for testing.
3) Client suggests for changes in requirements or designs.
4) Unexpectedly Client prepones the time of delivery.
5) Expansion of Project unexpectedly.
6) Costs is increased due to the expansion of project.

4. Quality Assurance (QA): Set of processes that helps to "avoid" defects and assure quality.
Ensuring that a company is providing a high quality product or not.
Here only defects are identified but not fixed.
It is a part of SDLC.
Whole team is responsible for QA.
It is a preventive approach.
Quality Control (QC): Set of activities that helps to detect defects and quality issue before handing it to the customer.
It is a part of STLC.
Only testing team is responsible for QC. 
The main objective of QC is to find bugs/defects and fixing before deployment.
It is a Subset of QA.
It is a reactive approach. 

5. Manual Testing: Here testing is performed by humans without using any software tools.
Test cases are written and executed step by step by humans without using any software tools.
Test Cases are the steps to be followed to test the functionality.
These test cases are present in Test case document.
The purpose of manual testing is to catch bugs before the application is released.
Manual testing takes longer time for executing the test cases.
Automation Testing: Here the testing is performed automatically with the help of tools.
Here Test scripts written and executed with the help of software tools.
Eg : Selenium
It takes shorter time compared to manual testing for executing the tests.
It is more efficient compared to manual.
It requires coding and test maintenance.
It is faster and covers more test scripts execution in shorter duration.