The importance of 24×7 automation in your quality assurance process

dnaI was in a discussion the other day about automation, which in itself is an extremely broad term, but we were talking around quality assurance and the importance of having some kind of automated process when the “product” was ready. Whether this be spreadsheets, reports, commercial products, applications, system builds, etc. At some level you should have automation to verify that at least at a high level the product is consumable.

Test driven development and agile development have played a huge role in the quality of software over the past 10 years and it shocks me to know companies are simply not doing this today.

My side of the discussion was around the work I did when I joined Iris Associates – which changed to Lotus, then ultimately to IBM Collaboration Solutions. While this was around software quality, the story I was in discussion about was data integrity in spreadsheets. We had several layers of automation following a build. Once the build completed (on five different platforms) a series of automated tests were run for build verification. Once the automated tests ran there were some manual tests run if the automated tests had passed. We then had what we called “automated system tests”, also known as DNA (Domino Notes Automation). These tests were much more functional in nature and not at a single API level. So you can imagine these tests using many (if not hundreds or thousands of API’s) to complete what would normally be done by a human. I remember talking to a QA person about automating Event Admin (a Domino Server feature) and he said the hundred or so tests run by DNA would take me three months to do manually – and DNA did it in about 20 minutes – every day, on every build, on every platform. At the end of the day, and I am not sure of the exact number, but there were literally 10’s of thousands of tests run every single day on almost every single supported platform for both client and server. The results of the tests were of course published to a Lotus Notes database and notification emails were generated.

Why is this important?

So on any given day you could see exactly what and who broke the build. This was a huge leap forward in terms of quality because you no longer introduce a problem into the build and find out two months later during feature testing or even worse after the code is shipped. Resolution was often fast because we could isolate the exact submitted code from the ClearCase source control system.

Having a “clean” build meant any developer could synchronize the latest binaries and start work on “the next thing”. This allowed over 1200 developers to not be dependent on a single build model. A single build model is, we do builds on Fridays. That would mean if you wanted to start working on “the latest code” you would have to wait until Friday or use last Friday’s build. Over time this could kill a development cycle, especially if Friday’s build was bad. And remember, if you do builds once a week that’s 1200 developers checking code in every day – unchecked. By the time Friday roles around you may have merge conflicts and even worse – run time conflicts.

Today, much of this is done in the form of Unit Tests – like JUnit or our custom internal unit test suite called DLLTest for C/C++. Many members on my team had patents around this process and some of the small utilities we wrote in order to accomplish this. See below for the two patents I received for my automation work.

Patent References: (patent profile)

2006/0070,034 2006 System and method for creating and restoring a test environment
2005/0289,517 2005 System and methods for client and template validation
Advertisements

LinkedIn Groups come through again!

While playing around in Sametime I came across this apparently not too well-known feature and blogged about it last week – Can’t remember that person who Sametime’d you?.

Before I begin I want to thank everyone for responding, liking, and emailing me!

Continue reading

Free “Mastering XPages” book!

I am offering my copy of “Mastering XPages” by the amazing team of Martin Donnelly, Mark Wallace, and Tony McGuckin to the first responder of this point. Please email me at bob [at] balfes.net. The only catch is you pay for shipping and handling.

Will Java 8 bring in OSGI?

One of the big moves in the industry is to the cloud and many have already begun talking about what will the cloud mean to Java. As outlined in Joab Jacksons article about Java 8, Java 8 gears up for the cloud, making Java modular is a must have. As many IBM server technologies like Notes Domino and the Notes client already have OSGI built into their stack, this would be a great move if Java 8 included OSGI.

One effort, Project Jigsaw, has been working on this goal. When Sun Microsystems controlled Java (Oracle purchased Sun in 2010), that company’s engineers preferred Jigsaw over another approach, OSGi (Open Services Gateway initiative), overseen by the OSGI initiative.

Developers: 4Shared offers $5000 a month in contest!

4Shared, a Virtual drive and file storage company, is offering an integrated file management solution that allows users to access and save their content from their desktops and mobile devices.

4Shared users receive 15 GB of available space for free on their virtual drive, an amount considerably greater than any competitor. The space capacity allows personal and business users the flexibility to choose 4Shared as their secure backup drive for the storage of important data, photo, or video files. 4Shared Desktop is a browser-based user interface features a clean design that is customizable to fit user preferences. It features time-saving functions such as simple and fast drag-and-drop storage of hundreds of files at once.

4Shared is now offering a $5000 a month award to the most innovative application that uses their API’s. This sounds like a great way to get some extra money and create something cool for the web or a mobile device. The company is boasting its API’s (link here) to be used by developers to create applications for the masses. The API’s look very straightforward and their wiki has a lot of nice samples to get even the most novice developer up and running very quickly. On the main wiki page they have basic developer setup instructions for all of the major platforms (iOS, Android, Symbian, etc). My choice would be Android since you can pretty much start for free and Android is becoming more and more popular. They recommend using Eclipse and the Android SDK.

“Offering our API for use by developers allows us to give an even broader range of customers access to our secure and fast storage solution,” said Mr. Lunkov

File storage and retrieval are becoming very popular for mobile phones. While there are a lot of similar services out there today, I really think starting with the developer is a great idea – that is where innovation begins and what better way than to have a $5000 a month contest!

Rotating the free partner ads

So I got some immediate attention about yesterdays post about placing free ads for business partner products on my blog. I gave it some more thought and tonight I designed a basic rotation system based on the hour of the day. Currently the ads will rotate every hour or every several hours – it just depends on how many ads I will be displaying. The more I get the more the algorithm will be enhanced to give everyone a fair share. So currently, if you sent me your ads you should see them at least once a day and possibly for several hours. I may even set up a nice little animated slide show (similar to my post slide show at the top of the site) of the ads so it rotates through the list and changing the order each hour, we will see.

The 6 hottest new jobs in IT

Great article on InfoWorld. As I get more and more acquainted with my new job, meet with customers and learn the business of eCommerce I am seeing this more and more. For instance, Business Architect is clearly a job role that could fill some gaps. It brings me back to my Marine Corp days where each developer on the supply system project (ATLASS) got supply certifications (an additional Military Occupational Specialty). We went through many classes to learn how supply management was done and in the end we were pretty good at the business side. This allowed the developers to truly understand the business needs of the application and in the end it resulted in an amazing application that was used for many years.

The 6 hottest new jobs in IT

via The 6 hottest new jobs in IT | Information technology careers – InfoWorld.