Task 3 :STLC and QA Testing
Published: 2024-03-11 04:29:48

Q1)List down all the models of SDLC?
   SDLC stands for Software Development Lifecycle.Which is the end to end process included in complete development process.Each model follows a series of phases unique to its type to ensure success in the software development process.

SDLC MODELS ARE
1)Waterfall model
2)V Model
3)RAD MODEL
4)incremental model
5)Iterative model
6)BigBang model
7)Agile model

Q2)STLC — Software Testing Life Cycle,Also explain all stage of STLC
     STLC stands for Software development Life cycle.The STLC is used to ensure that the software is of high quality, reliable, and meets the needs of the end-users.The stages of the STLC include Test Planning, Test Analysis, Test Design, Test Environment Setup, Test Execution, Test Closure, and Defect Retesting. Each of these stages includes specific activities and deliverables that help to ensure that the software is thoroughly tested and meets the requirements of the end users.
     The main goal of the STLC is to identify and document any defects or issues in the software application as early as possible in the development process. This allows for issues to be addressed and resolved before the software is released to the public.

Phases:
1)Requirement analysis Phase Reviewing the SRS documentation and quality assurance team understands the requirements well like what is to be tested. If anything is missing or not understandable then the quality assurance team meets with the Development team/Bussiness Analyst/Tech Lead to better understand the detailed knowledge of the requirements. Identify the ambiguities, Identifying any missing or incomplete requirements, Identifying any missing or incomplete requirements, 
2.Test Planning Identifies the objectives and scope of the test. Developing a test strategy like testing methods and techniques that will be used (agile method). Identifies the testing environment and resources needed. Identifies the test cases that will be executed.(RTM,Requirement tracebility matrix )and the test data that will be used. Estimating the time and cost required for testing. Identifies the test deliverables. Assigning the roles and responsibilities to the testing team, Reviewing and approving the test plan. 
3.Test Case development Based on the requirement Tracebility matrix Test cases will be Mapped/prepared. The testing team also prepares the required test data/Scenarios for the testing. Test cases that are clear, concise, and easy to understand. Identifying the expected results for each test case. Reviewing and validating the test cases. 
4.Test Environment Setup Once software test suites(Test cases) are designed, they need an interface to be executed in.This interface is called the Test Environment.It is created by integrating hardware,software,proper network configurations and data necessary to run tests. Mostly decided by the developer end or as per client requirement. 
5.Test Execution In this phase testing team starts executing test cases based on prepared test cases. Once defect Logged in and FIxed by the developer Retest the same with test data and repot the result. 
6.Test Closure Test closure stage is to ensure that all testing related activities have been completed and that the software is ready for release.And also it is to ensure that all relevent information related to testing that have been shared for future reference and enhancement.
example:NFT LAYER Requores and client says cant give this layer.then thematrix  willnot be correct.

Q3)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:           
  Product risk is the set of things that could go wrong with the service, software or whatever is being produced by the project.Risk is a combination of the probability and consequences of unfavorable events. This definition is also relevant for software projects but with more focus on their specifics.The software testing risks are:

1)incorrect scheduling (wrong project assessment, ineffective distribution of tasks, etc.)
2)constantly increasing or changing customer requirements (requirements change during the work on the project)
3)the failure of specifications (an overload of requirements or no exact requirements)
4)the loss of personnel (important technical staff members leave, and there isn’t enough time to replace them);
5)low productivity (the specialists are inexperienced, unmotivated, etc.).
6)Tight time limit that influence the testing flow.

Q4)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 TL is interested in processes that can prevent defects.
How would you explain the distinction between QA and QC responsibilities to your boss?
 QA 
 1)It focuses on providing assurance that the quality requested will be achieved.
 2)It is the technique of managing quality.
 3)It is involved during the development phase.
 4)It does not include the execution of the program.
 5)It is a managerial tool.
 6)It is process oriented
 7)The aim of quality assurance is to prevent defects.
 8)It is performed before Quality Control.
 9)QA is a low-level activity that identifies an error and mistakes that QC cannot
 10)Pays main focus is on the intermediate process.
 11)All team members of the project are involved.
 12)It aims to prevent defects in the system.
 13)It is a less time-consuming activity.
 14)Verification

QC
1)It focuses on fulfilling the quality requested.
2)It is the technique to verify quality.
3)It is not included during the development phase.
4)It always includes the execution of the program.
5)It is a corrective tool.
6)It is product oriented.
7)The aim of quality control is to identify and improve the defects.
8)It is performed after the Quality Assurance activity is done. 
9)It is a corrective technique.
10)It is a reactive measure.
11)It is responsible for the software testing life cycle.
12)It is a high-level activity that identifies an error that QA cannot.
13)Its primary focus is on final products.
14)Validation
 

Q5)Differences between manual and automation testing?
Manual Testing
1)In manual testing, the test cases are executed by the human tester.
2)Manual testing is time-consuming.
3)Manual testing takes up human resources.
4)Exploratory testing is possible in manual testing.
5)Manual testing doesn’t use frameworks.
6)Manual testing is not reliable due to the possibility of manual errors
7)In manual testing, the test results are recorded in an excel sheet so they are not readily available.
8)Manual testing allows human observation, thus it is useful in developing user-friendly systems.
9)Performance testing is not possible with manual testing.
10)In manual testing, batch testing is not possible.
Automation Testing
11)There is no need for programming knowledge in manual testing.
12)Manual testing is usable for Exploratory testing, Usability testing, and Adhoc testing.

Automation Testing
1)Manual Testing is possible without programming knowledge whereas Automation Testing is not possible without programming knowledge.

2)In automated testing, the test cases are executed by the software tools.
3)Automation testing is faster than manual testing
4)Automation testing takes up automation tools and trained employees
5)Exploratory testing is not possible in automation testing.
6)Automation testing uses frameworks like Data Drive, Keyword, etc.
7)Automated testing is more reliable due to the use of automated tools and scripts.
8)In automated testing, the test results are readily available to all the stakeholders in the dashboard of the automated tool.
9)Automated testing is conducted by automated tools and scripts so it does not involve assurance of user-friendliness.
10)Performance testing like load testing, stress testing, spike testing, etc. 
11)Programming knowledge is a must in case of automation testing as using tools requires trained staff. 
12)Automated testing is suitable for Regression testing, Load testing, and Performance testing.