STLC & QA Testing.
Q.NO.1. List down all the models of SDLC.
Models of Software Development Life Cycles are,
Waterfall Model, Agile Model, V- Model, Spiral Model, Iterative Model, RAD Model, Big bang Model, Incremental Model and Prototype Model.
Waterfall Model:
\>The Waterfall Model is a linear, sequential model used in software development and other project management contexts. It's a classical SDLC (Software Development Lifecycle) methodology that follows a logical progression of phases through a project's lifecycle. The model is called the waterfall because it simulates water falling, which can't go back up.
Agile Model:
\>The Agile model in software development life cycle (SDLC) is a software development methodology that uses an iterative approach to deliver a product. The Agile model is based on a cyclical process of producing working software, with each cycle, called a sprint, typically lasting two to four weeks.
V Model:
\>The V-model is an SDLC model where execution of processes happens in a sequential manner in a V-shape. It is also known as Verification and Validation model. The V-Model is an extension of the waterfall model and is based on the association of a testing phase for each corresponding development stage.
Spiral Model:
\>The spiral model is a systems development lifecycle (SDLC) method that combines the iterative development process model with elements of the Waterfall model. It's a risk-driven software development process model that's often used for large, expensive, and complicated projects.
Iterative Model:
\>The iterative model is a software development approach that breaks down projects into smaller, manageable chunks called iterations. Each iteration involves planning, analysis, design, development, testing, and deployment.
RAD Model:
\>Rapid Application Development (RAD) is a software development methodology that uses prototyping and quick feedback instead of detailed planning. It's an agile approach that focuses on ongoing projects and user feedback, and prioritizes development and building prototypes over planning.
Big bang Model:
\>The Big Bang model is a simple Software Development Life Cycle (SDLC) model that's based on the cosmological theory of the same name. It's designed around the idea of starting from nothing, fast growth, and creating a finished software product quickly.
Incremental Model:
>The incremental model, also known as the successive version model, is a software development process model in the Software Development Life Cycle (SDLC) that breaks down software requirements into multiple modules. Each module is treated as a sub-project and goes through all phases of the SDLC.
Prototype Model:
\>The prototype model is a Software Development Lifecycle (SDLC) model that involves building, testing, and refining a simplified model of a product to determine its functionality and feasibility. It's a popular model that's useful when product requirements are unclear or changing quickly, or when the final product requires continuous user interaction.
Q.No.2. What is STLC? also explain all stages of STLC.
STLC stands for Software Testing Life Cycle, which is a part of SDLC. Its a systematic approach to testing a software application to confirm that meets requirements and free of defects. Its a testing that helps us to meet efficient software quality standards. It ensure that each feature is tested and passing before additional features are added. It has multiple stages, they are.
Requirement Gatherings and Analysis:
QA will require clients idea and create table for client requirements and made design to execute. In that we have all the detailed need of the clients in elaborate way.
Test Planning:
Leads or manager will design and decide who will be working on the Testing requirements. Then they made Budget and Time frame to complete the project. They select how many tools and what tools need to do.
Test Design:
In this phase, we will verify all results are correct as per clients requirements.
Test Environment Setup:
Test environments are configured and deployed. Here we use variety of tools to setting up test servers. Once this setup is completed, then smoke test starts performing to check whether environments are working as expected with all intended functionality.
Test Execution:
In this Stage, features are tested in the deployed environment, using the established test cases. we need to check whether expected results are correct as of actual results. If not need to report back to development teams. All test to be executed and should be in documented table.
Test Closure:
Its the last stage of STLC, Here Test report is prepared and it has entire test summarization process and provides comparisons between expected and actual results. This includes all objectives like time frame, cost , coverages, tools and defects found. Test all previous and new features as well.
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 explanation that you would include in the test plan?
Ans: By identifying and mitigating all of the potential risks, you can help to ensure that the application is successful. Different Risk Factors of test plan are, Technical risks, Business risk, process risks, security risks, Data Risk, Performance and usability Risks
Technical Risks:
Its related to the technical aspects of the application, such as the programming language, the database, and the operating system. Examples of technical risks include:
we need to check whether its compatible with all browsers or operating systems.
we need to check whether the application may not be able to handle the expected load.
Business Risks:
Its related to the business aspects of the application, such as the target market, the competition, and the regulatory environment. Examples of business risks include:
The application may not meet the needs of the target market.
The application may not be competitive with other similar applications.
The application may not comply with all applicable regulations.
Process Risks:
These are risks that relate to the development and testing process, such as the project schedule, the budget, and the team members. Examples of process risks include:
we need to check whether it should be completed on time or within budget.
The team members may not have the necessary skills and experience.
The testing process may not be effective.
Security risk:
Its related to the security Process, such as The Identification theft, Money theft, Hacking.
. We need to check whether it blocks unauthorised links or website.
. We need to check whether it alerts User if there is any threat found.
Data Risks:
This is a risk that the application may lose or corrupt data. This could be due to a hardware failure, a software bug, or a human error.
Usability issues:
- This is a risk that the application may be difficult to use. This could be due to a poor user interface, confusing instructions, or hidden features.
Performance Risks:
.This is a risk that the application may not perform well under load. This could cause the application to slow down, crash, or become unresponsive.
Q.NO.4.Team lead has asked you to explain the difference between Quality Assurance and Quality control responsibilities. which QC activities aim to identify defects in actual products your TL is interested in processes that can prevent defects. How would you explain the distinct between QA and QC responsibilities to your boss?
Quality assurance:
Quality Assurance is known as QA and focuses on preventing defects. Quality Assurance ensures that the approaches, techniques, methods, and processes designed for the projects are implemented correctly.
Quality assurance activities monitor and verify that the processes used to manage and create the deliverables have been followed and are operative.
Quality Assurance is a proactive process and is Prevention in nature. It recognizes flaws in the process. Quality Assurance has to complete before Quality Control.
Quality Control:
Quality Control is known as QC and focuses on identifying a defect. QC ensures that the approaches, techniques, methods and processes are designed in the project are following correctly. QC activities monitor and verify that the project deliverables meet the defined quality standards.
Quality Control is a reactive process and is detection in nature. It recognizes the defects. Quality Control has to complete after Quality Assurance.
Difference Between QA and QC:
Many people think QA and QC are the same and interchangeable but this is not true. Both are tightly linked and sometimes it is very difficult to identify the differences. Fact is both are related to each other but they are different in origins. QA and QC both are part of Quality Management however QA is focusing on preventing defect while QC is focusing on identifying the defect.
\>QA is a process which deliberates on providing assurance that quality request will be achieved. Whereas, QC is a process which deliberates on fulfilling the quality request.
\>A QA aim is to prevent the defect, whereas, A QC aim is to identify and improve the defects. QA is the managing quality and QC is the verifying quality.
\>QA does not involve executing the program and QC always involve executing the program.
\>All team members are responsible for QA and Testing Team is responsible for the QC.
\>QA example Verification and QC examples Validation.
\>QA is responsible for full software development life cycle and QC is responsible for full software Testing life cycle.
\>QA is the process to create the deliverables and QA is the verify to create the deliverables.
QC looks at the end of the line while QA looks further down the line**.** QC aims at detecting & correcting the issues while QA aims at preventing the issues to occur.
QA does not assure quality, rather it creates and ensures the processes are being followed to assure quality. QC does not control quality, rather it measures quality. QC measurement results can be utilized to correct/modify QA processes which can be successfully implemented in new projects as well.
Q.NO.5.Difference between Manual and Automation Testing?
Manual testing:
Manual testing involves people manually executing test cases without the use of automated tools. Manual testing involves humans testing and interacting with a software application or product to identify issues.
Automation Testing:
Automation testing uses tools to write scripts and execute test cases. Automated testing uses computer programs, applications, or scripts to write pre-defined tests and run them programmatically.
Difference between Manual and Automation Testing is that, Manual testing will be done by the People manually the test cases , whereas automation is done by Coding tools.
Cost: Manual testing is slow, repetitive, costly, and time-consuming. Automated testing is cost-effective and helps find possible bugs quickly.
Initial investment: Manual testing requires a lower upfront investment compared to automated testing.
Coding: Manual testing is beneficial for quickly assessing small changes in the application without the need for extensive coding. Automated testing requires programming knowledge.
Execution: Automated testing is faster in execution.
Suitability: Manual testing is ideal for frequently changing interfaces. Automated testing is a viable option when test cases are executed repeatedly over a long period of time.
Random testing: Manual testing allows random testing, whereas automated testing does not.