TASK 3
Published: 2024-04-24 06:25:14

Q.NO:1 List down the models of SDLC.
         - 1. Waterfall Model.
         - 2. V-Shaped Model.
         - 3. Prototype Model.
         - 4. Spiral Model.
         - 5. Iterative Incremental Model.
         - 6. Big Bang Model.
         - 7. Agile Model.
         
Q.NO:2  What is STLC? also explain all stage of STLC.
       STLC stands for Software Testing Life Cycle. It is a set of sequential processes used to test and ensure the quality and reliability of software products. The stages of STLC typically include:
     **Requirement Analysis:** In this stage, testers analyze the requirements documents to understand what needs to be tested. They identify testable requirements and any potential gaps or ambiguities that need clarification.
**Test Planning:** Test planning involves creating a detailed test plan that outlines the testing approach, objectives, scope, resources, schedule, and test environment requirements. This stage helps in organizing testing activities effectively.
Test Case Development: Test cases are developed based on the requirements and test scenarios identified earlier. Test cases specify the input data, expected output, test steps, and preconditions for executing tests. These test cases serve as a guide for testers during the execution phase.
**Test Environment Setup: **A suitable test environment is set up to execute the test cases. This includes configuring hardware, software, network, and other necessary resources to mimic the production environment as closely as possible.
**Test Execution:** Testers execute the test cases in the prepared test environment. They follow the test procedures outlined in the test cases and record the actual results of the tests.
Defect Tracking and Management: During test execution, defects or issues identified are logged into a defect tracking system. Each defect is assigned a priority, severity, and status. Defects are then tracked and managed until they are resolved.
**Test Reporting: **After executing the test cases, test reports are generated to provide insights into the testing process, including test coverage, defect metrics, and overall quality assessment. These reports are shared with relevant stakeholders to communicate the status of the testing effort.
**Test Closure:** Once testing is complete, a formal review is conducted to assess whether all test objectives have been met. Test closure activities may include finalizing documentation, archiving test artifacts, and conducting a lessons learned session to identify areas for improvement in future testing efforts.
By following these stages in a systematic manner, STLC helps ensure that software products meet quality standards and are ready for release to end-users.

Q.NO: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?
              **Compatibility Issues: **Risk of the application not functioning correctly across different web browsers (such as Chrome, Firefox, Safari) and devices (desktop, mobile, tablets). This could lead to inconsistencies in user experience and functionality.
**Performance Bottlenecks:** Risk of the application not meeting performance requirements under various load conditions, such as high user traffic or concurrent transactions. This could result in slow response times, timeouts, or even system crashes.
Security Vulnerabilities: Risk of the application being susceptible to security threats such as data breaches, unauthorized access, or injection attacks (SQL injection, Cross-Site Scripting). This could compromise sensitive user information and damage the reputation of the application.
**Data Integrity Issues:** Risk of data corruption, loss, or inaccurate processing within the application. This could occur due to improper data handling, insufficient validation checks, or database failures.
Integration Challenges: Risk of the application not integrating seamlessly with other systems, APIs, or third-party services. This could lead to data synchronization issues, functionality gaps, or communication failures.
**Usability Concerns:** Risk of the application not being intuitive or user-friendly, leading to confusion, frustration, and decreased user adoption. This could result from poor navigation, unclear instructions, or inconsistent design elements.
**Regression Defects:** Risk of introducing new defects or inadvertently breaking existing functionality while implementing changes or updates to the application. This could occur due to inadequate regression testing coverage or incomplete understanding of the system's dependencies.
**Dependency Risks: **Risk of dependencies on external components, libraries, or frameworks causing compatibility issues, version conflicts, or licensing constraints. This could impact the stability and reliability of the application.
**Scalability Limitations:** Risk of the application not scaling effectively to accommodate future growth in user base or data volume. This could result in performance degradation, resource constraints, or system failures during peak usage periods.
**Environmental Factors:** Risk of environmental factors such as network latency, bandwidth limitations, or server downtime affecting the availability and performance of the application. This could impact users accessing the application from different locations or network conditions.
 
Q.NO:4 Your TL (Team Lead)has asked you to explain the difference between quality assurance (QA) and quality control (QC) responsibilities. While QC activities aim to identify defects in actual products, your TLis interested in processes that can prevent defects. How would you explain the distinction between QA and QC responsibilities to your boss?
             Quality Assurance (QA) focuses on ensuring that processes are in place to prevent defects from occurring in the first place. QA activities involve establishing standards, processes, and procedures to ensure that products meet quality requirements. This includes activities such as:
       1. Developing quality management systems.
       2. Implementing standards and procedures.
       3. Conducting audits and reviews to ensure compliance with standards.
       4. Training personnel on quality standards and processes.
       5. Continuous improvement initiatives to enhance processes and prevent defects.
     On the other hand, Quality Control (QC) involves activities that are aimed at identifying defects in actual products. QC activities are conducted during or after the production process to ensure that products meet specified quality standards. This includes activities such as:
      1. Inspecting and testing products to identify defects.
      2. Sampling and statistical analysis to monitor product quality.
      3. Corrective actions to address identified defects.
      4. Monitoring and analyzing process data to identify trends and potential issues.
      5. Providing feedback to improve production processes.

Q.NO:5 Difference between Manual and Automation Testing? 
      Manual testing and automation testing are two approaches used in software testing, each with its own characteristics, advantages, and disadvantages.
**Manual Testing:**
- Manual testing involves human testers executing test cases manually without the use of any automation tools.
- Testers perform manual testing by following predefined test cases or exploring the software application to identify defects.
- It requires human intervention at every step of the testing process.
- Manual testing is more flexible and allows testers to adapt quickly to changes in the software or testing requirements.
- It is well-suited for exploratory testing, ad-hoc testing, and user experience evaluation.
- Manual testing can be time-consuming, labor-intensive, and prone to human error, especially when repeated testing is required.
**Automation Testing:**
- 1. Automation testing involves using specialized tools to execute pre-scripted test cases automatically.
- 2. Test scripts or test scenarios are created by testers or developers, and automation tools execute these scripts to perform testing.
- 3. Automation testing is particularly useful for repetitive tasks, regression testing, and scenarios where a large number of test cases need to be executed quickly.
- 4. It increases testing efficiency, reduces human error, and provides faster feedback on the quality of the software.
- 5. Automation testing requires an initial investment in creating test scripts and setting up the automation framework, which can be time-consuming.
- 6. It may not be suitable for all types of testing, especially those requiring human judgment, intuition, or creativity.