1) As a tester what should be your approach when requirements change continuously?
When requirement keeps changing, continuously agile tester should take following approach
- Write generic test plans and test cases, which focuses on the intent of the requirement rather than its exact details
- To understand the scope of change, work closely with the product owners or business analyst
- Make sure team understand the risks involved in changing requirements especially at the end of the sprint
- Until the feature is stable, and the requirements are finalized, it is best to wait if you are going to automate the feature
- Changes can be kept to a minimum by negotiating or implement the changes in the next sprint
2) List out the pros and cons of exploratory testing (used in Agile) and scripted testing?
|Exploratory Testing||– It requires less preparation- Easy to modify when requirement changes- Works well when documentation is scarce||– Presenting progress and Coverage to project management is difficult|
|Scripted Testing||– In case testing against legal or regulatory requirements it is very useful||– Test preparation is usually time-consuming- Same steps are tested over and again- When requirement changes it is difficult to modify|
3) Explain the difference between Extreme programming and Scrum?
|Scrum||Extreme Programing (XP)|
|– Scrum teams usually have to work in iterations called sprints which usually last up to two weeks to one month long||– XP team works in iteration that last for one or two weeks|
|– Scrum teams do not allow change into their sprints||– XP teams are more flexible and change their iterations|
|– In scrum, the product owner prioritizes the product backlog but the team decides the sequence in which they will develop the backlog items||– XP team work in strict priority order, features developed are prioritized by the customer|
|– Scrum does not prescribe any engineering practices||– XP does prescribe engineering practices|
4) What is an epic, user stories and task?
Epic: A customer described software feature that is itemized in the product backlog is known as epic. Epics are sub-divided into stories
User Stories: From the client perspective user stories are prepared which defines project or business functions, and it is delivered in a particular sprint as expected.
Task: Further down user stories are broken down into different task
5) Explain 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
6) Explain how you can measure the velocity of the sprint with varying team capacity?
When planning a sprint usually, the velocity of the sprint is measured on the basis of professional judgement based on historical data. However, the mathematical formula used to measure the velocity of the sprint are,
- first – completed story points X team capacity: If you measure capacity as a percentage of a 40 hours weeks
- Second – completed story points / team capacity: If you measure capacity in man-hours
For our scenario second method is applicable.
7) Mention the key difference between sprint backlog and product backlog?
Product backlog: It contains a list of all desired features and is owned by the product owner
Sprint backlog: It is a subset of the product backlog owned by development team and commits to deliver it in a sprint. It is created in Sprint Planning Meeting
8) In Agile mention what is the difference between the Incremental and Iterative development?
Iterative: Iterative method is a continuous process of software development where the software development cycles are repeated (Sprint & Releases) till the final product is achieved.
Release 1: Sprint 1, 2… n
Release n: Sprint 1, 2….n
Incremental: Incremental development segregates the system functionality into increments or portions. In each increment, each segment of functionality is delivered through cross-discipline work, from the requirements to the deployment.
9) Explain what is Spike and Zero sprint in Agile? What is the purpose of it?
Sprint Zero: It is introduced to perform some research before initiating the first sprint. Usually this sprint is used during the start of the project for activities like setting development environment, preparing product backlog and so on.
Spikes: Spikes are type of stories that are used for activities like research, exploration, design and even prototyping. In between sprints, you can take spikes for the work related to any technical or design issue. Spikes are of two types Technical Spikes and Functional Spikes.
10) What is test driven development?
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.
11) Prototypes and Wireframes are widely used as part of?
Prototypes and Wireframes are prototypes that are widely used as part of Empirical Design
12) Explain what is Application Binary Interface?
Across different system platforms and environments a specification defining requirements for portability of applications in binary form is known as Application Binary Interface
13) Explain in Agile, burn-up and burn-down chart?
To track the project progress burnup and burn down, charts are used
Burnup Chart: It shows the progress of stories done over time
Burndown Chart: It shows how much work was left to do overtime
14) Explain what is Scrum ban?
Scrum ban is a software development model based on Scrum and Kanban. It is specially designed for project that requires frequent maintenance, having unexpected user stories and programming errors. Using these approach, the team’s workflow is guided in a way that allows minimum completion time for each user story or programming error.
15) What is story points/efforts/ scales?
It is used to discuss the difficulty of the story without assigning actual hours. The most common scale used is a Fibonacci sequence ( 1,2,3,5,8,13,….100) although some teams use linear scale (1,2,3,4….), Powers of 2 (1,2,4,8……) and cloth size (XS, S ,M,L, XL)
16) Explain what is tracer bullet?
The tracer bullet is a spike with the current architecture, the current set of best practices, current technology set which results in production quality code. It is not a throw away code but might just be a narrow implementation of the functionality.
17) What is a test stub?
A test stub is a small code that replaces an undeveloped or fully developed component within a system being tested. Test stub is designed in such a way that it mimics the actual component by generating specifically known outputs and substitute the actual component.
18) What are the differences between RUP (Rational Unified Process) and Scrum methodologies?
|– Formal Cycle is defined across four phases, but some workflows can be concurrent||– Each sprint is a complete cycle|
|– Formal project plan, associated with multiple iterations is used.||– No end to end project plan. Each next iteration plan is determined at the end of the current iteration|
|– Scope is predefined ahead of the project start and documented in the scope document. During the project, scope can be revised.||– It uses a project backlog instead of scope scrum|
|– Artifacts include Scope Document, formal functional requirements package, system architecture document, development plan, test scripts, etc.||– Operational software is the only formal artifacts|
|– Recommended for long term, large, enterprise level projects with medium to high complexity||– Recommended for quick enhancements and organization that are not dependent on a deadline|
19) Why Continuous Integration is important for Agile?
Continuous Integration is important for Agile for following reasons
- It helps to maintain release schedule on time by detecting bugs or integration errors
- Due to frequent agile code delivery usually every sprint of 2-3 weeks, stable quality of build is a must and continuous integration ensures that
- In helps to maintain the quality and bug free state of code-base
- Continuous integration helps to check the impact of work on branches to the main trunk if development work is going on branches using automatic building and merging function
20) What testing is done during Agile?
The primary testing activities during Agile is automated unit testing and exploratory testing.
Though, depending on project requirements, a tester may execute Functional and Non-functional tests on the Application Under Test (AUT).