Agile Testing Interview Questions, Types of Agile Methodologies, Agile Manifesto, Scrum Methodology, Advantages and Disadvantages of Agile Software Development.
Agile Testing Interview Questions
Agile is a software development methodology or model like Waterfall model, V model, Spiral model, etc. Agile Testing is not a separate test type, it is testing in Agile software development.
1. What is Agile Testing?
Agile testing is a software testing practice that follows the principles of agile software development. It is an iterative and incremental software development methodology where requirements keep changing as per the customer needs.
Testing is done in parallel to the development of an iterative model. Test team receives frequent code changes from the development team for testing an application.
2. What is Iterative and Incremental Development in Agile?
Software development is done mainly in increments or more specifically, parts. In every single increment, a part of the complete requirement is to be delivered.
Software is known to be delivered after developing it, to the customer. Based on the feedback, the software is again developed in cycles and released in sprints.
3. What are the different types of Agile Methodology?
Agile is not a single methodology, it is an umbrella term and it has several methodologies.
- Extreme Programming (XP)
- Dynamic Systems Development Method (DSDM)
- Feature Driven Development (FDD)
- Lean Software Development
- Scaled Agile Framework (SAFe)
4. What is Re-factoring?
To improve the performance, the existing code is modified; this is re-factoring. During re-factoring the code functionality remains same.
5. What is Agile Manifesto?
Agile manifesto defines 4 key points:
i. Individuals and interactions over process and tools
ii. Working software over comprehensive documentation
iii. Customer collaboration over contract negotiation
iv. Responding to change over following a plan
6. What are the principles of Agile testing?
The important principles of agile testing are:
i. Team Work or collective work: Not only testers but developers, business analysts can also perform software testing.
ii. Continuous Testing: Testing should be conducted continuously by the Agile team to ensure continuous development progress.
iii. Continuous Feedback: This process generally encourages taking feedback from clients to make sure that the product meets the requirements of the client or customer.
iv. Clean Code: Quality of software is maintained as the team tests the software to ensure that the code is clean, simple, and tight. All errors and defects that are found during the testing phase are fixed quickly within the same iteration by the Agile Team.
v. Less Documentation: This process usually involves the usage of reusable checklists instead of lengthy documentation.
vi. Test-Driven: In other conventional methods, testing is only performed after the implementation but in agile testing, testing is done during the implementation so that errors or any issues can be removed on time.
vii. Customer Satisfaction: During the agile testing process, development progress is being shown to clients or customers so that they can adapt and update their requirements. This is done to ensure customer satisfaction.
7.What are some Agile metrics that need to be focused on?
- Lead time
- Cycle time
- Code quality
- Code covered in unit test
- Deployment success rate
- Net promoter score
8. What is Scrum?
Scrum is a framework of rules, roles, events, and artifacts used to implement Agile projects. It is an iterative approach, consisting of sprints, this approach ensures that your team delivers a version of the product regularly.
9. What are the different roles in Scrum?
A Scrum team consists of three roles: the Scrum Master, the product owner, and the development team.
i. Scrum Master
A Scrum Master is responsible for ensuring a Scrum team is operating as effectively as possible with Scrum values. This means they keep the team on track, plan and lead meetings, and work out any obstacles the team might face.
ii. Product Owner
The Product Owner is responsible for maximizing return on investment (ROI) by identifying product features, translating these into a prioritized list, deciding which should be at the top of the list for the next Sprint, and continually re-prioritizing and refining the list.
iii. Development Team
A Development Team is a collection of individuals working together to develop and deliver the requested and committed product increments. It comprises of cross-functional members who are capable of achieving the sprint goals. This could include software engineers, architects, programmers, analysts, system admins, QA experts, testers, UI designers, etc.
10. What is the difference between the agile and traditional way of development?
The traditional way of development is that which follow the sequential where design -> development -> testing etc. is performed whereas, in agile development, all of this is done in every iteration/sprint.
11. Why does Agile encourage the use of automated testing for projects?
Due to faster possible delivery of the project, the Agile development encourages to use automated testing.
12. What is test driven development (TDD)?
Test driven development or TDD is also known as test-driven design. In this method, developer first writes an automated test case which describes new function or improvement and then creates small codes to pass that test, and later re-factors the new code to meet the acceptable standards.
13. What is Spike?
There may be some technical issues or design problems in the project which needs to be resolved first. To provide the solution to this problem “Spikes” are created.
14. Name some Agile quality strategies?
Some Agile quality strategies are-
- Small feedback cycles
- Dynamic code analysis
15. User Stories in Agile Software Development?
In Agile software development and product management User Story refers to a short, informal, and simple description of software features that are required by the end-users in the software system.
Agile Testing Interview Questions