Explore topic-wise InterviewSolutions in .

This section includes InterviewSolutions, each offering curated multiple-choice questions to sharpen your knowledge and support exam preparation. Choose a topic below to get started.

51.

Is sprint backlog the subset of product backlog? What are the goals and deviations of the set and subset like sprint and product backlog?

Answer»

The Product Backlog contains an essential list of items that are necessary for INTEGRATING into the product. Sprint backlogs are considered to be the subset of the product backlogs. As the sprint backlog is derived from the product backlog. 

Following are the differences between the Product Backlog and Sprint Backlog 

Product Backlog
Sprint Backlog
It is the list of all the items that are required to complete the development of the product.
The sprint backlog is the subset of the product backlog. The items are extracted from the backlog to complete and are created as sprints. Sprints are the subset of product backlog.
The Product OWNER is responsible for the product backlog; He prioritizes and refines the items as required.
The Development team is responsible for the Sprint Backlog. They are responsible to complete all the items within the fixed timebox.
The entire goal of the product is captured in the Product Backlog.
The sprint backlog is limited to the Sprint goal in that particular Sprint.
Product Backlog can vary as per the changes in the business case or customer requirements.
The sprint goal will remain the same throughout the sprint.
The entire list needs to be completed to develop the product.
A subset of the product backlog needs to get completed during sprints.
Consists of product features and Stories.
Sprint backlog acts as a to do list. The development team breaks the user stories into SEPARATE and manageable tasks and these tasks should be completed within the specified timebox.
The product backlog has to be MAINTAINED till the entire project is closed.
Every NEW sprint gets a new backlog and needs to be completed within the stipulated time.


52.

What do you mean by refactoring in Agile Testing?

Answer»

Refactoring improves the INTERNAL structure of the program source code without changing its internal behavior. 

Pitfalls 

Refactoring would not mean

  1. Writing code again 
  2. Fixing bugs 
  3. Developing noticeable features of software such as its interface. 

Benefits of refactoring: 

  1. Refactoring ACCOMMODATES characteristics of length, duplication, coupling and adherence, complexity so that it can be easily maintained 
  2. Refactoring helps to UNDERSTAND the code in a better WAY 
  3. It encourages developers to understand DESIGN decisions in the context of collective and code 
  4. It promotes reusable of design elements and code modules 
53.

Explain Agile Testing Quadrants. Are quadrants merely a taxonomy to help teams plan their testing and make sure they have all the resources they need to accomplish it?

Answer»

Agile testing quadrants represent a helpful taxonomy to help agile teams to identify, plan and execute the testing and ensure that all resources are available to accomplish it. 

  • Quadrant Q1 - Unit level supports the developers. Developers perform unit testing and these tests can also be automatized  
  • Quadrant Q2 - It is to test the whole system with business processes and other systems. 
  • Quadrant Q3 − User Acceptance Level and focus on real-time scenarios. These tests are PERFORMED manually. User Acceptance Tests belong to this quadrant.  
  • Quadrant Q4OPERATIONAL Acceptance Level. Focus on Performance, Load, etc. Specialized instruments can be utilized for these tests along with automation testing.

54.

What are the differences between Agile and Scrum?

Answer»

Agile REFERS to a development methodology that takes an iterative and incremental development approach. Scrum, on the other hand, is the most popular Agile framework in use by organizations worldwide. In Scrum, the customer receives incremental builds every 2 to 3 weeks.  

Here are the differences between the two:  

  • Agile software development is thought to be best suited to situations with a small but highly skilled project development team, while Scrum is best suited for projects with quickly changing requirements. 
  • Leadership is extremely important in the Agile process, while Scrum encourages a cross-functional team that is also self-organizing. 
  • Agile is a more rigid method when compared to Scrum. As a result, there isn't a lot of room for regular modifications. Scrum's greatest benefit is its adaptability since it reacts fast to changes. 
  • Agile ENTAILS cross-functional collaboration and person-to-person interactions between members of the team. Collaboration is accomplished in Scrum by holding daily stand-up meetings in which the scrum master, product owner, and team members each have a specific role to play. 
  • Agile development may necessitate a significant amount of up-front systems and organizational modification. When implementing the Scrum process, however, there aren't many adjustments that need to be made. 
  • The agile process necessitates regular delivery of the product to the end-user for feedback. On the other hand, after every Scrum sprint, a build is sent to the client for review and feedback. 
  • All through the Agile lifecycle, every step of development, including requirements, analysis, and design, is continuously monitored. On the other hand, at the end of each sprint in Scrum, a demonstration of the functionality is given so that comments can be collected on a frequent basis before the next sprint. 
  • In the agile technique, the project leader is in charge of all TASKS. Because there is no team leader in Scrum, the difficulties or PROBLEMS are addressed by the entire team. 
  • The design and implementation should be kept as simple as possible in Agile, while experimental and innovative design and execution are possible in Scrum. 
  • The most basic indicator of progress in Agile is working software, whereas in Scrum, working software is not a basic criterion. 
