Agile is an iterative development process that allows for concurrent development and testing. Testing is not a distinct step; coding and testing are done collaboratively and gradually, resulting in a high-quality end product that fulfills customer expectations. Furthermore, continuous integration helps in early fault eradication, saving time, effort, and money.

1. Definition

Agile testing is a software testing technique that adheres to agile software development concepts.

Agile testing incorporates all members of the project team, with testers providing specialized knowledge. Testing is not a discrete step; it is intertwined with all phases of development, including requirements, design, coding, and test case generation. Testing occurs concurrently throughout the Development Life Cycle.

Furthermore, with testers engaging throughout the whole Development Lifecycle alongside cross-functional team members, testers will be able to contribute to producing software that meets client needs with superior design and code.

Agile testing encompasses all levels and types of testing.

2. Principles of Agile Testing
  • Testing propels the project ahead – The only way to assure continual progress is via constant testing. Agile Testing offers continuous input, and the final product fulfills business requirements.
  • Testing is not a phase – the Agile team tests with the development team to guarantee that the features introduced during a particular iteration are completed. Testing is not saved until a later stage.
  • Everybody test – The application is tested by the entire team, including analysts, developers, and testers, in agile testing. Even the customer undergoes User Acceptance Testing after each iteration.
  • Shortening Feedback Loops – In Agile Testing, the business team learns about product development with each iteration. Every iteration includes these. Continuous feedback reduces the time it takes to respond to input, lowering the cost of addressing it.
  • Keep the Code Clean – Defects are repaired as they are discovered within the same iteration. This guarantees clean code at every stage of development.
  • Lightweight Documentation− Instead of comprehensive test documentation, Agile Tester:
  • Use reusable checklists to suggest tests.
  • Concentrate on the main point of the test rather than the minor nuances.
  • Use simple documentation styles and tools.
  • Test concepts should be captured in charters for exploratory testing.
  • Documents can be used for a variety of purposes.
  • Using a single test artifact for manual and automated tests – The same test script artifact may be used for both human and automated testing. This eliminates the need for manual test documentation followed by an automation test script.
  • “Done Done,” not simply done – In Agile, a feature is stated to be done after development and testing, not after development just.
  • Test-First vs. Test-Driven – Along with the requirements, test cases are written. As a result, testing can drive development. This method is known as Test Driven Development (TDD) or Acceptance Test Driven Development (ATDD) (ATDD). This is in contrast to Waterfall Testing, which has testing as the final phase.
  1. Agile Testing activities

The Agile Testing Activities at the Project Level are as follows:

  • Release Strategy (Test Plan)
    • In each Iteration,
    • Iterational Agile Testing Activities
  • Regression Analysis
  • Activities for Release (Test Related)

The Agile Testing Activities during an iteration include:

  • Participating in iteration planning
  • Estimating tasks from the view of testing
  • Writing test cases using the feature descriptions
  • Unit Testing
  • Integration Testing
  • Feature Testing
  • Defect Fixing
  • Integration Testing
  • Acceptance Testing
  • Status Reporting on Progress of Testing
  • Defect Tracking
(Reference: tutorialspoint)

Leave a Reply

Your email address will not be published. Required fields are marked *