Wednesday, June 28, 2006

To guess, or not to guess?

Traditionally, my testing follows a reasonably simple structure. Requirements are captured, and evolved over time. A design is built for these requirements, and tests are built to ensure the requirements are met in the design. Then, the design is implemented into code, and as the requirements change the tests can change accordingly. So, what happens when one doesn't actually have requirements in the first place, or they are incomplete?

In my mind, I can naively think of two approaches to dealing with the problem.
  1. The first method would be to design tests for only those requirements that exist- if it is not in the requirements, don't bother testing it (of course, this must be implemented with some common sense- if "must not kill humans" isn't in the requirements, you'd still like to test for that).
  2. The second method is to "guess" what future requirements (or ambigious ones) might be- and design tests accordingly.
Now, which approach is best? Well, like everything else in Software Engineering, we find that both aren't really that good, and as a result we'd need to cut our losses and go with one of them, or invent our own approach in the hope that it is better. To expand on this:

Approach One
  • Every time a requirement is added, we need to design test cases that cover that requirement.
  • It's a lazy form of testing- if you only have a small number of requirements, you don't really have a great deal of work to do.
  • It does however have the advantage of reducing the amount of bugs submitted that will only be turned away because "this isn't part of the requirements, WONTFIX"
Approach Two
  • Guessing requirements is a BAD idea. If you get it wrong, you are left with tests you must change and developers annoyed at the amount of WONTFIX bugs being submitted.
  • Ambigious requirements mean that someone's not doing their job properly in the requirements capture and analysis. If they can't do their job, how can you do yours with any degree of confidence?
  • On the other hand, developers constantly throw new code into their projects in the anticipation that it will be needed in the future. Why shouldn't a tester do the same?
Thus, we end up in somewhat of a conundrum. This is augmented if you're using iteration based development, where each iteration has new requirements and features to test. Perhaps more than anything this reflects the need to work out a plan right at the start of the project, which predicts how much testing, design, development, etc is needed at each phase- reducing the chance of people having nothing to do, or no idea of how to go about it.

Sunday, June 25, 2006

Good Chicken

My favourite dish at the moment has to be Acapulco Chicken, a wonderful combination of mexican flavours and easy cooking. Though you can vary it however you wish, AllRecipes lists the following as the core ingredients:
  • 2 skinless, boneless chicken breast halves
  • 1 tablespoon chili powder, divided
  • salt and pepper to taste
  • 1 tablespoon olive oil
  • 1 cup chopped green bell pepper
  • 1/2 cup chopped onion
  • 2 jalapeno peppers, seeded and minced
  • 1 large tomato, cut into chunks
  • 10 drops hot pepper sauce
Now I tend to ignore the directions of cutting the chicken into pieces- even better is to leave them as whole halves and then whack all the toppings on top, pizza-style. Salsa or sauce first, then capsicum, onion, cheese and jalapenos is my normal way of having it- although I have also had it with avacado as well, which was surprisingly good, considering I don't like avacado.

Cooking is damn easy- once you've whacked the toppings on your chicken, put it in the oven at 180 for 15 minutes. Bing, and you're done. Enjoy!

Sunday, June 11, 2006

KDE4 on the mac

From http://kde.opendarwin.org/

"These packages are universal binaries, for Mac OS X 10.4 (Tiger).

They may not work. They may not even install. They may make your monitor explode in a shower of glass. EVEN LCDs, WHICH DON'T CONTAIN ANY GLASS! (ed. I've now been told LCDs are not plastic, but do, in fact contain glass, but the point remains!) They may make your children grow horns, and cause the people in your neighborhood to explode spontaneously while doing the Macarena. They will rip out your eyeballs, and eat your soul with a really dull spoon, laughing and cackling while forcing Cheerios up your nose. They will make your intestines explode in a rain of confetti, while evil clowns bite your feet.

In short, we're not ready for bug reports yet, we know there's lots of broken bits, just be patient and look here for updates, and in the meantime, here's a little toy to play with."

Sounds fun. Although I think i'll wait until he builds some binaries for me to play with, its encouraging to know there's work being done already. I've particularly been hanging out for a universal version of KOffice, but I think that's going to be a bit further in the works- speaking of which, the discussion paper about KOffice 2's features seems pretty damn cool.

In the meantime, I think i'll try out an alpha of openoffice2 as a universal binary... god knows, that might make my monitor explode more than building the aforementioned KDE4 packages...

Thursday, June 08, 2006

All hail the elite, before I smack their faces

The longer I stay at UWA, the longer I am exposed to this general attitude that UWA is the "best" university in Western Australia, and that it offers the "best" degrees. I'd like to touch on this for a moment.

Consider the situation of many of my friends. We all live in Joondalup (or further north). We all wanted to go to University, and we all got reasonably high TER scores- certainly just about all of us could have got into UWA if we wanted, with its entrance requirements (which are higher than everyone elses, generally). Only two of us did. Now why then do I have numerous friends going to "crappy" unis like ECU then? Well, consider this.

When I travel to uni, I spend a minimum of $4 a day on parking, assuming I drive, and probably $20-25 a week on fuel. If I catch a bus, it's still around $2.50 a day, and it takes nigh on 2 hours to get to class from home. So, the tyranny of distance, fine. But isn't the "better" degree worth it I hear you ask?

I don't believe there's such a thing as one degree that's better than another- only that there is a degree (and university) that best suits each of us. I chose UWA's BCompSci. This is seen as a "weaker" degree than the 4 year Software Engineering degree- why? Because they learn things like Physics in first year, along with all other engineers, that have nothing to do with SE? Oh shit, my program won't compile- what was it Newton said about refactoring Java?

Now, I probably have more technical and research-based knowledge than my friend who does BCompSci at ECU at Joondalup. Think he cares? Think I care? Nope. He's doing the degree which suits him- it's close, he actually has a chance to work and have a social life, and he'll get a nice job placement thanks to the industry contacts that ECU has. Whats more, he's had the opportunity to branch into some really interesting areas such as graphic design which are completely not on the menu at UWA.

Finally, onto this concept of UWA having the "best social scene". Now I've had my fair share of fun at UWA- but to claim it's a 24/7 festival is a farce. We have a few big events every year, and i'm sure every other uni has those too. As for the clubs like bay 13, leisure and so forth- their events are the biggest, most mindless bouts of alcoholism I've ever seen. That's not my idea of fun. Sure, people enjoy themselves, get pissed, make out with people, damage property, have a good time- but it will only appeal to some, not all. For many of my fellow year 12 graduates from Joondalup, their inital experiences with UWA social life were anything but fun, and probably 70-80% of them left to go to a uni that was closer to their traditional circle of friends.

I hope that you're beginning to see where I'm coming from here. I learn at UWA exactly what I want to learn- I've got good technical IT knowledge, and I've even backed it up with a few business and marketing units so I can bring something a little extra to the table for my prospective employers. I've got a good bunch of mates, and I've got a good degree. I have had lots of fun, and continue doing so- but it's not for everyone. Sure, in the end employers might have the notion that graduates from UWA are better (even though this may not be true any more) but hell, it's not like they'll choose a bad UWA graduate over a good student from another university. Anyone who says or thinks otherwise deserves a swift kick in the head, and a good dose of reality.

Monday, June 05, 2006

Photobloggers, i'm so sorry...

Pink Lady
Out my backyard
Time: It seemed to only take one second
Lens: I didn't have a lens cap on at least



Sunman
Flash: I didn't see one
Zoom: I pressed some button
ISO Whatsimajiggy



Green and Gold
Flash: I was under a pergola
Zoom: All the way, baby
The MF with the flower next to it was on