Tuesday, July 10, 2007

My acrobatics on the Boundaries ..


The boundary condition of the universe is that it has no boundary." The universe would be completely self-contained and not affected by anything outside itself. It would neither be created nor destroyed. It would just BE

Stephen W. Hawking - A BRIEF HISTORY OF TIME


Science is a differential equation. Religion is a boundary condition- Alan Turing

Boundaries are actually the main factor in space, just as the present, another boundary, is the main factor in time- Eduardo Chillida

Earth has its boundaries, but human stupidity is limitless – Gustave Flaubert

I would read above quote from French novelist of 18th century (Flaubert was regarded as the prime mover of the realist school of French literature and best known for his masterpiece) by replacing the word “Stupidity” with “intelligence” or “imaginative power”.

Mike Kelly has an interesting post related to boundary testing here

I blogged about this topic few months ago under the name BVE and I think it makes perfect sense to link these two posts and get a new perspective of boundary test design (part of domain testing)

Note following important points in Mike’s post (with my views/comments) ---

  1. Understanding, Identifying and working with boundaries in software - is a Modeling problem. There can be multiple ways in which boundaries in a software system can be modeled.
  2. Depending upon how *close* your model models the system behavior, your (boundary) testing can be incomplete or wrong to *that* extent. Since there can be boundaries out side your model – you will not notice them.
  3. There can be (are) multiple boundaries - what you notice is limited by your model (ref. #1)
  4. No boundary exists in isolation
  5. All boundaries, those that are explicitly identified in model – hence are known to you and those laying outside your model, INTEREACT and ALTER/AFFECT system behavior in some *significant*. This introduces complexity in the model. In other words there exists some RELATIONSHIP between these boundaries.
  6. Inputs in identifying (in fact for modeling) the boundaries come from various sources such as technical specifications, user expectations, requirement specifications, device/OS specifications. If you narrowly focus on any one source of information – you will miss modeling of others boundaries (outside the mode) hence you would miss bugs/system behaviors associated with them.
  7. A weak boundary Analysis would start with boundary first without first having a thought /explicitly/ about my model.
  8. A strong or useful boundary analysis would start with model and identifying boundaries resulting from all possible sources of information.

Don’t forget to check following ---

All models (those especially having predominant influence of domain testing) are APPEAR to be deterministic (algorithmic/mathematical representations - set, graph, state machines etc) but indeed are HEURISTIC models as act of modeling seem to follow (in most of the cases) a heuristic approach…


Shrini

2 comments:

Michael said...

We had lengthy discussions over these issues at WHET, the Workshop on Heuristic and Exploratory Techniques, in Seattle on June 7-8, 2007. We discovered that we couldn't come to consensus about what boundary testing is (and is not). There appeared to be some consensus that we could talk about what boundary testing could be, and there were many rich discussions then and yet to be had--but we couldn't, uh, put boundaries on the problem. All I can say for the moment is that our community will have more to say about this as time goes on.

---Michael B.

Mike Kelly said...

Shrini,

By request, I posted my notes here: http://www.michaeldkelly.com/blog/archives/152

Thanks,
Mike