Wednesday, June 17, 2015

Begin at the beginning

“Begin at the beginning," the King said, very gravely, "and go on till you come to the end: then stop.”
Lewis Carroll, Alice in Wonderland



Something like the Journey of a Thousand Steps - the trick to making an auspicious start is taking that first step. So, welcome to this journey, wherein I shall attempt to entertain, inform, and enlarge on the subject of software testing and the madness it holds.


I have split my personal and professional endeavors over my so-called-adult-life into two very different categories - loosely stated as costuming and computers. Specifically, the use of costuming to create beautiful objects of art to wear which evoke the constructs of a different place or time in history or fantasy, and the use of computers to connect with like-minded others, to divert and amuse via games and conversation, and to quickly research absolutely any aspect of the body of human experience.


My undergraduate years were largely dedicated to connecting with like-minded others, diversion and amusement, somewhat at the expense of my studies. However, this drive to connect exposed me to the concept of computer networks for academic research and social communications. The early internet was a crude conglomeration of raw data, unmapped and unorganized. The potential to expand into a source of information which could be helpful to anyone, whatever their personal goals might be, was a powerful motivator to me in choosing my field of graduate studies.  I went on to pursue a Masters' degree in the then-young field of Information Science, and passionately explored theories about organizing and categorizing data in logical ways. My driving need was to discover and improve ways to efficiently search for and retrieve data held all over the net, in many different forms and repositories, and to expand beyond dry, textual academic data into realms of visual and musical information.


The internet continues to expand and amaze, with ever-increasing speed and capacity, but some of the fundamental problems of information science are still problems today. How are information categories determined and understood? When are new categories logical? How do you classify a visual image without applying human perception? How do you generalize and encode the music of a song? The ability of computers to perform rapid comparisons is increasing all the time, but it still requires a human brain to quickly and efficiently find similarities across the breadth of experience without falling into too many rabbit holes along the path of exhaustive analysis.


Software testing is a field which can capitalize on the strengths of human pattern analysis to efficiently explore an application, anticipate how it may be used, predict areas where its users will find it insufficient and require improvement, and develop strategies to try to break it in exciting ways. But the trick of following one's instincts to uncover defects and anticipating user quibbles is difficult to explain, harder to teach, and cannot yet be effectively simulated with automated test tools. This human factor will be the focus of this blog. I look forward to your comments and observations, and to sharing the joys and frustrations of testing in a mad, mad world.



No comments:

Post a Comment