55.

What is the Scrum of Scrums?

Answer»

Scrum of Scrums refers to a scalable agile technique for connecting several teams that need to collaborate to produce complex solutions. Whenever there are numerous teams working on a project, this TERM is used. It relates to the daily Scrum meeting's scalability. Every team is in charge of running and leading its own Scrum meeting in this case. 

Nevertheless, in order to maintain communication and coordination amongst all the MULTIPLE teams, a separate meeting with all of the teams needs to be held. This is what the "Scrum of Scrums" is all about. It enables teams to design and deliver complicated products at scale by facilitating openness, inspection, and adaptation. 

It is most successful when all effective Scrum team members work towards one goal, trust and respect each other, and are FULLY aligned. The bigger the NUMBER of lines of communication between members of the team, the more difficult it is to build trust and a single goal. As a result, dividing a big group into two or three smaller groups can aid in the development of interpersonal relations and the achievement of desired results. 

Coordination is required when many teams are formed to achieve a common goal. This is what necessitated the creation of Scrum of Scrums. Scrum of Scrums teams not only coordinate delivery but also ensure that a completely integrated product is delivered at the end of each sprint. As a result, Scrum of Scrums serves as a release team RESPONSIBLE for delivering value to clients. This strategy is generally used as a first step in scaling Agile and organizing delivery of larger and more complicated products. 

56.

What is pair programming?

Answer»

Pair programming refers to a practice in agile software development where two PROGRAMMERS work together in one workspace to enhance efficiency. One programmer develops the code as the other observes reviews it. The two programmers regularly switch duties. 

There are a number of benefits of taking this approach. These include: 

  • More effective. Rather than having two programmers work independently on two different projects, you effectively combine their efforts to create a single application. 
  • There are less code errors. It results in better code since another programmer is reviewing your work. It enables one programmer to concentrate on the code being written as the other attends to other concerns. 
  • A good approach to CONVEY information. It is an approach that enables programmers to receive immediate face-to-face coaching, which would be far superior to online tutorials and QUICKER than searching the Internet for information. Highly advanced programmers could also teach developers best practices and improved methodologies. It can also help two programmers form mentoring ties. 
  • Improves the interpersonal abilities of your employees. Working together on a single project teaches your team the importance of teamwork and communication. 

There are some drawbacks of taking this approach which include: 

  • During a paired session, both programmers have to always be actively engaged with the project. If this does not happen, no gain will be achieved. 
  • The stakes are HIGHER if both programmers miss an error during the programming process. 
  • Relationship issues between the programmers MAY become a hindrance to pairing successfully. 
57.

What is Kanban in Agile?

Answer»

Kanban is a well-known FRAMEWORK for Agile and DevOps software DEVELOPMENT. This is a tool that assists the team in keeping a careful tab on the task and determining its development. Kanban necessitates real-time capacity communication and complete work transparency. On a Kanban BOARD, work items are visually depicted, enabling members of the team to see the status of each piece of work at any moment. 

The Kanban board allows you to have the entire project scenario in one spot, giving you a clear image of the bottlenecks, COMPLETED tasks, and progress of the workflow. It enables the team to deliver a product on a consistent basis without being overburdened. Visualizing procedures and decision-making guidelines will aid in the proper execution of tasks and make it possible for different teams to discover and specify process changes. In addition, all project teams will be able to track their progress in real-time and select what to concentrate on first and what to undertake next. 

Kanban methods first found acceptance in the manufacturing sector and have since been proven to drive success in Agile software development organizations. This methodology has just recently begun to be recognized by companies across diverse industries. Kanban strives to create a service-oriented mindset. It necessitates a deep understanding of your customer’s demands, the creation of a range of services where INDIVIDUALS self-organize around the task, and the continual evolution of your system. 

