Testing is an essential part of software development as it is used to verify and
validate the software. When Agile Software Development made its debut, it brought new
challenges in testing software. New agile testing methodologies and tools, which
complemented the Agile Manifesto and the twelve principles behind it, gained popularity.
Test-first approaches and more customer-involved testing methods were introduced and
became widely known among agile practitioners.
This document aims to provide a brief insight into traditional and agile software
development, agile practices and testing methodologies. It tries to show the benefits and
costs of using Test Driven Development or Behavior Driven Development as a software
development approach. The thesis consults on testing functional and non-functional
requirements using different tools with an emphasis on the importance of test automation.
It introduces some pitfalls that developers and project managers might encounter when
using different software development and testing methods.
I introduce the testing methodologies and tools by using them to test a simple Quiz
Game that utilizes the Spring Framework and has an online user interface as well.