English subtitles

← 03-03 Partitioning The Input Domain

03-03 Partitioning The Input Domain

Get Embed Code
1 Language

Showing Revision 2 created 07/16/2014 by Udacity Robot.

  1. This time, let's talk about some they called partitioning the input domain.
  2. So, we are going to start with some software under test and itâs going to have a set of possible inputs,
  3. an input domain, and of course, this input domain usually consist of so many possible test cases,
  4. but thereâs no way we can possibly test them all.
  5. Speaking historically, well people would've often been interested in
  6. his ways to partition the input domain
  7. for piece of software under test into a number of different classes so that all of the points
  8. within each class are treated the same but the system under task.
  9. And while constructing these classes, we are allowed to look at the
  10. implementation of the software, we are allowed to look at the specification,
  11. we are allowed to use even our vague suspicions that we have.
  12. We can use anything we want in order to create these partitions.
  13. So, for example, we will have some subset of the input domain.
  14. For purposes of finding defects in the system under test,
  15. any point within that subdomain is as good as any other point within that subdomain.
  16. So, basically, when testing the system, which pick an orbitary point, execute the system on it.
  17. Look at the output, and if it is acceptable, then weâre done testing that class of inputs.
  18. So, obviously, in practice, sometimes this partition is going to fail,
  19. and by fail, I mean that the thing that we thought was are class of inputs that are all equivalent
  20. with respect to the system under test isnât really, and in fact, there is a different class
  21. hiding within this class which triggers a bug even though the original test case didnât.
  22. And so, when that happens, we can sort of blame the partitioning scheme.
  23. We can say that we improperly partition the input.
  24. The problem with this sort of scheme is that we can always blame the partitioning,
  25. and the unfortunate fact is the original definition of this partitioning scheme
  26. didnât really give us extremely good guidance in how to actually do the partitioning.
  27. All that settle as we had to do it.
  28. In fact, this sort of scheme hasnât worked out for large systems under test.
  29. Weâre talking complex software like real time imbedded systems
  30. or operating systems or other things.