58.

An organization plans to hire a new agile tester. What should be the qualities of a good Agile tester?

Answer»

Listed below are the good qualities that an Agile tester should POSSESS.  

  1. Positive ATTITUDE and solution-oriented  
  2. Focused on achieving the goals fixed  
  3. Excellent communication SKILLS   
  4. Skills to understand the customer REQUIREMENTS 
  5. Basic KNOWLEDGE about the Agile process and methodologies  
  6. Critical and creative thinking skills 
  7. Ability to share new ideas  
  8. Ability to plan and prioritize work as per requirement  
  9. Flexible enough to cope up with any change 
59.

What is lean methodology in Agile?

Answer»

The "Just in Time Production" philosophy is followed by the lean software development process. Its goal is to speed up software development while lowering costs. Lean is based on the principle of reducing non-value-added processes while increasing customer value. The agile process is a lean software development lifecycle method in and of itself. 

Backlog grooming and code refactoring, on the other hand, suit agile approach better with lean concepts. Backlog grooming is the process of ensuring that the right items are in the backlog, that they are properly prioritized, and that those at the front of the backlog are ready to be DELIVERED. In summary, the Lean methodology dictates that everything that does not provide value must be eliminated. 

Removing waste entails not just the elimination of ineffective working methods like multitasking, but also the elimination of unnecessary tasks, meetings, and documentation. Here are some change concepts as a result of lean methodology: 

  • Demand should drive production rather than supply. It is a matter of doing something once someone asks for it INSTEAD of first doing it and then HOPING that it will be needed by someone later. 
  • In order to take advantage of ECONOMIES of scale, production should be done in small batches. 
  • Taking the time to concentrate on quality also boosts output and efficiency. 
  • Employers, and not managers, are in charge of determining how employees will work. 
  • Rather than simply repeating predefined duties, WORKERS must constantly improve their working methods, in a process known as "Kaizen". 
60.

What are the differences between sprint backlog and product backlog?

Answer»

The Product Backlog is an important list of items that includes everything that needs to be included in the final product. It consists of all of the Development Team's ideas, as WELL as the requirements of the Stakeholders, Product Owners, and others. 

It serves as a source of prerequisites for product adjustments that must be MADE. Because all Sprint Backlogs are sourced from Product Backlogs, they can be regarded a subset of Product Backlogs. The Scrum process adds features and updates to the product in Sprints. 

Here are the differences between these TWO backlogs: 

  • The product backlog is a list of all the tasks that must be done before the final product may be created. The sprint backlog, on the other hand, is a list of all the items from the Product Backlog that must be done in ORDER for the Sprint to be completed. Also included is a strategy for converting the selected elements to an Increment. 
  • The Product Owner has the responsibility of gathering, prioritizing, and refining the Product Backlog items. On the other hand, the Development Team is in charge of developing the Sprint Backlog and working on it in order to finish the Sprint on time. 
  • The Product Backlog is dedicated to the product's overall goal while the Sprint Backlog solely pertains to the Sprint goal for that Sprint. 
  • Depending on the customer's vision, there may be opportunities to alter the product backlog. On the other hand, the Sprint Goal will not change throughout the Sprint, but the Sprint Backlog may change depending on the Sprint. 
  • The Product Backlog is the entire collection or list of tasks that must be accomplished in order to fully DEVELOP the product. The Sprint Backlog is a subset of the Product Backlog that gets finished in a Sprint. 
  • The Product catalog has nothing to do with the Sprint Backlog, whereas the Product Backlog is the sole determinant of the Sprint Backlog. 
61.

What does refactoring mean in Agile?

Answer»

Re-factoring refers to a process that involves changing or modifying the internal structure of software without affecting its external functionality or behavior. Developers alter the CODE or experiment with it in order to enhance and improve the software's underlying structure. Red-Green refactoring is among the most popular and commonly used refactoring strategies in agile software development.

The refactoring process improves the readability, understandability, and cleanliness of the code. Refactoring on a regular basis makes it easier to expand and maintain code. The purpose of software development is to provide users and stakeholders with commercial value on a constant basis. It is challenging to retain and CONTINUALLY grow business value because technology is continuously changing, and corporate objectives are changing as well.

