3

Can you please give me concrete examples of Edge cases preferably for Financial systems (General Ledger) and STP Settlements to help us kick start the right kind of thinking /approach by both the Business users and the Development teams on our strategic project?

We are already using the Acceptance Test driven approach, However, to date Non-functional testing, and the Edge cases have not been the subject of much practical focus when the Activity cases and Acceptance criteria are scoped in timebox planning. Practical focus meaning that there are cards for e.g. identifying the non-functional capabilities in scope, but due to pressures of team/ breadth of the project the timebox focus never gets down to the granularity of agreeing Edge cases. I think, this is because the capability of the system to handle edge cases is to a greater extent is implicitly assumed by the Business users.

Regarding the Developers, probably they are covering this in their unit testing but we, on the general project team, including the technical co-ordinator, and the test co-ordinator do not have much visibility of this. Therefore, we may be missing out on opportunities to see where the real gaps lie until we go to Production. What has your experience been?

3
  • 2
    RE: "probably they are covering this in their unit testing but we ... do not have much visibility of this". The devs should be happy to give you some detailed information about their unit tests which would be a good start for you. In my own experience with QA teams (as a dev), this doesn't happen nearly enough, probably a bit of fault on both sides. May 17, 2012 at 10:47
  • Dear dodgY_coder - the irony is that ever since we started the Agile project (as opposed to Agile development) approach it seems that the development has been more of a black box - the Technical co-ordinator has been more of a gatekeeper than evangelist which has introduced more of a boundary wall than expected given we are aiming for increased collaboration. The challenge now includes how to have this dialogue in a practical fashion that does not threaten remits of individuals who act as nodes. Or so it would appear. Your insight would be invaluable.
    – Pernilla O
    May 24, 2012 at 10:41
  • Pernilla, maybe you could start by asking the development team to simply give you a list of their unit test method names. This might be a good start, and is quite useful since these are normally quite descriptive and related to their exact purpose. May 25, 2012 at 0:22

1 Answer 1

3

You can think of edge cases in terms of constraints and assumptions.

Examples of constraints might be the maximum field length in a UI, a maximum column length in a database, a maximum or minimum dollar amount, a maximum/minimum percentage. Another example would be the cardinality of relationships, e.g. user A never has more than one checking account or more than one beneficiary. I test these kinds of constraints by using the exact minimum and maximum value (to make sure they work), and a value a little bit less than the minimum or a little bit greater than the maximum (to make sure they are treated appropriately).

An example of an assumption is the model for the temporal order of events. (This is a fertile area for bugs at my company.) When we design software for a process (like an accounting process), we have a particular order of events in mind, an order that corresponds to how we think users behave, or an order that seems reasonable to us, or an order that is easy to understand and explain. If you understand those assumptions, you can test what happens when the assumptions are wrong.

You might try Googling for "testing for edge cases".

4
  • RE:I test these kinds of constraints by using the exact minimum and maximum value (to make sure they work), and a value a little bit less than the minimum or a little bit greater than the maximum (to make sure they are treated appropriately). Isn't this just good old fashioned Boundary Value Analysis?
    – devonps
    May 17, 2012 at 14:26
  • @devonps Yes, that is another term for it. "Edge case" is a general term, and Boundary Value Analysis is a practice for addressing a particular kind of edge case.
    – user246
    May 17, 2012 at 14:32
  • thanks for the clarification, I'd not heard of the term Edge Case before.
    – devonps
    May 18, 2012 at 9:26
  • USer 246 - Many thanks. Will google today :) If anyone has specific examples of edge cases relating to Finance or Srttlements applications that have proved fruitful I would be delighted to know.
    – Pernilla O
    May 24, 2012 at 10:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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