STLC&QA Testing
Published: 2023-09-18 11:37:52

Task3:
-----
1.list down all the models of SDLC:
waterfall model
agile model
v-Model
spiral  model 
iterative model 
bigbang models
incremental model
RAD model
2.what is STLC and explain all stages of STLc
Answer: STLC:(Software Test Lifecycle): STLC is a systematic approach to testing a software application to ensure the it meets the requirements and is free of defects.It is a process of that follows a series of steps or phases and each has specific objectives and deliverables.The STLC is used to ensure that the software is of high quality,reliable and meets the needs of the end-user.
Stages of STLC:
	1.Reqirement Analysis
	2.Test Planning
	3.Test Case development
	4.Test Enviroment Setup 
	5.Test Execution
	6.Test cycle closure
1. *Requirement Analysis:*
   - In this phase, testers and stakeholders analyze and understand the project's requirements.
   - Identify testable features, scope, objectives, and constraints.
   - Create a Requirement Traceability Matrix (RTM) to link requirements to test cases.

2. *Test Planning:*
   - Develop a comprehensive test plan that outlines the testing strategy, resources, schedule, and deliverables.
   - Define test objectives, entry and exit criteria, and risks.
   - Determine the testing types (e.g., functional, non-functional) and testing levels (e.g., unit, integration, system).

3. *Test Case Development:*
   - Design and create test cases based on the requirements and test plan.
   - Each test case should include input data, expected results, and execution steps.
   - Ensure good coverage, including positive and negative scenarios.

4. *Test Environment Setup:*
   - Prepare the test environment, which includes hardware, software, and network configurations.
   - Ensure that the test environment mimics the production environment as closely as possible.
   - Verify that all necessary tools and resources are available for testing.

5. *Test Execution:*
   - Execute the test cases on the prepared test environment.
   - Record test results, including pass/fail status and any defects found.
   - Monitor and manage test execution progress, reporting issues promptly.
6.Test Cycle Closure:*
   - Evaluate the test cycle's objectives against the exit criteria defined in the test plan.
   - Prepare test summary reports, highlighting the test results, defect metrics, and lessons learned.
   - Review the entire testing process and gather feedback for process improvement.

3. As a test lead for a web-based application, your manager has asked you to identify and explain the different risk factors that should be included in the test plan. Can you provide a list of the potential risks and their explanations that you would include in the test plan?
Answer: 1. *Security Risks:*
   - Explanation: Security vulnerabilities, such as data breaches or unauthorized access, can compromise user data and the application's integrity. Testing should identify and mitigate these risks.

2. *Performance Risks:*
   - Explanation: Poor performance, slow load times, or server crashes can lead to a bad user experience. Performance testing assesses the application's responsiveness and scalability under different loads.

3. *Compatibility Risks:*
   - Explanation: Web applications need to work seamlessly on various browsers, devices, and operating systems. Compatibility testing ensures the app functions correctly across different environments.

4. *Functional Risks:*
   - Explanation: Functional testing verifies that the application's features and functions work as intended. Missing or incorrect functionalities can hinder user satisfaction.

5. *Usability Risks:*
   - Explanation: Poor user interface design or confusing navigation can result in user frustration. Usability testing evaluates the application's user-friendliness.

6. *Data Integrity Risks:*
   - Explanation: Errors in data storage, retrieval, or manipulation can lead to data corruption or loss. Data integrity testing confirms that data remains accurate and consistent.

7. *Integration Risks:*
   - Explanation: If the web application integrates with external services or APIs, testing should ensure smooth data exchange and communication with third-party systems.

8. *Scalability Risks:*
   - Explanation: As user traffic grows, the application may struggle to handle increased loads. Scalability testing assesses the application's ability to scale up effectively.

9. *Accessibility Risks:*
   - Explanation: The application should be accessible to users with disabilities. Accessibility testing checks for compliance with accessibility standards, such as WCAG.

10. *Regulatory and Compliance Risks:*
    - Explanation: Failure to adhere to industry-specific regulations or compliance standards can result in legal issues. Testing should ensure compliance with relevant regulations.

11. *Dependency Risks:*
    - Explanation: If the application relies on third-party libraries or services, disruptions or changes in those dependencies can affect functionality. Dependency testing verifies their reliability.

12. *Load Risks:*
    - Explanation: Unexpected spikes in user traffic can stress the application and cause performance issues. Load testing simulates high loads to assess the application's resilience.

13. *Update and Maintenance Risks:*
    - Explanation: Updates, patches, or maintenance activities can introduce new bugs or disrupt existing functionality. Regression testing should validate changes without causing regressions.

14. *Data Privacy Risks:*
    - Explanation: Mishandling of user data or non-compliance with data protection laws can lead to legal and reputational issues. Data privacy testing ensures data is handled securely.

15. *Network Risks:*
    - Explanation: Unstable or slow network connections can impact the application's performance. Network testing simulates different network conditions to assess resilience.

16. *User Load Risks:*
    - Explanation: Excessive concurrent users can strain the application's resources. Stress testing identifies performance bottlenecks under heavy user loads.

17. *Backup and Recovery Risks:*
    - Explanation: In case of system failures or data loss, the application should have robust backup and recovery mechanisms. Testing ensures these processes are effective.

Including these risk factors and their explanations in your test plan will help ensure comprehensive testing and risk mitigation for your web-based application.

4.Quality Assurance (QA) focuses on processes and activities that ensure quality is built into the product or service from the beginning. It's proactive and preventive in nature. QA involves defining quality standards, implementing best practices, and creating processes to prevent defects.

Answer: Quality Control (QC), on the other hand, is concerned with inspecting and testing the actual products or services to identify defects. It's a reactive approach aimed at finding and fixing issues after they have occurred. QC activities include product inspections, testing, and verification against established standards.

In summary, QA is about preventing defects through process improvement, while QC is about detecting and addressing defects in the final product. Both are important for delivering a high-quality end result.

5.what is difference between Manual Testing and Automation Testing?
Answer: The difference between Manual testing and automation testing is that in manual Testing, you perform the tests step  by step without the help of the tools, where as in automated Testing, tests are executed automatically using automation tools and Framework.