There are two possible future paths which include continuing to add new capabilities to a pre-existing code base, eventually resulting in an error-prone "throw-away" condition or modifying the system on a regular basis to ensure that it is capable of efficiently delivering not only present but also future business value.

Refactoring, the SECOND option, is preferable. The usable life of an enterprise's software assets can be stretched out as long as necessary with continual refactoring. This means that customers can continue to get a value stream for YEARS AHEAD. Refactors allow for an emergent design to guarantee that the system meets future business requirements.

62.

What are the advantages and disadvantages of using the Agile process?

Answer»

The advantages of the Agile process include: 

  • Conversations with team members and consumers are on a one-on-one basis 
  • Gives attention to good design and technical excellence. 
  • Continuous development allows for client and project team engagement and interaction, ensuring and promoting customer happiness. 
  • Customer or end-user feedback is RECEIVED more quickly. 
  • Errors in the code are quickly identified and eliminated. 
  • Agile projects are divided into sprints or iterations, which are short and repeatable phases that last between one and four WEEKS
  • It is simple to manage and gives you additional options. 
  • Agile is good for projects with an undefined goal that becomes clearer as the project continues. 
  • The process involves all stakeholders such as testers, clients, and developers, and leads to the technical proficiency and great design. 
  • Its adaptability ensures that it can adjust to changing conditions. Changes made at the last minute or at a subsequent development stage can be easily implemented. 

The disadvantages of using the Agile process include: 

  • There is a scarcity of formal design and documentation. 
  • Estimating resource requirements and effort is difficult. 
  • It's not ideal for small-scale development initiatives. 
  • In comparison to other development approaches, it is more EXPENSIVE
  • It will take more time and effort from everyone. 
  • There is the danger of the project never ending, as new requirements keep getting added. 
  • Major projects are difficult to scale. 
  • Testing and test construction are difficult. 
  • Whenever software deliverables are vast, determining the effort level necessary at the start of the software development lifecycle can be difficult. 
  • Experience and SENIORITY are required for critical decision-making in the product development process. As a result, freshers have a difficult time finding a POSITION in the agile software development process. 
63.

Does the Agile Model have any drawbacks?

Answer»

Yes, the Agile methodology has some limitations, some of which are as follows: 

  • Poor resource planning. Predicting the amount of effort REQUIRED to finish a task is difficult. It becomes even more challenging in the case of huge projects because it is difficult to estimate the overall effort necessary. 
  • It's not always possible to devote enough TIME and attention to the project's design and documentation. 
  • There is a scarcity of documentation. Documentation occurs throughout an Agile project and is frequently "just in time" for generating the output, rather than from the start. As a result, it gets less detailed and frequently falls to the bottom of the priority LIST
  • The output is fragmented. INCREMENTAL delivery may help get goods to market quicker, but it's also a major drawback of Agile. This is because when teams are working on distinct components in different cycles, the final product is OFTEN fragmented rather than a single entity. 
  • There is no conclusion in sight. It's easy to get side-tracked offering new, unanticipated functionality because Agile needs less planning at the start. Furthermore, because there is never a clear idea of what the "finished result" looks like, projects have no clear end. 
  • The final project may not meet the customer's expectations if the client's requirements are not well grasped. As a result, the customer will be dissatisfied. 
  • Only a leader with extensive knowledge of Agile methodology is capable of making critical judgments. Members of the team with minimal or no experience do not participate in decision-making and hence do not have the opportunity to expand their knowledge. 
  • Measurement is difficult. Because Agile works in chunks, tracking progress necessitates looking over multiple cycles. As a result, you won't be able to specify many KPIs at the start of the project. 
64.

What are the differences between Agile Methodology and Traditional Methodology of software development?

Answer»

Agile Software Development is an iterative method for developing complex software. This strategy allows project teams to become more flexible while still ensuring that the end product MEETS the customer's needs. It creates customer-focused products and delivers them in shorter timeframes.  

Traditional software development, on the other hand, is a method for creating simple software that follows a linear path. All parts of the process are normally carried out in this methodology in a SEQUENTIAL order. It is better suited to projects in which the scope of changes is limited. 

