TASK-1, Testing Methodologies & SDLC.

Q,No:1.What are Different Types of testing?

Testing is the process of evaluating and verifying a product or application to ensure it functions properly. If it is not functioning correctly, bugs need to be found and fixed. Testing has different types., they are,

*Unit testing

\>Unit testing is a software development process that involves testing the smallest functional units of code in an application. The goal of unit testing is to isolate and determine if written code works as intended.

*Smoke Testing

\>Smoke testing, also called build verification testing or confidence testing, is a software testing method that is used to determine if a new software build is ready for the next testing phase. This testing method determines if the most crucial functions of a program work but does not delve into finer details.

*Integration Testing

>Integration testing is the second level of the software testing process comes after unit testing. In this testing, units or individual components of the software are tested in a group. The focus of the integration testing level is to expose defects at the time of interaction between integrated components or units.

*System testing

\>System testing, also referred to as system-level testing or system integration testing, is the process in which a quality assurance (QA) team evaluates how the various components of an application interact together in the full, integrated system or application.

*Regression Testing

\>Regression testing is a software testing technique that involves re-running functional and non-functional tests to ensure that software still works as expected after changes. The purpose of regression testing is to ensure that modifications haven't broken existing functionality or caused problems in functions that previously worked correctly.

*Performance Testing

\>Performance testing is a non-functional software testing technique that measures how well an application performs under a specific workload. It's a key step in ensuring software quality and is used to evaluate an application's speed, stability, scalability, and resource usage.

*UAT- User Acceptance Testing.

\>User Acceptance Testing (UAT), which is performed on most UIT projects, sometimes called beta testing or end-user testing, is a phase of software development in which the software is tested in the "real world" by the intended audience or business representative.

Q.No:2-What are different STLC Phase?

STLC stand For Software Testing Life Cycle. Different Types of Phases are,

*Requirement Analysis

\>Requirement analysis in software testing is the first step in the software testing lifecycle. It involves identifying test requirements, which are specific requirements that need to be tested. Test requirements are derived from software requirements.

*Test Planning

\>Test planning is the process of preparing for the testing phase of product development to ensure that the product meets the client's requirements. A test plan is a detailed document that outlines the strategy, objectives, schedule, resources, and approach for testing a software product. It's like a blueprint for running the tests needed to ensure the software is working correctly.

*Test Design

\>Test design is a process that defines how testing has to be done. It involves the process of identifying the testing techniques, test scenarios, test cases, test data, and expected test results.

*Environment setup

\>In software testing, an environmental setup, or test environment, is a hardware and software configuration that allows testing teams to run test cases. The setup varies by product and depends on the application's requirements.

*Test Execution

\>Test execution is the process of running test cases on a software application to verify that it meets its specifications and functionality. It's an essential part of the Software Testing Life Cycle (STLC) and Software Development Life Cycle (SDLC).Test execution is the process of performing test cases to identify bugs, errors, and other potential issues your software could have.

*Test Closure.

\>A test closure report is a document with a summary of a project's entire testing process and its results. The report gives insights into test executions and software performance in the tests. Anyone from the team can use this report to evaluate the quality of the software and make an informed decision on its release.

Q.No.3. As a Manual tester, What quality do you possess? Provide examples to illustrate your points.

Certainly, manual testers possess a variety of qualities and skills that are crucial for testing software applications effectively. Here are some key qualities with examples to explain each point:

Tester Need This qualities with them, and the qualities are.

*Attention to details

\>Tester must pay more attention to the details. Tester have to identify even the smallest of issues. We have to spot even the smallest discrepancies in the application’s behaviour.

*Analytical, Critical and Communicational Skills.

Tester needs team effort to conduct testing, and manual testers must communicate effectively with other team members, including developers, project managers, and QA testers.

*Problem Solving

When encountering any issues, a tester should be proactive and create strategies to identify and resolve the problem.

*Adaptability

Manual Tester should adopt to new changes and starts working.

*Time Management

Tester should effectively make plans and complete the project before the deadlines meet.

*Regression Testing

Manual testers should regularly perform regression testing to ensure that new changes do not introduce any errors to the existing features.

*User Centric approach.

Manual Tester need to use the project as an User and then need to check if there is any issue arising, In short, Testers put themselves in the end-users’ shoes to identify usability issues.

Q.No.4. What is the difference between Waterfall and Agile Methodologies in SDLC?

Waterfall cycle flow is like a water fall.

.Requirements

.Design

.Development

.Testing

.Deployment

.Maintenance

\>Its an Long term testing model, suitable for Larger Organisation. Tts not suitable for start up or small companies. It consumes more time, If any changes needed then we have to start from the scratch.

*Agile.

It prioritizes cross functional collaboration and continuous improvement. We can divide project into smaller phases and do our work with planning, execution and evaluation. Small and start up companies mostly use this model. We can easily made changes to the project it its needed.

Main difference Between waterfall and Agile is SCRUM. In Agile we have one more person called Scrum, Its a lightweight, Agile development framework. While Waterfall is a rigid structure process.

Differences are:

\>Agile is assonantal and incremental, while waterfall is linear and sequential.

\>We need to work as an team in Waterfall model. while, Agile empowers collaboration.

\>We are not able to make changes often, while In Agile we can do any changes whenever we want.

\>Waterfall breaks down development into isolated phases, while Agile involves repetitive cycles and allows us to run in parallel to handle multiple phases.

\>Waterfall requires teamwork to complete each phase before moving on, whereas, Agile will let us do multiple work on different phases.

\>Waterfall consumes More time, It takes months or years to complete. But Agile wont take that much of time.

\>Waterfall has low customer involvement, while Agile focuses on collaboration and customer satisfaction.

\>Agile is more expensive compared to Waterfall.