Still Life

A Series of Mental Snapshots

Archive for December, 2007

Trouble with compatability…

Posted by Steve on December 26, 2007

So recently I found a bug in windows. So I thought ‘cool, I’ll take some screen capture of it and then upload it to youtube and write a blog post about it.’ So I get two of these three things done properly; and based on the title a bet you can assume which one I couldn’t get to function!

Firstly I’ll describe the bug. The bug occurs when editing the details of a music file. If you select one of the text boxes and scroll the mouse wheel the text box floats as you scroll. THis clearly is not designed functionality.

So my first step was to get the screen capture and export it into a .avi file. I use software meant for screen capture (I am avoiding the name because I don’t want to bring negative attention to a product that in general I really enjoy) to get a nice 30 second video of the bug. When exporting to a .avi I fiddle with the settings slightly so the file is a reasonable 2 Mb size (instead of the original 170 Mbs!). I view the video file everything seems to be fine, the video looks ok and the framerate seems good as well.

From here I start writing a post on this blog to let the world know of this grievous error (heh heh)! I get my post all set and save it before posting it and surf over to youTube to upload my video (as this blog does not accept video uploads).

Here is where the trouble begins. I try to upload my screen captured .avi file, and everything seems to be going fine but when I watch the video it is only one second long! It was like watching the bug in fast motion, all of the 30 seconds where compressed into one.

I have a theory of why this happened; I am ‘fairly’ confident that it was because the frame rate I chose to take the video in was different then from what youTube desired. What I found odd about this whole thing was that the video plays fine in Winamp, windows media player and VLC player but once its uploaded to youTube it ends up being one second long!

My contemplation here lies with the following question: ‘Is this user error, or a bug in the youTube software?’.

Frankly I am not sure. I feel that I am pretty computer savvy but I have had no end of trouble with this youtube upload. I could, with reasonable certainty, identify what the issue was, but for some reason I could not seem to fix it (I tried a few times). Am I at fault and should be more aware of the .avi I exported or should youTube’s software be able to rectify the disparities between the video I am giving and what it expects.

Just something to think about while I get some new video capturing software and see if I can get that bug uploaded!
–Steve

Discussions and arguments are not about who is right or wrong; they are about having new ideas, thoughts and expanding the mind.

Posted in Testing | Tagged: | 1 Comment »

What’s in a Name?

Posted by Steve on December 19, 2007

Why does there need to be a name for all different kinds of testing. Why do you need to identify if one case is a boundary case and another is not. There are clearly a class of test areas that could be considered ‘boundary tests’ but why need the name? I it as a convention that just exists for the sake of cross communication between people. IE so when you say boundary testing, I know what you are talking about, just as in we can identify that a shoe is a shoe and communicate that to someone else.

Other then for that reason I do not see much use for it; what’s the point of having names for things? To me having a name limits what you see and limits creativity. If you feel that certain things are not to be considered boundary tests, then maybe you won’t do them. Maybe you are pigeon holing yourself into constraints that do not need to be there. Furthermore it seems that everyone has a different idea of what a ‘boundary’ test is. IF that is the case then why even have a name for it? I looked online to see if I could get some definitions and here is what I hit:
“Boundary testing has definition A testing strategy based on testing at the boundaries of equivalence classes – since this is where most errors occur.”

So from that you need to look up equivalence classes:
“Equivalence Class: A testing strategy based on determining the possible equivalence classes and creating a test case for each”

Again this begs the question of what they define as an equivalence class. Found another website that defines things as such:
• Case #1: domain of data is an interval
– Class(es) of valid values
– Class of invalid values (out of boundary, inf. and sup.)
– Class of non member (for numerical values, characters are non members)

So from this it is a little clearer as to what a formal definition of what a ‘boundary’ test can be considered. Its a way to test such that elements that ‘would’ have the same outcome are not retested, thereby identifying equivalence classes and tests the elements that would yield only different results Here is an example to illustrate a simple case of equivalence cases and boundary conditions.

Example: There is a field that is only suppose to be able to take in Unsigned short ints (programmed in c++ MIN: 0 Max: 65535).
In this case I see the equivalence class here to be {1 – 65534}. It would be expected that these values would yield ok results. This would leave the ‘boundary’ cases to test, in this case {0, 65535} I see those as the working boundaries… and then there are the non working boundaries {-1, 65536, ‘A’, ü}. That class covers the min, the max, a letter and a symbol. All of the rest of the possible entries could be lumped into another equivalence case of improper values {The Rest}

So from this example we can see two equivalence cases and 6 entries for boundary testing:

Equivalence cases:
————————-
Valid Values {1 to 65534}
Invalid Values {-Infity to -2, 65537 to infinity, all leters (but one), all symbols(but one)}

Boundary cases:
———————
Valid Boundary Values {0},{65535}
Invalid Boundary Values {-1}, {65536}, {A}, {ü}
So from this example there is now a better definition and hopefully leads to better understanding of boundaries and equivalence cases. So not that we have a sort of loose definition for boundary cases we can look at, well maybe a ‘simple definition’ is a better term for that.

Going with this example I can already see places where I could have made a mistake, maybe something happens at -65536, maybe the numbers switch back over to 1? That kind of behaviour is not unheard of, but to me does not come up as what I would consider a ‘boundary’. This is what I was bringing up before, with pigeon holing yourself into a situation where you effectively have blinders on. When you come up with a definition, it becomes more difficult to look at anything outside of that definition, therefore soon as the definition is in place, that well might be all that you look at. I think that the idea of boundary testing is very important, but having a firm definition is not. Here is what I see boundary testing as:

