STLC & QA Testing
Models of SDLC
Below are the models of SDLC
Waterfall model
Agile Model
iterative Model
Spiral model
V-shaped model
STLC stands for Software Testing Life Cycle, which is a process of testing software in a systematic and planned way. The stages of the STLC include:
•Test Planning: Define the scope, objectives, and strategy of testing.
•Test Analysis: Analyze the requirements and identify the test scenarios and criteria.
•Test Design: Create the test cases, test scripts, and test data.
•Test Environment Setup: Prepare the hardware, software, and network for testing.
•Test Execution: Execute the test cases and scripts and record the results.
•Test Closure: Evaluate the test results, report the defects, and document the lessons learned.
•Defect Retesting: Verify that the defects are fixed and retest the software.
- When creating a test plan for a web-based application, it’s important to consider various risk factors that could potentially impact the quality and success of the testing effort. Here is a list of potential risk factors and their explanations that we can include in the test plan:
1. Compatibility Risks: The risk of the application not functioning properly across different browsers, operating systems, or devices. This can lead to inconsistencies in the user experience and functionality.
2. Security Risks: The risk of vulnerabilities or weaknesses in the application’s security controls, potentially leading to unauthorized access, data breaches, or privacy violations.
3. Performance Risks: The risk of the application not meeting performance requirements, such as slow response times, high resource consumption, or scalability issues. This can impact user satisfaction and overall system stability.
4. Usability Risks: The risk of the application being difficult to use or understand by its intended users. This can result in lower user adoption, increased support calls, and decreased user satisfaction.
5. Functional Risks: The risk of the application not meeting the specified functional requirements. This can lead to incorrect calculations, missing or incomplete features, and incorrect system behavior.
6. Data Integrity Risks: The risk of data corruption, loss, or inaccurate data processing within the application. This can impact the reliability and trustworthiness of the application’s data.
7. Integration Risks: The risk of issues arising when integrating the application with other systems or third-party components. This includes data exchange problems, compatibility issues, or communication failures.
8. Recovery and Backup Risks: The risk of inadequate backup procedures or unreliable recovery mechanisms. This can result in data loss, extended downtime, or failure to restore the application to its normal state after a failure.
9. Change Management Risks: The risk of introducing defects or regressions when making changes or updates to the application. This includes issues related to version control, code merges, and release management.
10. Resource Risks: The risk of insufficient resources, such as time, budget, or skilled personnel, which may impact the testing effort’s effectiveness and efficiency.
11. Legal and Compliance Risks: The risk of non-compliance with legal, regulatory, or industry-specific requirements, such as data protection regulations or accessibility standards.
12. Environmental Risks: The risk of issues related to the infrastructure, network, or hosting environment that could affect the availability and performance of the application.
Difference between QA and QC in software Testing.
The main differences between QA and QC in software testing are: QA is focused on providing confidence that quality requirements will be fulfilled, while QC is focused on fulfilling quality requirements.
*QA is proactive, while QC is reactive.
*QA focuses on the process and standards that help to ensure that deliverables will meet the requirements, while QC is more about the product.
*QA is an organization-wide responsibility, while smaller teams handle QC work testing the product.
*Examples of QC include technical reviews, software testing and code inspections. Testing is a subset of QC.
Difference between manual and automation Testing
The main differences between manual and automation testing are:
*Manual testing is done manually by a QA analyst, while automation testing is done with the use of script, code, and automation tools by a tester.
*Manual testing involves step-by-step testing of an application’s performance without using any test script, while automation testing utilizes test automation frameworks.*Automated testing provides high accuracy and reliability as compared to manual testing.
*Manual testing consumes more time with respect to automated testing.
*Automated testing is more reliable and quicker than manual testing.