Sunday, July 7, 2019

Agile Testing interview questions and answers

1. What is Agile Testing?

Agile Testing takes place in an environment where requirements keep changing according to the need of the customer. In this model, the testing and development activities are concurrent and the testing takes place throughout the development of the software. The testing team keeps receiving frequent small codes from the development team for testing.

2. What are the principles of agile testing?

The agile testing is based on following principles:

Deliver value to the customer

Deliver working software frequently

Simplified and clean code

Practice continuous improvement

Respond to change

Focus on face to face conversation

Less documentation

Customer and developers work together collectively

Promote sustainable development

3. When not to use Agile?

The Project with a fixed scope and have everything pre-defined with little to no uncertainty don't require Agile methods.

4. When to use agile model?

We can use agile model when the project is large, undefined, complex with unclear requirements. Agile methods are best suited for the project that requires frequent inspection by client so teams and stakeholders can assess and re-prioritize as needed to deliver the most value.

5. What are the disadvantages of the agile model?

Agile model is not the right approach for every project. Here are some leading disadvantages of using agile model:

In case of large and complex project, proper design and documentation is must. Agile model pays less attention for designing and documentation.

For a project to adopt Agile methods, experienced resources are required to take decisions to incorporate changes.

Agile method succeeds only when client is clear about their requirements. In absence of that there is a chance for messing up the project.

With Agile, cost of Project is little more compared to other development methodologies.

6. Explain the difference between traditional Waterfall model and Agile testing.

In Agile testing, the testing and development activities are concurrent and the testing takes place throughout the development of the software whereas in traditional waterfall model testing is done at the end of the development.

Agile follows an incremental approach while Waterfall is a sequential design process.
In Agile methods, project development lifecycle is divided into sprints whereas in case of Waterfall model, Software development process is divided into distinct phases. 

Agile is a flexible approach where changes are welcome throughout the project cycle.
However, in a waterfall model, it is defined only once by the business analyst.

7. What is Scrum?

Scrum is the most popular agile framework that organizes software developers as a team to address complex problems. A Scrum Team delivers a product iteratively and incrementally while focusing on quick and frequent deliveries. 

In Scrum, a project moves forward via a series of iterations called sprints. A Sprint is nothing but one development cycle in Scrum and each sprint is typically two to four weeks long.

A Scrum Team comprises of three members - the Product Owner, the Development Team and the Scrum Master.

8. What are the main roles in the scrum?

The main roles in the scrum are:

Development team: The Development team comprises of individuals who work together to develop and deliver the product increments.

Scrum master: A scrum master is a facilitator responsible for the proper execution and working of the entire team. 

Product owner: Product Owner is like a spokesperson for customer. He is responsible for the Return on Investment (ROI) of the product.

9. What is Scrum ban?

Scrum ban is a software development model based on Scrum and Kanban. It is basically the combination Kanban and scrum. It is specially designed for project that requires frequent maintenance, having unexpected user stories and programming errors. Using this model, minimum completion time for user stories can be reduced.

10. What is Kanban?

Kanban is a visual workflow management tool that helps the team to overlook the complete status of your project. It identifies a perfect picture of the bottleneck, a task done and workflow progress of a project.

Kanban encourages work to be broken down into manageable chunks and uses a Kanban Board just like Scrum Board to visualize that work as it progresses through the work flow.

11. Describe the places where ‘Scrum' and ‘Kanban' are used.

Scrum and Kanban are both iterative work systems that rely on process flows and aim to reduce waste. Both Scrum and Kanban are two different agile project management methodologies with some different traits.

In Kanban, there are no pre-defined roles for a team whereas within the Scrum Framework three roles are defined namely Scrum Master, Product Owner and Team Members. 

Scrum limits the amount of time allowed to accomplish a particular amount of work using sprints, Kanban limits the amount of work allowed on the to-do list.

12. What is Velocity in Agile?

Velocity is a measure of the amount of work that can be completed in each iteration. It is a simple calculation measuring units of work completed in a given timeframe.

Velocity in Agile helps predicting how much work Agile can complete in a sprint and how much time will require to complete a project.

13. Explain the difference between burn-up and burn-down chart.

Both these charts are used to keep track of the progress of the project. Burn-up charts represent how much work has been completed in any project whereas Burn-down chart represents the remaining work in a project.

14. What is re-factoring?

Re-factoring is modification of existing code to improve the performance while preserving its functionality or behavior.

15. Explain the difference between sprint backlog and product backlog.

Product backlog: The product backlog is compiled of all features to be incorporated to complete the whole project. It breaks down each of the items on the list into a series of steps that help the development team. 

Sprint backlog: It is a subset of the product backlog owned by development team. It is a list of tasks identified by the Scrum team to be completed during the Scrum sprint.

16. What is Release candidate?

A release candidate is a version of a program or software released internally for testing purposes to check if any defect has gone undetected. It is a beta version with potential to be a final product unless fatal bugs emerge.

No comments:

Post a Comment

Get max value for identity column without a table scan

  You can use   IDENT_CURRENT   to look up the last identity value to be inserted, e.g. IDENT_CURRENT( 'MyTable' ) However, be caut...