A blog about Software Testing, Java Programming, and SQL. Manual Testing, Selenium, UFT, Java, and Database Technologies.
Agile Development Interview Questions and Answers
In agile environment, small features of software are delivered frequently, so testing activity should be parallel to development activity. Testing time is short as we are only testing small features.
In the waterfall model, there is a testing phase at the end of the development so, testing is a big effort done after the whole application is developed. Testing time is long as we have to test the whole application.
DSDM(Dynamic Software Development Method)
Feature driven development(FDD)
Lean software development
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
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
Individual and team interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Collective code ownership and freedom to change.
Incremental approach (e.g. user stories are incrementally implemented). Automation (e.g. TDD — Test Driven Development).
Customer focused (for e.g. internal and external users and business analysts are your immediate customers).
Design must be simple.
Designing is an ongoing activity with constant re-factoring to achieve the rules of code simplicity like no duplication, verified by automated tests, separation of responsibilities, and minimum number of classes, methods, and lines.
Scrum is ideally used where highly emergent or rapidly changing requirements. Scrum is basically worked on a self-organizing, cross-functional team. In the overall scrum team there is no team leader who assign the task to team rather whole scrum members work as a team they decides the task on which they will work on. Also the problem will be resolve by team.
Product Owner: Manages the product backlog. PO is the voice of the business and create new features to be developed for the application.
Scrum Master: Responsible for managing the sprint, remove any impediments and keeps track of the progress of the project.
Scrum Team itself: Composed of developers, designers and QA. This forms the team which is responsible for delivering high quality software.
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.
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.
Chartering: Various activities involved in this phase are creating a development team, performing a preliminary feasibility analysis, developing an initial plan and fine-tuning the development methodology
Cyclic delivery: The main development phase consists of two or more delivery cycles, during which the
ii. Implements a subset of the requirements through one or more program test integrate iterations
iii. Integrated product is delivered to real users
iv. Review of the project plan and adopted development methodology
Wrap Up: The activities performed in this phase are deployment into the user environment, post- deployment reviews and reflections are performed.
Burn up Chart: It shows the progress of stories done over time
Burn down Chart: It shows how much work was left to do overtime
To prevent defect:QA should advocate best practices along the way to prevent defects from entering the system in the first place.
To provide fast feedback: It is important for developers to know if the new functionality works as expected and if regression tests pass, and they need that feedback quite quickly. QA should provide the results of the tests to developers as soon as possible.
There is lack of emphasis on necessary designing and documentation.
The project can easily get taken off track if the customer representative is not clear what final outcome that they want.
Only senior programmers are capable of taking the kind of decisions required during the development process. Hence it has no place for newbie programmers, unless combined with experienced resources.