The testing of conditions that YOU feel will cause problems. These feelings will more then likely be based on some sort of logic, but sometimes not. For example I was inputting values into this calendar and it was not clear what the boundary input was. So I just try some random year 1656; I get an error back stating dates for SQL must be between 1753 and 9999. Therefore I found the boundary pretty quickly by just putting in a random number, something that might not be done because there are guidelines to the boundary testing that you are doing.

To wrap things up a bit, boundary testing is an important concept, and should have some methodology to how it is done, but the more rigid the methodology and the more rigidly boundary testing is seen, the more likely it is that things are going to be missed, because once methodologies, and things in general are in place it is often difficult to look outside them.

–Steve

Post Script
-I know there are a lot of things that I am trying to get across here, any questions on anything are of course welcome
-I could quickly find what websites I grabbed the boundary test/equivalence case definitions from, I’ll update that when I find them

Posted in Testing | Tagged: , , , , , , , | 6 Comments »

Positive Feedback – Thoughts

Posted by Steve on December 11, 2007

Assessing the Validity of and being able to accept Positive Feedback
—————————————————–

Maybe I am alone in this, but based on my observations of others I am guessing no, but I feel that it is difficult to accept positive feedback. Personally I find it pretty easy to accept negative feedback (if I ask for it). I analyze the feedback to see if I think the comment is valid, if I deem it valid then I go about doing my best to incorporate it into whatever activities it applies to. Accepting positive feedback is another matter; what do you say when someone praises you. On one hand it appears obvious; accept the feedback and thank them for it. But for some reason I have this gut instinct not to do that, as if if I do accept and acknowledge the feedback I am boasting, or something along those lines. When I do accept/acknowledge positive feedback I feel like I am saying ‘Ya I know, I AM that good’ or ‘I know I did an amazing job, so what?’, for some reason I feel as though accepting the feedback invalidates it. Again I feel as though this is a very incorrect feeling, but from what I have observed of people, how they get very awkward when someone compliments their work, I feel I am not alone in this. Therefore I feel like its worth delving into feedback and see what makes it so difficult to receive.

So continuing on to the accepting of positive feedback. I find that there is a huge difference between accepting feedback in a one on one situation then there is when in a group of people; I find the latter to be much more difficult. I feel that this goes back to my feeling of boastfulness when accepting the positive feedback. I cannot put my finger on why, but I feel that being a showoff or boastful in group settings give off a negative impression to your coworkers (or those around you). It may stem from my observations that people do not seem to like people who are conceited and always telling everyone how great they are. But from the other side, in life you have to look out for yourself, so should you not then tell people how good you are (if its true) and they do not seem to be noticing. Being humble is supposedly a good policy, but if you are humble all the time will you not then go unnoticed?

I also want to take a quick look at what I see as the different situations in which positive feedback is given:

There is the spontaneous(or immediate feedback) that is given right after something happens ie: (and excuse the sports analogy) hitting a home run, all your team mates would give you a high five (this is pretty much instantaneous feedback). I see this to a certain degree as the most genuine kind of feedback as they have no time to really think about, they just know that you did a good job, and really want to let you know that you did.

There is prompted feedback. This is a situation where you directly ask someone to give you feedback. In this case two things go through my mind. Firstly since it is prompted, how is one to know if the feedback is truthful; this thought gets validated one way or the other based on the trust you have in the other person. Along the lines of the if the feedback is true, is whether or not the person giving feedback would have given it without you prompting. This leads into my second thought, I start to wonder if this feedback would have been given without me prompting for it. For some reason I feel that prompting someone to give you feedback invalidates some of the meaning it has; for some reason feedback that is given naturally without asking feels more genuine.

There is also scheduled feedback. Scheduled feedback manifests itself, for example, in the form of a yearly performance review; it is feedback that has to be given. I feel this as the worst feedback of all to a certain extent, since in most cases people are forced to give both positive and negative feedback no matter what. Therefore despite the fact that they may have no real opinion one way or the other on you, they are forced to come up with someone. This really brings the validity question into focus; how valid can feedback be if it has to be given? I do see some benefits for this case; it forces the giver to put some thought into the feedback they give, therefore they may be able to think about and bring up points from a few months ago that would not have come up unless they had the time to think about it. But in playing devils advocate, if they really had to think to give you feedback is that really a good thing?

Beyond the situations there is also feedback given in a group vs. one on one. Personally, receiving feedback and acknowledging it accordingly is much easier one-one. When in a group I feel like when I am given positive feedback, EVERYONE ELSE is not getting that positive pat on the back, it is almost as though I feel bad that they are not being acknowledge. I am however aware of why I feel this way when I receive the feedback, it is because when others receive positive feedback in the group setting I at times feel the ‘How come I am not being acknowledged’ feeling. That is I think one of the trickiest part of giving feedback, not pissing anyone else off. You have to give it enough so that people stay motivated, but you have to make sure its done in a manner that doesn’t piss others off, because you also want them to do work.

I think the giving feedback is a whole other topic, so I will shy away from it for now, plus I think this has gotten a tad lengthy, so I am going to cut it for now. I plan on revisiting these ideas and refining them, but for now its enough just to put them to pen (so to speak).

–Steve

Posted in Work: General | Tagged: , , , , , , | 3 Comments »