Here are some of the differences between these two approaches: 

  • Agile Methodology emphasizes customer collaboration, flexibility, teamwork, and features, while Traditional Methodology emphasizes upfront planning and prioritizes aspects such as scope, cost, and TIME
  • In Agile Methodology, testing is frequently done concurrently with development, while in Traditional Methodology, testing is normally done towards the end of the development process. 
  • The Agile Methodology tests small features while the Traditional Methodology tests the entire application. 
  • Agile Methodology involves a number of stakeholders, including customers, while Traditional Methodology does not include all stakeholders. 
  • In Agile Methodology, testers and developers collaborate to achieve a common GOAL, while in Traditional Methodology, developers and testers work separately. 
  • In Agile Methodology, customers are involved at every step of the process, while in Traditional Methodology, customers are solely involved at the requirement phase. 
  • In COMPARISON to traditional procedures, agile processes are more flexible and focused. 
  • Agile Methodology is better suited to tasks that are huge or complex while Traditional Methodology is better suited to undertakings that are tiny and simple. 
65.

What are the roles or accountabilities in Scrum?

Answer»

The Scrum Master, the Product Owner, and the Developers are the three main ROLES in Scrum. The three roles undertake specific responsibilities and obligations to enable teams to deliver work effectively. As the basis of Scrum is self-organization, empiricism, and CONTINUAL improvement, teams take ownership of how they structure themselves and CONTINUE to improve. 

The Scrum Master is essentially the leader of the team or supervisor in CHARGE of making sure that the Scrum team completes all of the tasks that have been assigned to them. The Scrum Master collaborates with the Scrum team to guarantee that each sprint is completed in a timely manner and that the team's workflow is in order. 

The Product Owner is essentially a project stakeholder who is in charge of managing the product backlog. He or she is also in charge of defining the team's vision and goals. The Project Owner works with customers and end-users to gather requirements that the team can use to design the BEST product possible. 

The Scrum Team is made up of individuals who are individually responsible for working together to achieve a certain project. It is the development team's responsibility to create genuine product increments and achieve sprint objectives. Every member of the team should be self-motivated, dedicated, and accountable for the work's high quality. 

66.

What are the different types of Agile Methodology?

Answer»

The FOLLOWING are some examples of Agile methodologies or frameworks that are extensively used around the world for software and project development: 

  • Scrum: This is a method for forming hypotheses, testing them, reflecting on the experience, and making improvements. Feedback, small teams, self-management, and work divided into sprints are all essential here. It works on a step-by-step basis. 
  • FDD (FEATURE-Driven Development): This entails the creation of software models every two weeks, as well as the design and development of each model feature. It is essentially an incremental and iterative software development process with the goal of delivering stable and functional products on time.  
  • Lean Software Development: This is a method of reducing waste and increasing value. It is primarily concerned with process efficiency in order to achieve the best results in terms of customer value. It is built entirely around two guiding principles which are continuous progress and respect for people. 
  • XP (Extreme Programming): XP stands for "extreme programming." Its main goal is to build higher-quality software while also improving the development team's quality of life. It is regarded as a flexible, low-risk, and cost-effective method of developing software that assures clients receive what they desire. This METHODOLOGY involves testing software from the beginning and collecting feedback in order to IMPROVE the process of development. 
  • The DSDM (Dynamic Software Development Method): This is a project management methodology that focuses on the entire project lifecycle. Its fundamental goal is to establish strong governance as the basis of project management. It is user-driven and maintains that changes to the project should be expected at all times. It also includes a comprehensive plan for delivering products on budget and on time. 
  • ASD (Adaptive System Development): This emphasizes the notion that PROJECTS should continually be adapting. It follows a three-part cycle that includes speculating, collaborating, and learning. 
  • Crystal Methodology: Instead of procedures, this focuses on the person and their interactions. It is regarded as among the most lightweight and adaptable techniques for program development. 
  • Kanban: Kanban projects are typically overseen by a board or table known as a Kanban Board. This board is a tool that allows members of the team to monitor workflow and track its progress. Its key goals are task management flexibility, continual improvement, and improved workflow. 
67.

What are the principles of Agile Testing?

Answer»

