STLC & QA Testing
Tags: sdlc, stlc, manual, automation
Published: 2023-08-23 15:23:18

## 1. Models Of SDLC

> SDLC is a Software Development Life Cycle and it is a Process to produce or develop the software that satisfy the customer expectations.
`Some phases of SDLC Models :`

- Waterfall
- Agile

**Waterfall Model**
  > - Waterfall model is a Straight Forward process and it is a _Linear Sequential Model_.
  > - After One Phase of Output and Next Phase has to start with the help of Previous Phase.
  > - It used in Earlier stage before, but Nowadays _it is not widely used_ in Industry practice.

**Agile Model**
  > - Agile model is a one of the most widely used SDLC Process for developing the software application in all Industry.
  > - Nowadays it is widely use in process and it is easy to approach with collaborative to team members, with Clients, Project Stage, Results, Feedbacks from Customers feedback etc...,

- **Scrum**

 **SCRUM** is an agile project management process used to build software development based on Weekly Sprint meeting, Review Meeting and Retrospective meeting.

**Scrum Master:** The Scrum Master lead the Scrum team for developing the software. Scrum Master arrange the meeting, Helps the Product owner and Support organization.

**Product owner:** The Product owner Knows the Aim of the Product and he is the In-charge of the product development and
He communicate with Development Team and Master.

**Scrum Team:** In Scrum Team each member is responsible for
delivering High quality product with collaboration with each other and self motivated.

## 2. STLC:

> STLC is process and also an integral part of Software Development Life Cycle (SDLC). STLC is a process used to test the software and confirm that product conditions works are met as per the customers needs.

**1. Requirement Analysis :** Analyzing customer needs and types of tests to be performed and gather the details about product from the customer about the software applications were to build.

**2. Test Planning:** After the Requirement Analyzing Preparation of test plan for different types of testing process are prepared like Selection of Test tools, Test Methods and Team allocation etc..,

**3. Test Case Development:** Test cases are developed based on the test plan and the Test cases written by its specific conditions, Priority, Inputs and expected outcomes.

**4. Test Environment Setup:** Testing environment is established by hardware, software, and network configurations based on the Systems engineer software developers and Dev-ops engineer.

**5. Test Execution:** The actual testing takes place here Testers execute the prepared test cases and record the outcomes and if any bugs send it to developers team and fix the issue after all bugs close the Reports are submitted.

**6. Test Closure:** Closure report is prepared and this report tells about the Testing activities, Results, Issues, and the quality of the software and all testing related activities have be completed and the software ready for release.

## 3. Risk Factors in Testing

**Correct Planning:** Insufficient time, skilled personnel can lead to incomplete testing.

**Security Risks:** Defects in the application can affect the user data.

**Regression Risk:** Introducing new features may impact the existing functionalities.

**Performance Risk:** Poor performance after new build can cause the user experience.

## 4. Diff Between the Responsibilities of Quality Assurance & Quality Control:

> Quality Assurance: The Quality Assurance(QA)is a process to test the products to reach the high quality standards as per customers expected.

> Quality Control: Quality Control(QC) is a process to test the defect in the product and and clear technical issues in the software and ready to use.

## Difference between QA & QC :

- QA is aimed to avoid the defect & QC is aimed to identify and fix the defects.
- QA does not involve in coding and execution & QC Involve in Coding and execution.
- QA requires involvement of Whole team & QC  requires on Testing Team.
- QA focuses on final product with high quality standards & QC focus on each process to build the software test.

## Difference between Manual & Automation:

- Test cases are done by Humans manually & Test Cases are done by software tools.
- Time Consuming High in Manual & Time consuming Less in Automation.
- Programming knowledge is not Necessary in Manual & Program Knowledge is Necessary in Automation.
- Due to Manual errors may occur & Due to Automation Errors may
avoid.
- No cost effective by installation tools in Manual & Software tools needed and it cost effective is High.






-