A3 Features of testing for different software development methodologies The testing, approaches and features of different software development methodologies.
•
Approach and features of testing in an Agile (scrum) development methodology,
including:
o
software requirements specification, e.g. outlining functional and
non-functional requirements translated from business needs, user interface
mock-ups
o
test scripts and test cases developed from the created user stories to define
and test user functionality in the software
o
advantages and disadvantages of testing using the Agile methodology
–
advantages include flexibility of the project for change, encouragement of
stakeholders in a project, constant team involvement and communication,
and improvement is continuous as lessons are learned through reviews
–
disadvantages include planning of the delivery date is estimated based on the
complexity of work, team members must be experienced, more time is required
for planning
o
Agile methodology is often used when there is scope for change from the client,
and the product evolves through its development and deployment life cycle.
•
Approach and features of testing in a waterfall development methodology, including:
o
testing as a final phase only after the development of the product is complete,
the effect of development work has little impact on testing
o
advantages and disadvantages of testing using the waterfall methodology
–
advantages include easy forwards and backwards planning, visible output at
the end of the process, provides a base product to move forward with future
development
–
disadvantages include lack of flexibility to cater for change due to impacts in
time, resource and budget, potential to derail the entire project should
undefined risks and constraints arise
o
waterfall methodology is often used when the client’s requirements are well
defined, the technology is understood and for a new version of an existing
product.
•
Approach and features of testing in a kanban development methodology, including:
o
testing after the development of the feature is complete, testing takes place in a
post-development and pre-production phase
o
work is completed ‘just-in-time’ so testing must follow that, testing is carried out
per work item, rather than on a whole project. Regression testing should be
performed on the complete product before delivery
o
advantages and disadvantages of testing using the kanban methodology
–
advantages include the continuous delivery during the development phase.
Changes in scope are flexible and as needed like Agile, but also not as strict
as waterfall
–
disadvantages include lack of work causes downtime for the development team,
not suited to research and development projects where work is not imminent,
not suited to projects that require detailed planning
–
kanban is often used where issues and features are required in products
already in the deployment or maintenance phase, where a new implementation
is not essential but add-ons or patches are required as part of a continuous
just-in-time process.