Acceptance Criteria Example Discussion in terms of Software Testing

Nowadays, software development teams prefer to follow an agile framework or set a frame, in respect of agile manifesto, for software development. In agile development, the most crucial thing is establishing useful and valuable success acceptance criteria for the team.

In this article, I will try to argue the importance of the acceptance criteria in the point of view of a tester. I will go through on a simple example to make it clear to all.

The User Story:

The primary goal of using a story is about the working style of the human mindset. The human mind is working more creative and efficient on a story rather than a business requirement document. Therefore, agile methodologies propose using user stories instead of in-depth technical documentation.

An example of a story:

example

 

The Acceptance Criteria for This Story Could Be?

The acceptance criteria is a list of rules which should be provided by the software that is under development regarding the story. The person who needs the story should provide the criteria within the story because an agile development team promises to deliver a working piece of software in a certain period.

This criteria list helps out the team within these subjects:

  • Checking out the business needs.
  • Time control in a sprint.
  • Ease of testing.
  • Communication among business people to enrich understanding.
  • Ease of understanding the story.

An example of acceptance criteria:

acceptance_criteria

 

What Should a Tester Do?

A tester’s first and the most vital weapon is questioning and challenging the system. Therefore, a software tester must examine every acceptance criteria. Design and create test cases and automatically or manually run them. In addition to that, in an agile development team the second most important thing is creating objective evidence that the system under test is working or not regarding the acceptance criteria.

 

An example of the questioning session (The What-If Session):

  • Show a student’s current assessment score.
    • What if there is no current assessment score for that student?
    • What if the student is an exchange student?
    • What if the student is repeating the course
    • Which cases should be automated?
      • Automation decision can change due to the phase of development and value of the criteria
  • Display past assessment score of the student.
    • What if the student is an exchange student?
    • What if there is no past score
    • What if the student is repeating the course?
    • What if the score is a two digit or 3-digit number?
    • What if the score is a letter?
    • What if the student is coming from another school from past year?
    • Which cases should be automated?

 

  • Provide an option to Print / Save / Share.
    • These specific acceptance criteria should be another user story. These three functions in the acceptance criteria are not enough to determine which function to run in which state of the software.
  • Display error message if service is not responding.
    • When should the system timeout?
    • What if the service returns an empty response?
    • What if the web service returns an empty string?
    • What if the web service returns a wrong type of response?
    • What if the web service returns a wrong type variable?
    • What if the web service never returns a response?
    • All the message types should be automated!

As a summary, a tester within the agile team should design a test which contains automated and manual tests to support the QA and QC processes of the team. In the test automation, Testinium can support the development teams concerning in creating objective evidence in especially regression tests for agile teams.

For your questions and more please visit Contact Us

Stay tuned!

2018-10-05T11:03:11+00:00 Tags: , |