Tuesday, January 22, 2013

Software testing versus Ecology

Common question when I meet other testers is "How did you start as a Software Tester?"

Many of often surprised when I say that in a previous career I was an Ecologist and they wonder how a training in Ecology could support a career in Software Testing.

When I was studying in Ecology, I was often asked what Ecology was - my standard answer (as that was Eons ago and predated google and wikipedia!) was "Ecology is the study of the interaction between  organisms and their environment." Which today as I think about it, is pretty much what I do when I test software.

If I actually look at the current definition of Ecology on Wikipedia I see:
"Ecology (from Greekοἶκος, "house"; -λογία, "study of"[A]) is the scientific study of the relationships that living organisms have with each other and with their natural environment. Topics of interest to ecologists include the composition, distribution, amount (biomass), number, and changing states of organisms within and among ecosystems. Ecosystems are composed of dynamically interacting parts including organisms, the communities they make up, and the non-living components of their environment. Ecosystem processes, such as primary productionpedogenesis,nutrient cycling, and various niche construction activities, regulate the flux of energy and matter through an environment. These processes are sustained by the biodiversity within them. Biodiversity refers to the varieties of species in ecosystems, the genetic variations they contain, and the processes that are functionally enriched by the diversity of ecological interactions."

Whereas  the current definition of Software testing on Wikipedia I see:
"Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test.[1]Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to, the process of executing a program or application with the intent of findingsoftware bugs (errors or other defects)."

Personally i think what i actually do could be better reflected by a few updates on the Ecology definition!
What do you think of this as a definition?
Software testing is the study of the relationships that software programs have with each other and with their environment. Topics of interest to testers include the composition, distribution, amount, number, and changing states of programs within and among systems. These systems are composed of dynamically interacting parts including end users, the communities they make up, and the non-living components of their environment. System processes, such as requirements, system integration, data integrity, and various niche construction activities, regulate the flux of data and matter through an environment. These processes are sustained by the diversity within them. Diversity refers to the varieties of users in the systems, the variations they perform, and the processes that are functionally enriched by the diversity of their interactions."

Finally starting?

I'm not sure why, but after I started up the blog, seems like life got in the way and I really didn't go anywhere with it.  I seem to have a lot to say, and here's hoping writing it will help me think clearer and communicate better!