Friday, August 28, 2009

Snow Leopard now!

At last.. 2 min after shop opening I was able to grab a copy of the new 10.6 Snow Leopard Mac OSX Update.
After estimated 1h installation the OS was up and running again.

Some of the nicer features of the new OS are definitely

- much better boot and recover performance
- overhauled Exposé and Dock (grouping, window-text)
- MS Exchange integration (damn lotus..)
- Finder overhaul (performance and usability)


Here is the link to all the new features:
Aplle OSX 10.6

Since the price is relatively low (29€ for Leopard Update) it’s really worth the money. I know, windows updates are always free of charge, but since there are plenty of good features in 10.6 it is definitely more than a minor OS update…

Monday, August 17, 2009

Softwaresting on an Ad Hoc Basis?

Manny companies use to test on an ad hoc or heuristic basis, which means testing ONLY comes into play typically when one or more of the following symptoms appear (and testing is somehow not truly cultivated):

  • bad results during (pre)production or bad feedback from customers after shipment
  • process or compliance criteria (i.E. ISO, IEEE, ITIL, SOX, SPICE)
  • save money overall

So to sum this up, ad hoc testing typically comes into play when a project is forced to test or forced to save money (at the cost of software test).

Which brings us to the point that testing might easily become a true money burner. Testing on an ad hoc basis means you will certainly get into testing very late during your software lifecycle with a minimum of human or virtual resources (classic killer phrases).
The classic project requirement is to cover some kind of smoke.-, alpha.- or preproduction test with your test team (as quick (dirty) as possible).
Depending on the project there is a realistic chance that the topic "unit test" (or developer unit test) was touched somehow, so the chances that critical technical errors occur are minimized. But that’s only as a side note.

So depending on that, there are two ways how your test project will typically "run":

1)
Testers will find a lot of defects in an astounding short time (as we said, it’s nearly the end of the project typically; bad taste cause sometimes this will lead to the illusion that the test approach was correct). Those defects can be roughly separated into two groups.
The first group will cover highly critical malfunctions of the application. Detection of such defects at the very end of the project will simply lead to very high fixing costs (i.E. linked modules, interface errors, dropouts in your staff members – and loss of know how..) and may bring your project to the edge of failing. Further these defects will be either be classified as "known bugs" which will be planed to be fixed at an unknown future release or the fixing costs will be very high and a serious project delay might occur (sink or swim).
The other class of defects will be false negatives. Due to factors like the late entry of test into the project or the complexity of the nearly finished application, the testers will have a hard job to understand every (important) aspect of the application in a short time. Further test bureaucracy (test case design, planning, reports) have to be done simultaneously, so the human error quote won't be a factor to underestimate at this point.

2)
Testers will not find a lot of defects and can't decide whether the quality criteria are fulfilled or not. Typically due to the late start of test, it is rather difficult to meet the correct requirements with software test or to understand the complexity of the application under test adequate enough to provide good test coverage (see point 1).
Worst case here, the test efforts and results may be a waste of time from the project management's or customer's point of view.
The reasons are
  • late beginning of test
  • again lack of planning
  • question of know how acquisition
  • typically, complexity rises in the last phases of a project
  • insufficient quality of written documentation which are the key criteria for functional testing (something to test against)


Depending on your project and the specific skills of your team either one of the above or both factors mixed up can hit your project really hard. Expert testers which have a lot of experience in certain technology or special fields may kick the pendulum into factor one.
But as a matter of facts both ways will lead to high project costs with either high fixing efforts or wasting project efficiency within test.

To solve that problem I can only recommend to completely left ad hoc testing out of your project. It may be a good testing technique in specific test environments (i.E. Regression test, Simple or very little bulk of requirements) or specific preconditions (i.E. test experts in specific fields of interests).
But to come to the light side of the force it is necessary to give quality time. Which means bring in a small amount of test into the project early to give it a chance to grow within the project. On the long run there is a chance that critical defects will be detected early, where the fixing costs are rather small and the steering possibility with the help of early testing results is better then otherwise.
Further there is a chance that test experts will grow within your project which allows you to benefit from them later on (i.E. follow up projects etc.). It’s also cheaper this way as to buy them in at the end (or you have a heart for all those consulting companies out there..).
So to fully benefit from quality assurance you have to bring them in early. It is not necessary to get them at full force right from the start but it seems a good idea to slowly fade them in early.

It is also important to understand that test is not a necessary evil but further an overall improvement in your development process and output. Testers can provide early feedback to all kind of project departments (depending on the test focus), helps steering the project (test KPIs), helps improving quality from a functional or non functional point of view (again depending on the test focus) and providing a test framework to help minimizing test efforts on the long run (reuse of test cases, test basis for automation).

All these factors won't be possible by an ad hoc only test approach so the money saved here will be pumped into another corner/incident of the project which might be prevented otherwise…

Monday, August 10, 2009

Bring Vista64 on a Mac

So, is spent the last weekend with experimenting on my Mac and I want to share new experiences with you