There are 7 main principles of Agile Testing. These include: 

  • Continuous Testing: To maintain continuous development progress, the Agile team should do testing on a regular basis. Unlike TRADITIONAL techniques, which need the testing team only to focus on product testing, the Agile testing approach involves the whole team where members contribute equally in the testing process. 
  • Continuous Feedback: Client feedback is often encouraged during this process to ensure that the product SATISFIES the customer's or client's needs. 
  • Less Documentation: Rather than lengthy documentation, this approach frequently incorporates the use of reusable checklists. 
  • Clean Code: The team ensures that the software is of high quality by testing it to make sure the code is simple, clean, and tight. The Agile Team SWIFTLY FIXES all mistakes and flaws discovered during the testing phase in the same iteration. 
  • Team Work: Software testing or application testing can be DONE by not only testers but also developers and business analysts. 
  • Test-Driven: Testing is done after implementation in other traditional approaches, whereas agile testing is performed during implementation so that any faults or difficulties can be addressed quickly. 
  • Customer Satisfaction: During the agile testing process, customers or clients are informed of development progress so they can adjust and revise their expectations. This is done to make sure that the customer is satisfied. 
68.

What is Agile Testing?

Answer»

Agile testing refers to a software testing procedure in which software is checked for faults, mistakes, and other issues. It is regarded as an important aspect of the development PROCESS since it allows developers and testers to collaborate as a team, improving overall performance. It also contributes to the timely delivery of high-quality products. All the members of an agile team who have specific skills and knowledge are included in order to guarantee the timely delivery of a product with frequent releases of new features. 

Agile testing is a process that relies on agile software development concepts. It is frequently done so that testers can spot and resolve issues EARLY on in project development. In agile testing, development, and testing happen at the same time. The tester's responsibility is to act as a developer, providing improvements, recommendations, and test cases to be incorporated in the application rather than just detecting FLAWS

Testers cover the entire product lifecycle with agile testing, but because of effective, continuous communication and regular interaction between customers and developers, the application MAY be provided quickly without affecting product quality. Instead of having a structured plan, the testers and developers REACT to sudden changes in the process and come up with quick solutions. 

69.

An eCommerce organization is working on a Payment Module. Currently, there are many eCommerce payment modules in the market. The stakeholders are innovating and conducting research on ways to beat the competition. They have planned rigorous changes and modifications for this module. What process or method of Agile testing should the organization implement to cope with these changes?

Answer»

Extreme programming is a software development methodology that can be used here. Its values, principles, and practices, and goals allow SMALL to mid-sized teams to deliver high-quality software. It helps the team to adjust, and evolve to changing requirements. 

Extreme Programming includes 

  1. Developing unit tests before coding. It encourages us to keep tests running at all times. The unit tests are automated and exclude defects at the BEGINNING, thus reducing the costs. 
  2. Evolve with a simple DESIGN to code the features and redesign when required. 
  3. Programming in pairs (called pair programming) i.e. One of them is at the keyboard, the other regularly ANALYSES, reviews and provides inputs. 
  4. Integrating and testing system developed recursively and a number of times a day. 
  5. Upgrading the product with minimal effort whenever it is required. 
  6. Getting customers involved all the time and receiving CONTINUOUS feedback. 
70.

An Agile tester wants to create a test plan. The tester is now aware of the steps, and wants help from the expert. The management brings in another third party for training, The expert provides the outline to the tester to create the Test plan. Elaborate on the steps for creating a test plan.  

Answer»

The Software testing process consists of various testing procedures and techniques. All these techniques are used to simplify the PROCESSES and improve efficiency. The implementation of AGILE testing procedures and techniques ensures high-quality delivery as the bugs are detected in the initial stage before the build is DELIVERED to the end customer.

In the current era, agile testing has gained a lot of acceptance as it provides better results in a shorter time. The test plan is written and UPDATED at every release.

Test plan in agile includes: 

  1. Scope of the testing 
  2. Blending new functionalities that need to be tested 
  3. Agile Testing/Levels types 
  4. Load testing and PERFORMANCE 
  5. Infrastructure 
  6. Risks Plan 
  7. Resource Planning 
  8. Milestones and deliverables 
     
71.

A Pharma Organization is working on a very important project. They have picked a cross-functional team and are toiling day and night to complete the tasks. Unfortunately, the agile tester moves on and resigns. The project hence starts suffering and the organization is in search of a tester who can join with immediate effect. The Management promises to resolve this issue on a war footing. What is the importance of an Agile tester and what is their role in projects?

Answer»

Agile TESTERS play a very important role in maintaining the quality of the product developed. They are REQUIRED to participate in project and development activities, and share their testing expertise and abilities. 

