Value Assurance is my two word definition for Software Testing. What else do we test for anyway?
Once in a while, when I get a thought or make an observation on anything related to Software Testing, I try to mirror it here - after all externalizing is an inherent phenomenon in me!
Sunday, June 7, 2009
first visit to beijing, china
I taught Software Test Automation topics such as building a framework, and covered several commercial and open-source tools available today, distributed end-to-end test automation, security test automation etc. The candidates were very smart in that they understood everything so easily and expected me to increase the speed and cover more topics than usual. I also experienced that they wanted me to show more hands-on examples than a PPT driven lecture.
Teaching in a corporate always means being able to understand their problems and be able to point to some possible solutions. It is very likely that they have already worked on the tool you are trying to show, it is very likely that they have read a paper or two, on the concept that you are trying to explain. So, bottom-line - you only learn more and innovate more when you teach!
--- on a personal note
I liked the food very much. On the first day, Vipul Kocher and I went to a pure vegetarian restaurant that served dishes that look/taste/feel like non-veg but are really not made of meat. The rest of the days I explored different food items at different places. As always, there is an Indian restaurant to fall back on, should nostalgia hit you. I noticed that the beer Tsing Tao is sold for different prices at different places-- exploring the cause revealed that they are of different 'quality'. Well, I wrote songs of different 'quality' while having it :-). On my way back, I had spent 4-5 hrs at Harry's pub in Singapore airport. I gave one of the bar members my music album CD, she was excited and played it in the main player. I had tough time getting my music played in Indian pubs but in Singapore airport, it was played for a couple of hours without me asking for it.
They say that travel is an opportunity for introspection. I was thinking of what is my next plan of action in Software Testing, music and life!
Wednesday, April 29, 2009
Companies focusing more on the skillset (and mindset) needed for Security Testing
As usual, it was a challenging situation to address the varied needs of individual groups of attendees who joined from several different projects, however, I liked and enjoyed the three days for two reasons - I had an opportunity to package most of my experience and research in the field of Security Testing, and the attendees were very smart. I have been covering only Web Application Security Testing so far and the program at Novell had more focus on security testing even on desktop products and clients (It is under Non-disclosure so I can publish the course agenda here).
Having done about 15 programs on Security Testing in the last few months, I am happy to say that there is now a clear focus in companies on the skillset (and mindset) needed for Security Testing.
Sunday, April 19, 2009
Exploratory Testing can be justified when you explore what not to do by hand
I was reading this post titled "Convince my boss to let me do exploratory testing", while most of what is said in it makes direct sense, I want to add a small point through this post.
Let us say, a tester has to test a text field with the below cases:
1. It has to be tested with multiple languages like English, Hebrew, Arabic, Kannada and Devanagiri.
2. It has an upper limit for its length, say 40 characters, and the tester wants to prepare strings with 40 characters and 41 characters (and also need to know, if a string gets truncated, where it got truncated).
Naturally the tester may ask for a lot of time to prepare the inputs that drive these tests.
It could be a tester who does everything manually, or a tech-savvy tester who want to develop scripts to accomplish the same, it takes time; and I consider that as "non testing time".
So, there is a desperate need for a tool that can aid the tester to do that.
Today, http://www.testersdesk.com/ has a toolkit named "Common Test Data Generators" which help them on that aspect. It is free for the entire testing community.
As you can see, we named it as "common" test data generators instead of hyping the simple things it does.
No, this post is not about TestersDesk.com, because it does a lot more than what is written here.
Exploratory Testing can be justified when you explore what not to do; i.e., the right ways of saving (or escaping from) some time needed in scripted testing.
And of course, the mixing proportions of testing time have to rightly balance scripted and exploratory testing, and there is no "this" or "that" type of testing, by itself, that can reveal all the defects.
Enjoying and respecting the fact that we are human beings,
Ashwin.
Saturday, April 4, 2009
ends influence means - book becomes tool
While I am not sure if I did the smart thing or not, wanted to write a post that externalizes my philosophy.
Most of us get a new idea, most of the time, with a particular set of "ends" we want to reach.
Couple of years ago, when I wanted to reach the "ends" of improved test productivity through smarter utilization of technology tools, I started writing a book on how to use technology in building utilities for Test Design, Test Data Generation, Test Diagnosis and Validation etc, primarily concentrating on things not broadly addressed by major test management and automated test execution tools. Said differently, the "end" I wanted to reach was inculcating toolsmith thinking in testers in their activities so that they can use their brain-work for more valid cases of value assurance.
Midway through the writing of the book, I found a clear need of translating all the work into a working product, as opposed to keeping it as some pages of text. I have convinced myself that a tool with "execution" power will reach the ends more quickly. Stopped writing the book, and basically became a spec for the tool, what it known as www.TestersDesk.com today.
So the point is the more faith we have in the ends, can influence the means we adopt. Some form of reverse as well as re-engineering.
Technically speaking, means can be viewed as several parallel threads racing to reach the end but I am not so fortunate to have the resources to run parallel threads!
Friday, October 24, 2008
a simple example of how technology in testing is important
In some complex UI web applications where there are chains of events that happen on a SINGLE button (or button-like) click, it is very possible that a request is submitted twice (or more) resulting in the server side process to be triggered twice. For a normal tester, this is an easy catch if it is a update/insert request because he/she can detect the effect. But if it is a selection of records which produces the same output for any number of requests, how would the tester know how many requests were sent?
Welcome to technology applied in software testing. I do not bother who does this (developer/tester/manager/vice-president/ceo/cfo/cto) but someone has to use a proxy server to see the outgoing requests.
It is always we humans who can find issues, but in the process technology must to be used as a helper to accomplish the objective.
My interactions with Pradeep Soundararajan and Shrini Kulkarni at Test2008
Firstly, I would say the readers of their blogs are lucky for getting the insights and influential thoughts so really needed to ensure value to the customers.
I had a quick overview from Shrini on the schools of thought in testing. I never knew the concept of Schools of thought in Testing, but having looked at the principles stated in http://www.context-driven-testing.com/, it made a lot of sense as to what I have been thinking/living all the time, and for a good thinker the word 'context' itself explains all about it.
I liked the way how Pradeep has explained the term "bug free software" -> software delivered with free bugs:-) I think there is a post on this topic in his blog too that I visited yesterday.
Overall, It brings me in to a deep introspection, as well as do some serious planning around how we can perform value-assurance (a synonym I use for the word 'testing') to testers through TestersDesk.com. Obviously, a testing product itself cannot have bugs and needs to serve as an example for having reasonable quality and deliver the value to testers. We exist to exploit technology in whatever ways possible, basically offloading the mundane tasks of a typical test engineer, and have now got more careful at what we build.
I am posting this to highlight the fact that it was an intellectually stimulating hour talking to Pradeep and Shrini, and I thank Pradeep for nominating TestersDesk.com for the Thought Leadership Award at Test2008.
Monday, September 29, 2008
Ten Current Note-worthy Trends in the Application of Technology in Software Test Engineering
I have given a seminar on "Ten Current Note-worthy Trends in the Application of Technology in Software Test Engineering".
Some 400 attendees made their presence and I was deeply excited about having such a very focused event on Software Testing (first such thing in Hyderabad I guess, other than the seminars I have given in other events that were not necessarily only for testing).
Ramesh Loganathan (MD, Progress Software India) has invested interest and energy to make the event happen. Speakers from different Hyderabad based companies gave nice presentations on various topics.
I spoke for an hour (please see the below presentation) sharing my opinions on how currently technology is being used in test engineering. I ended my talk contemplating why we cannot have an aviation-style black-box as a part of software black-box testing so that the problem of irreproducible bugs is more seriously addressed at the source. There is a note from Microsoft sharing the very same viewpoint, published on September 29th 2008. VMWare has a feature of this sort in its world, and it is a good news that the Windows OS itself will have it soon through Visual Studio, making it more real.
The presentation
As good as it gets!