The problem with Leopard is, that often in a business aspect you simply need a Microsoft OS to get some specific work done. Don’t get me wrong, OSX is perfect in its way, but for a lot of business applications (Outlook i.e.) you will get a lot of troubles if you use the Mac equivalent. (i.E. get a universal layout out of it, when you design in the OSX keynotes or Outlook 2008 pendents.
So when I decided to upgrade my Unibody Macbook (more ram, bigger HDD), I gave Vista64 a try on my new 500GB HDD upgrade.
So I will give you a rough walkthrough to hopefully prevent errors which I did when I first installed Vista64 and spare you some (life)time with problems may ocure during the installation…

First of all, there are several ways to get Vista to your Macbook, I decided to work with Bootcamp (comes default with OSX Leopard), because I simply need all of my (hardware) resources on one OS. Parallels and VM Ware are also fine tools to, let’s say, test something or do some quick and dirty crossover stuff, but I simply don’t want to lose a lot of RAM (4GB) – and after doing the whole thing, it was the right decision (especially with AERO and the Vista64 running) for my needs..

So what you need first is a GUID partitioned volume (check the options menu in the Disc Utility tool when you create the partition, with other settings the volume won’t be bootable with Windows and Bootcamp installation will fail).
In my case it was the only installed hard disc in my Macbook.

Here comes the first trap, don’t separate the mainpartition in the first place because Bootcamp won’t let you install the system when there are more partitions. You will need a full single partitioned hard disc with a GUID partition table to get it done.

And before you start, I recommend a backup of your MacOS, with either Time Machine or any other tool of your choice.

When you are done with your backup and bringing your hard disc into shape, start Bootcamp. It will first ask you where you want to install the system and what size your new windows partition shall be.
From the numbers, 30GB are enough to bring your Vista to run, but I want to work with it, so I took 150GB.
Note, there are several forums, which tell you to update your Bootcamp client in the first place, but the default version 2.0 will do it’s job just fine.

Afterwards the system asks you to insert your Windows CD and when doing so, the system will reboot and start the Vista installation.
The only possible difficulty within this process is the location of the right installation target. When Vista asks you, chose the “Bootcamp” labelled partition and format it.
Don’t format any other partition from the list (check with the size of it, if you are not sure which one) – you may hurt your OSX otherwise.

Afterwards Vista will install rather uneventfully. It will restart a couple of times but that’s ok for Windows. If the system will boot at any stage to your MacOS, restart again and press the Option-Key when you hear the starting sound. This will allow you to chose which system you want to boot (note: later you will need this trick to start your “other” OS on the fly, because Bootcamp can only boot one system per default – I checked for a manual bootloader like Grub from the old linux days, but I wasn’t successful).

When Vista completed the installation, a lot of hardware won’t work from the beginning. This includes

• WiFi
• Bluetooth
• Trackpad
• iSight Cam
• MacKeyboard functionkeys
• Lefklick (!)
• MultiCore CPU


To get them running, you need your MacOSX Installation DVD.
I recommend you at this point to get a Mighty Mouse or any other 2 button mouse and plug it into your system. Vista will recognize it automatically.
Browsing in Windows with no right click is kinda hard and you need it for the next critical steps.

On the MacOSX Installation DVD you will find a binary called “Bootcamp”. Copy this entire binary (or the binary “Drivers” inside) to your local hard disc.

Afterwards start a Command Shell (CMD – Start – Programs – Accessories) with administrator privileges (this is important, do it by right click at the CMD link – “Start as Administrator).

In the command shell, switch to the previously copied binary, and move further inside to the “Apple” binary (should something be like ./Bootcamp/Drivers/Apple).

Now you have to start a msconfig setup by hand, by entering the following command:

msiexec /i BootCamp64.msi

This will launch the bootcamp driver installation wizard, which will install every needed driver to your Vista system.

When you restart afterwards, you are up and running to get all updates and system registrations done. The Bootcamp driver will install a program into your info bar (don’t know the correct name, the thing in the bottom left) where you can set up Mac related settings.

You may wonder why we had to start the MSI installation that complex. The answer is simple. The default installation on the Mac Installation DVD will not work with Vista64. It will quit after execution, telling you that the system is not supported.
Further the MSI can’t be installed without Administration Rights simply by clicking it in the explorer. For some wired reasons you can’t start MSI installation routines with administration rights directly in the explorer.
This may not happen when you try Vista32 or XP SP2, because the wizard in Bootcamp will allow you to install all the drivers with the setup.exe.
I haven’t tested Windows 7 yet, but I am also not fan of beta or alpha ware when it comes to operating systems. So I have and will no information about the installation with that specific system for you now or in the future (until release).

Finally some information which may help you operating the Vista-Mac system after the installation:

• Left click works with two fingers laying at the touchpad, and a third finger pressing the button.

• Default bootsystem can be switched by either the Bootcamp tool in Vista, or within MacOSX. The boot the non default system, press the Option Key (ALT) during startup.

• More to come when I find some during daily work. Sorry I am also still in the try and error phase 

• Don’t ever ever resize or move the partition created by bootcamp. I know it has a crappy name/lable but you can destroy your windows partition rather easy and without warnings from or OSX system. Call me a noob, but it happened to me right after I have invested 8 hours in getting all information from the web about the topics, doing all backups, bring Vista to my systems with all updates and finally deleting the backups…

• To access your Windows Partition within Leopard you can take the tool called NTFS-3g.
http://www.ntfs-3g.org/
It works fine to get some docs or music into your Vista.
Unfortunately I haven’t tested tools to access HTFS within Windows, but I will go into testing during the next month and give you some information on that.


Finally doing this way you also have the possibility to start your Vista with a Virtual Machine like VM Fusion or Parallel if you want simultaneous access without rebooting.
This tool will recognize your Vista automatically (newest versions), but you will see that the performance is not good to really work with it. For me it will be a solution if you have a strong (and better upgradeable) machine, like the iMacs or Mac Pros.
On the notebooks you simply don’t have the resources to run Vista64 smoothly. Maybe XP will work like this but I recommend installing it directly into the system and using it none virtually…

So that’s all, if there are any questions or other experiences with the dual system Macbook feel free to comment the post or send me an email…

Friday, July 24, 2009

Hard Work - call for papers @GTAC

So there will be a hard working weekend hitting me at full speed :).
As my company informs me, there is a call for papers for the GTAC (GTAC Zurich) until start of August and I will try to bring a presentation online to participate at this event.

Whish me luck to bring some insights on DWH Quality Assurance to the public :)

..

Hello World!