13

In our organization, we are implementing Agile. Right now, we start with the test as soon as we receive stories and never go for the test cases. We test the stories on the basis of acceptance criteria. My question do in real agile process we write test cases? if yes, when?

11 Answers 11

19

Maybe you do and maybe you dont. First determine what you want to accomplish, then decide on how you are going to do it.

Blanket statements saying YES or NO are useless. It really depends on the project, people, company and expectations.

My opinion is that if test cases help in actual testing, then yes, write them. If they are written 'just because', then that is not Agile.

  • 2
    Your answer is good for thought process. But He is clearly asking whether he should need to write test cases in Agile or not? How your response is actual answer for this Q @George? – NarendraC Nov 30 '16 at 5:59
  • 2
    It's impossible to say whether he needs to write test cases in Agile or not without a lot more information about project. I think there are tons of arguments for and many against writing various kinds of test cases, plans, and documentation of any kind, or arguments about what test case even is, or what you want to accomplish with them. – George Nov 30 '16 at 16:05
8

Yes, in agile we do need test cases. Based on stories, we create test scenarios, and based on test scenarios, we create test cases. Because at the end of the sprint, we have to perform our test closure activities, where we want to show our test artifacts (test cases and test scenarios). So answer is yes, and it should start as soon as you get the stories.

  • 3
    Are you saying you write test cases just because you have to show them? I dont understand the value then. – George Nov 29 '16 at 11:31
  • @George, the value is to help prove that the work has been completed sucessfully. – Tom.Bowen89 Nov 29 '16 at 16:36
  • But generally, you prove that work (item) has been completed succesfully by performing tests not generating documentation (writing test cases). Im not saying that test cases cant help to peform tests of course. – George Nov 30 '16 at 16:34
  • -1,don't agree with this answer at all – FDM May 30 '17 at 16:55
5

Yes, you need Test Cases in an agile development environment. The question is 'what are test cases?'. If you're thinking of line-by-line prescriptive cases then I very much doubt it. If you mean more like heuristics and key examples of behaviour then I very much expect so.

Likely it'll be a combination. Some cases might be prescriptive to address legal/financial audit requirements and 'prove' testing happened, others will be more like guidelines that provide examples to follow for lower risk areas and ensure test coverage, others might be no more than a mind-map for exploratory testing sessions. Many more will hopefully be automated (Test Scripts) for execution against the CI builds.

Whatever Test Case artefact you're it should help you ship quality software, help provide the needed level of clarity/understanding/definition that's needed to build and ship software. If it doesn't and you're making them out of habit, you're likely slipping into a more heavyweight approach as opposed to an agile one.

5

Do we need test cases in Agile ? Yes

Do we need test cases in Waterfall ? Yes

So what is the difference?

The key difference is that in Agile you need the most simple possible test case. This often referred to as an example rather than a specification. You then use this example to develop that functionality, get it into production, get feedback from real users and then put together the next simple small example piece of functionality and repeat the process.

This is different from Waterfall where you try and develop the full and complete specification up-front. The actual implementation is then just writing the software and tests that will reflect and implement that functionality,

5

Agile:

  • Understand, Agile is methodology which defines the ways and activities to be carried out for software development

  • It does not eliminate the core step of development and testing process

  • Surely it will add more productivity through less hurdle in traditional process and interlinkage of each step to other

  • Due to interlinkage one will work and dependent needs to wait for the completion of other

Do we use/need test cases in Agile?

  • Definitely yes, We need test cases in agile too

  • Agile known for parallel implementation and execution between team and tasks

When to write test cases in Agile?

  • Once finalized specifications for particular change/feature, Development team start writing code to implement. This is the time when you need to start writing test cases and brain storming to note and identify end use scenarios

  • You should be ready with all test cases before when development team share build to test

  • I can't help my pedantic self: Agile is a model, your application of approaches, techniques, artefacts, etc. is what makes a methodology. – Mark C Nov 29 '16 at 15:01
4

It sounds like you have test cases, but you call them the acceptance criteria. No one really cares about the test cases until something goes wrong and then people will want to know exactly what was tested.

If you have a spec then you can write some tests. After you have a build to test against you will probably think of some other tests.

4

I agree that it depends on the project but in most cases the answer is "Yes" due to the following reasons:

  • You need to understand how exactly you will check acceptance criteria
  • While creating test cases you will think about use cases and ask questions that might help to find flaws in documentation and save both development and testing time, especially, if you start writing cases as soon as stories are ready.
  • At the end of the sprint having a set of test cases in "Passed" state will reduce team anxiety about release quality
  • When things go south after release, test cases will help you to understand what areas should be covered better (and provide you some protection in post release blaming game)
  • In case of lack of documentation your test cases might become a reference about how this feature X developed 6 sprints ago should really work
  • In any case you will need some reference to regression testing whether it is done manually or (preferably) automatically.

However, I suppose I understand what lies behind your question. Usually, in Agile teams you have less time to create detailed test cases than you would prefer, so it seems a lucrative idea to cut some corners and save time on writing them. My experience tells me that you will eventually come back to writing at least some form of test cases, so it's better to start earlier. If release schedule is tight you can create checklists containing minimum data required for you or other people familiar with the project to test the story.

Something like this:

  • Check use case X
  • What if Y?
  • Don't forget about possibility of Z
3

Test cases are not associated with a single type of project management and neither are manual or automated cases.

Generally its seen as good practice to document your tests for many reasons and one of the most common ways of doing this is by using test cases.

Test cases can be written in many different styles, so you will want to consider how they are written and my personal preference is always to try and create ones that are light and easy to adapt over time. The software/website/app which you will be testing will most likely change and your tests will need evolve over time too.

In agile specifically your test cases will be guided by the acceptance criteria from the user stories and you will want to be writing your tests to verify that the AC's are met.

2

Test cases are considered so useful in Agile, that a number of methodologies consider it a fundamental part of the process.

https://en.wikipedia.org/wiki/Acceptance_test%E2%80%93driven_development

https://en.wikipedia.org/wiki/Specification_by_example

https://en.wikipedia.org/wiki/Behavior-driven_development

1

In Agile or any other methodologies,

A tester must have to test, so tester needs to write the test cases. For regression in the next sprints, it is necessary having the cases.

Now When Tester will write the test cases.

After requirement analysis/design the implementation/coding will be started. During this time the person who is responsible for testing or any of the member the agile team can start writing the cases.

1

YES, tester has to write the test cases for user stories.

After sprint planning and task breakdown done for user stories, developers will start coding and tester start writing test cases which helps tester to verify that acceptance criteria are met.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.