Agile Testers ensure that the following is in place: 

  1. There is proper use of available testing tools 
  2. Test environments and data are managed efficiently 
  3. Coaching/ Mentoring other team members in aspects of testing  
  4. Relevant responsibilities of testing are scheduled during the sprint release and PLANNING
  5. Test strategy is updated as and when required. 
  6. Cooperates with developers, customers, and stakeholders in interpreting requirements 
  7. Implements appropriate TESTS at the appropriate and RIGHT time and levels. 
  8. Reports defects and works with the team in resolving them. 
  9. Engages in sprint retrospective meetings proactively and suggests improvements. 
72.

A new member of a Scrum team wants to understand the Life Cycle of Agile Testing. Explain in detail the different stages.

Answer»

Agile is a set of practices that improve the efficiency of the software development process, TEAMS, and organization. With the help of self-managing and cross-functional teams, high-quality solutions are delivered. 

The Agile Project Life Cycle comprises the following: 

  • Sprint Planning: SPRINTS, which are time-boxed cycles in which a product increment of value is created, are at the core of Agile. Bigger tasks are fragmented into smaller MANAGEABLE chunks or fragments. The team has to complete their tasks within the agreed timeline.  
  • During the sprint planning event, the product owners, developers, testers, talk about the goals for the upcoming sprint. The team discusses their tasks, daily plan, obstacles, and impediments in daily scrum meetings. 
  • Creation of Test Cases: The testing team composes the test cases as provided in the functional requirements document(FRS) and project design documents. 
  • Test cases help to maintain quality and clean code. To prevent defects, documented test cases are handed over to the QA Manager and Developers for review. 
  • Verification and quality validation: Maintenance of quality is very important to reduce cost. Testers create test cases and validate them to maintain quality and efficiency. 
  • Product Maturity and stability: Agile is associated with iterative development. New requirements can be accepted and accommodated at any stage of the development process. It is also important to restrict requirement flow to ensure product stability. Testing teams validate the requirement changes and ensure that the product sustains stability. 
  • Regression testing and continuous deployment: Manual and automated test cases are executed for each story in the sprints, as an agile development process, in order to deploy PRODUCTS of high quality. 
73.

The Product Owner of a Pharma IT organization has decided to implement Agile testing, keeping in mind the dynamic nature of the projects. Explain different Agile testing methods which can be used.

Answer»

AGILE methodologies deploy continuous testing across iterations instead of only testing at the END, and result in products of superior quality.  

Below are different approaches to Agile testing: 

  • Behavior Driven Development (BDD) 
    • In this APPROACH, the testing is implemented on the expected behavior of the software created by the Agile TEAM
  • Acceptance Test-Driven Development (ATDD) 
    • In this approach, the testing is implemented on the acceptance criteria test cases created based on the communication between customers, developers, and testers. 
  • Test-Driven Development (TDD):  
    • In this approach, test cases are executed before developers start writing their code.
74.

An IT organization has understood the importance of Agile testing. They are well aware of its benefits. Agile testing not only helps in delivering the product quickly and on time, but also offers many more benefits. Outline the benefits of Agile testing as compared to the traditional testing methodology.  

Answer»

Old traditional development methodologies, such as WATERFALL, follow LINEAR sequential development/ testing processes. Agile testing offers more benefits than the old traditional testing methodologies. Testing using agile methodology ensures reduction in cost and the capability of delivering products of the highest quality that are in line with end-user EXPECTATIONS

Below are the benefits of Agile testing: 

  1. It ensures that testers are involved from the START of the project, are well aware of the requirements and know exactly what will be delivered in the next iteration. They are, therefore, able to prioritize their test cases and artifacts in accordance with work progress. 
  2. Testing is performed alongside the development work, and products are tested during the build. This early detection rescues FATAL escalations. 
  3. Agile testing is product-driven and requires less documentation. Continuous deployments, and regular feedback from the client ensures quality and hence saves time and money. 
  4. In this type of testing methodology, the testers have more time to write test cases as they are involved from the beginning. 
  5. Testing from the beginning, regular feedback, and continuous testing ensures that product build works as per the expectations of the client. 
  6. In this type of testing the fatal errors/ bugs are located early within the iterations before the product is delivered to the client, and this greatly reduces the cost of defects. 
75.

