Peter Nairn

IDMTDT testing

Posted on Thu 22 Feb 2007 at 08:00 in Testing

I like IDMTDT testing, it can be a rich source of errors and can show up data integrity faults and usability problems that you might not otherwise find.  The big advantage is that you can then see how the system handles CRUD activities in unusual combinations.

 

Oh, sorry, IDMTDT stands for “I didn’t mean to do that” and is a set of tests that try to recover from when the user has done something stupid and wants to undo somewhere down the line in the Business process. 

 

A simple example:

 

User creates a new record for a new customer

User enters name/address/Post code

User then creates new accounts record for new customer

User puts credit limit on new customer account

User enters sales representatives name

User activates new customer.

 

At this point, User finds that the Post code is mistyped.  How do you recover?  If the system allows an edit of the customer field, then it is easy, but lets say, for the sake of the example, that there is no edit function for the Post code, it maybe a primary key in the database that is uneditable.  Let us also assume that deletion of customer records is not allowed as the system requirement is to keep all records for audit purposes and the design assumes that the user does not make this type of mistake. 

 

The recovery from this type of problem in a real world situation can be a nightmare (I have seen this type of scenario in a number of systems).  The testing can, however, be quite fun as you have a number of points at which you can try to recover the situation; after the new record created, after the account set up, after the sales rep entered, after activation.  Each of these scenarios will have a different set of tests and may involve exercising different functionality.

 

Planning and scripting such testing tends to be difficult as it is often the type of scenario not covered well in requirements or business scenarios (because people don’t make mistakes, do they?), so the best technique I have found is to include it in Exploratory tests.

 

It is a type of testing that can be forgotten or is done haphazardly.  It also, as a general guideline, should be done once the software is relatively stable as you are not trying to find functionality bugs, but business flow bugs.

IDMTDT - nice acronym

Posted on Thu 22 Feb 2007 at 12:59 by strazzerj
I like the IDMTDT acronym.

But your example confuses me.

It would simply be extremely bad design if there were no way to modify a customer's address, or if parts of it were used as a primary key, right?

Hopefully, such design problems would be removed before the system were coded, long before any scripting would be required.

Sounds like one big bug report would be in order.

I Did Mean To Do That - I'm a tester aren't I ?

Posted on Thu 22 Feb 2007 at 02:05 by philk10
In the ideal world, Joe, all that would be caught and we'd do walkthroughs of the interface, maybe even ( GASP ) do some test driven development but all too often there is no design review and the first involvement of testers is when an EXE is made

I've just just logged a bug where I was able to create a search page, I mistyped it as "pasge1" and found there was no way to rename it, programmers and others assume the user gets everthing right

so back to the happy/negative paths blog entry ;)

Interesting path

Posted on Fri 23 Feb 2007 at 01:17 by prainbow
I'd have to agree with Phil, it seems that no matter what you call it, there's a place for the analysis that leads you to the unexpected test cases that may be most likely to uncover the bugs.

Maybe you could call it the interesting path!

Paulie

Last Page | Page 12 of 39 | Next Page

RSS feed

- Subscribe