יום שלישי, 23 ביולי 2013

Notes from the SIGIT seminar: Exploring Exploratory Testing with Lee Copeland

After participating in the seminar of Lee Copeland on Exploratory Testing, which took place at the SIGIT conference on July 23, 2013, I pondered how it would be best to document my notes and decided in the end to divide the post into two parts. The first part will include new thoughts and ideas Copeland spoke about (he did not originate all of them), which I intend to adopt and pay more attention to in my daily work. The second part will point out the way I intend to implement these ideas.

Part 1: Exploratory cheese via improvisation

The main gist of exploratory testing is that the analysis, design and test execution are performed simultaneously, so that the exploratory testing coincides with agile testing. Copeland mentioned that the problem with the V Model is that we often start planning the test at a time when we know very little about the system.

To emphasize this point, Copeland introduced us to a short game, as James Bach suggested, known as “twenty questions”. After we finally figured out (using more than twenty questions) that Copeland was thinking about “cheese”, we all agreed that if we had written down our questions in advance, we would not have succeeded at all in divulging the answer.

This demonstration did the job of convincing us that exploratory testing was indeed a super concept.
Copeland, however, proceeded to warn us that there are some cons to exploratory testing:
·           Our daily experiences can cause us to be “blind” to our reality.
·           Exploratory testing may be a novel method, but it may not always be the way to go. Yes, it should be included in our toolbox, but we need to have other tools in that box as well.
In concluding this section, I would like to point out that Copeland asked us to associate exploratory testing with improvisation, recalling the top-rated TV show “Whose line is it anyway”.

Part 2: Schedule the session and do the test

(Note that since my team works with the Jira application, this part is based on working with that application. Please feel free to apply the information in this part to any other tool you are using.)
During the seminar, I especially liked the idea of scheduling exploratory testing, just as we do with other iterations. This idea will become a task in our Jira program (and may also be used to log out at the end of the process).
Copeland spoke of Bach’s idea of performing exploratory testing in sessions (SBTM). Jira employs a great tool for that called “Bonfire”

Due to my military service as an officer in the IDF, Copland and I happen to share a great love for mnemonics. He used several throughout the seminar, by I am determined to adopt two particular ones in my daily routines.
1.   SF DPT (San Francisco Depot) - make sure all items are covered.

For exploratory testing, it is a good idea to use a checklist of objectives that includes the following items: Structure, Functions, Data, Platform, Operations and Time. (Note that the boundaries between these items need not be so sharp.)
In Jira Bonfire, this session should be in an additional information section.

2.   During the session, use PROF mnemonics.

Past: What was done? Compile notes during the session, using the Bonfire extension to record what you have done.

Results: What were your findings? In Jira, defected and screen shots are automatically added to the Bonfire session if you opened the issues using the Bonfire extension.

Obstacles: What slowed down or blocked our session?

Forward thinking: Where do we go from here?

Feelings: How do we feel about what happened? Since I am a red-headed Israeli, the process will certainly touch my heart and cause me to experience feelings and emotions concerning the testing activity; but this is something I will have to cover in a separate post.

At the end of this part, we spoke about the outputs of our activity. At the end of the day, we all have to report something to someone. The report should be generated based on the Bonfire session and added to the ticket of the session as a document.
The report should include the following: charter, metrics, charter opportunity for other sessions, notes, and issues raised during the session.

Part 3: Concepts that require some follow-up posting


  • Testing and emotions
  • Is the waterfall as quite as it sounds?
  • Does an infant born as a tester? (ad hoc testing thoughts)

How you know you are a tester in your soul?

You taking time for the coffee machine
You look for typo on the cereal box
You click all buttons of every electric machine you have in your house (including the washing machine and the microwave)
You tried every combination of two buttons in the remote 
You take screen shot when you surf the net
You locked your email and/or facebook account at list once when you purposely tried to typed wrong user name and password 
You try to order more movie tickets then the actual seats in the cinema hall
You reopen a box after you put something in, just to make sure it still look the same
You have no routine because you are doing everything different each time

יום ראשון, 21 ביולי 2013

One small step for a Tester, a giant leap for Testerkind

It was after I've been working for 7 months in my new workplace.
I joined the team as a senior software tester. Before me, there was "Test Desert". Some unit tests written by the developers, and... that's it.
For 7 months me I have been mapping risks, writing tests plans for regression features and new features, summering tests, analyzing test activity,  and gradually improving the quality of our product. 
It happened when I sat down to write a test and interview question for recruiting the third tester to our team. My manager (the Product Owner) looked at me and said: "You tauht me that software testing is a profession."
That's one small step for a tester, a giant leap for testerkind - the acknowledgement that not everyone can be a tester; that this position requires a special characters and knowledge that is gained through studying and by experience.
Once, 7 month ago, "Testing" was just something you do on the way at the end of the development process because you had too.

Now we are the special force team to make sure the product is a quality product.

יום שני, 15 ביולי 2013

איך היה אליעזר בן יהודה בודק תוכנה ?

אם אליעזר בן יהודה מחייה השפה העברית, היה נרשם לאחת המכללות ועושה קורס בודקי תוכנה (או עושה את דרכו לעולם הבדיקות כמו חלקנו בדרכים משונות) כיצד היה מוציא את תכתובת בדואר האלקטרוני לאחר שסיים את בדיקות התוכנה ברמת המרשתת?
אכן יושבי ארצנו אנו, גאים להיות ישראלים בכך תחומי חיינו, עברית ללא ספק היה השפה הרשמית שלנו, שפת הקודש, שפת השוק, שפת הקשקושים בפינת הקפה ובארוחת הצהריים, שפת הקללות בכביש, שפת החדשות ושפת סיפורי הלילה טוב לילדים לפני השינה.
אך בבואנו לעבוד עבודה טכנית המוגדרת על ידי עולם מושגים (glossary) בין לאומי (international / I18N) , לעיתים על ידי צוותים הפזורים ברחבי העולם עלינו לאמץ את עולם המושגים הטכנולוגי של עולם התוכנה (software) ככל ושל עולם בדיקות התוכנה (software testing) בפרט.
ביחד עם לימוד החומר התיאורטי של בדיקות התוכנה, וההבנה מתי מתבצעת (execute) כל רמת בדיקה (testing level) ואיזה שיטה (methodology)  יש ליישם (implement) כל אחת, יש ללמוד גם את המושגים הלועזיים (אנגלית) בהם משתמשים בעולם הבדיקות.
ניתן להגביל זאת למתכנתים (developers) אשר כותבים את קוד התוכנה בשפה בינלאומיים (אנגלית).
וכמובן יש לשים לב, כי חברות בינלאומיות (לעומת חברות מוסדיות כגון בנקים חברות ביטוח ומשרדים ממשלתיים) משתמשות יותר באנגלית גם ברמת ההתכתבות הבסיסית ביותר במשרד, ועל כן דרישות הבסיס על מנת להתקבל עליהן לרב ידרשו דרישת סף של אנגלית שוטפת.


ומה עם אליעזר, כנראה הוא היה ממשיך להתפלפל בארוחת הצהריים על מילה כזו או אחרת למילה fire wall  או functional testing, אבל את התיעוד (documentation) הוא היה מוציא כמו רובינו בשפת המחשב – אנגלית.