Organization ABC has just implemented the Agile methodology of testing. The Product Owner is not sure of the different Agile testing principles and requires help to understand how to go about it. What are the different Agile testing principles that the Product Owner must keep in mind?

Answer»

 Agile adopts an iterative development methodology where the scope is defined through collaboration between the customer’s NEEDS and SCRUM teams.

Organization ABC has just implemented the Agile methodology of testing. The product owner should consider some principles of the agile testing processes which are given below: 

  1. Agile teams have to test continuously as it ensures progress of the product. 
  2. Testing provides feedback on a regular basis and ensures that the product meets the organization’s needs. 
  3. Tests are performed by the whole Agile team. The developers and BUSINESS analysts also test the product or application. 
  4. The business team is invited at the end of each iteration to provide feedback, and are therefore closely involved in the project progress. The team HENCE ensures that feedback response is on time. 
  5. Defects raised by the agile team are fixed in the same iteration and this helps in keeping the code clean, simple and scalable. 
  6. Agile teams use checklists that can be used iteratively. The team focuses on the test cases instead of details. 
  7. In Agile methods, testing is performed during the EXECUTION and development phase whereas, in the traditional process, the testing was performed after the development phase. 
76.

Organization XYZ is working on a new product, which is one that requires lots of innovation and research. The product requires a good amount of testing. The code needs to be tested properly before it is delivered. Which strategy needs to be implemented before we submit this type of product?

Answer»

In SIMPLE terms, the Test-Driven DEVELOPMENT (TDD) method focuses on formulating unit test CASES before forming the real code. It is an iterative approach and combines test cases and code. 

The TDD approach derives its roots from Agile Manifesto principles and Extreme programming. It is a mode that permits developers and testers to obtain optimized code that is flexible in the LONG term. 

Three phases of Test-Driven Development 

  1. Create specific test cases  
  2. Improve the Code after each unit test 
  3. Restructure the EXISTING Code 

77.

Lee is the Scrum Master for organization XYZ. Lee has helped his organization to adopt an Agile management strategy. Lee is aware that the Agile Manifesto is the foundation of Agile methodology, and knows that implementing Agile will impact Testing. How does the Agile Manifesto impact testing?

Answer»

The AGILE Manifesto, considered by many to be the Bible of all things Agile, lays out the foundation for Agile. It is a document that OUTLINES the central values and principles of Agile Software development. The four core Agile values help the team to improve their work processes. They help to improve upon the old traditional process which was not efficient and was so rigid that it could not easily handle changes.

The Agile Manifesto impacts Agile testers in many ways, which are outlined below:

  • Individuals and interactions over processes and tools: Testers have to work CLOSELY with customers, developers, and product owners so that they are aware of the scope and tasks that they are developing
  • Working software over comprehensive documentation: Testers do not have DETAILED documentation/ requirements handy using which they can test against. They have to carefully pen down and refine the acceptance criteria and carry out testing with the help of Scrum teams.
  • Responding to change over following a plan: Agile IMPLEMENTS an incremental approach and responds to changes in the scope at any point in time. Testers have to prioritize and reprioritize their tests, while at all times focussing on achieving the required goals of the customer.
  • Collaborating with customers over contract negotiation: Agile testers have to focus on stability, security, and new features that are in line with customers’ evolving needs.
78.

Company XYZ is working on creating a new Payment Method Module. The organization follows the Waterfall model for development and testing. What disadvantages are within the old traditional ways of Development and Testing?

Answer»

Agile adopts an iterative development methodology where the scope is defined through collaboration within the customer needs and Scrum teams.

The reason to adopt agile testing is to save money, time, and enable quick launch of the product in the market to BEAT the competition. Agile testing RELIES on continuous feedback from the end-user. Continuous feedback ensures building the right product, on time and within the customer’s expectations

Waterfall methodology FOLLOWS linear sequential development. Agile follows an incremental approach of development and continuous feedback. Continuous Testing is one of several consecutive key actions that TAKE place on most Agile projects.

Several activities that follow during Agile testing are as below:

  • Continuous Build;
  • Continuous Integration (CI);
  • Continuous Delivery (CD); and Continuous Deployment.

Benefits of Agile Testing

  • It Saves time and money
  • It demands less documentation
  • During the testing process, regular feedback from the end-user ensures quality
  • Daily meetings serve to RESOLVE issues well in advance.