Agile Testing


Agile Testing

We follow a continuous iterative testing process where the testing is initiated early. Quality Assurance (QA) members work closely with the developers. QA participation is assured for the requirements gathering phase and analysis phase, so that they understand the real customer needs on a frequent basis. The following are the major 5 phases that the testing team will participate.

  • Release cycle definition stage
  • Identifying the functional and performance requirements that need to be tested
  • Planning and confirming which all tests to be performed
  • Organize, schedule and execute the tests and analyze the results
  • Report the defects into the defect tracking system and track how the repairs are progressing.

Regression testing is usually considered the most time-consuming activity in QA. We always try to reduce the time consumed for regression by leveraging automation tools and reusing test cases across multiple projects. We follow the SCRUM process as the default model, with every Sprint being a two-week iterative cycle. The various testing processes within a Sprint include Unit Testing, Integration Testing, and System Testing. During the application development stage, we use Unit testing tools such as PHPUnit, JUnit, and NUnit to reduce the number of blockers (show-stoppers) and the testing time fairly.

During every Sprint, our QA team handles test design, test execution, and test reporting. Test cases are documented to cover the requirements or user stories. The test cases are executed and marked as pass, fail, or blocked depending on the outcome of the test execution. Defects are reported through the defect tracking system. QA members participate in daily stand-up meetings where they update the current health status of the code they are testing. The test management tools used are HP Quality Center and Testlink. The defect tracking systems widely used are Redmine, BugZilla, Trac, and Jira. We always recommend integrating the test management system and defect tracking tool.

For reusability and saving time in the test design phase, we maintain generic test suites containing test cases that are reusable across multiple projects. Our QA team follows the agile process to gain transparency into what we are testing and to contribute and collaborate meaningfully and measurably. This also helps in auditing the QA progress between releases.

Automation tools like Latenode can further enhance these processes by streamlining repetitive tasks and integrating various testing tools and systems. Latenode allows for the automation of test case execution, defect tracking, and reporting, thereby significantly reducing manual effort and increasing efficiency. By creating automated workflows that connect tools like JUnit, Jira, and Testlink, Latenode ensures seamless data flow and real-time updates, enabling QA teams to focus on critical testing activities and improving overall productivity.

Communication Channel

We conduct daily Scrum meetings as part of the agile methodology. In case the client representative is unavailable on a daily basis, weekly meetings will be held with the client representatives. Daily bugs/issues will be logged in the defect-reporting tool. Any critical issues/blockers/crashes will be communicated to the client immediately through all possible means.

Iteration Phase

Requirements will be managed in the Test Management System as User stories, Use case and Test cases. All these will be assigned to a release.During the test execution phase if one test case is failed, a new defect is reported. The test case status will account for the status of user story and use case. Once the test design is completed, tests are assigned to a release. The tests are executed and the status is tracked at the release level. The test coverage should be viewable at any point during the test execution phase. Using the defect tracking system, the bugs identified during the iteration will be tracked.

  • QA member identifies the bug and report them.
  • Supportive attachments to be made available with the bug such as Crash Log, relevant screenshot etc.
  • The concerned developer is notified.
  • Developer fixes the bug and resubmits it to “Resolved” or “Ready for Test” status.
  • The tester retests the bug-fix and marks it as “Test- verified” status.
  • The tester marks the corresponding test case on test management system to Pass /Fail.
  • Exploratory testing is mandatory

Within Iteration the QA members will be responsible for the activities as shown in the diagram below:-


Post Iteration Phase

Bugs identified after the iteration phase where a story was considered “Done” must be placed on new stories. They must be prioritized along with other development work by the product owner team. After the iteration is completed, the bug report is prepared which details about the bugs identified for a user story during the iteration. This is made available to the project team and the development manager or the product owner who can prepare the schedule for the resolution-actions for the open bugs or can defer the defects for a later release.

Test Deliverables across all Iterations

  • Mind maps / Test scenario diagram
  • Test specification (High level test cases)
  • Defect reports
  • Test coverage report / Requirements Traceability Matrix