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

My second day with the Microsoft Surface – fully loaded

Screenshot (2)One thing I did not mention in yesterday’s post was when you log into Microsoft Surface and use your Microsoft Id you get all of your cloud settings for your account. So my tablet immediately got all of my pictures, documents, and social network accounts automatically configured. It was literally like I just logged into my Windows 8 Laptop.

Today however, I spent time getting my favorite applications loaded on the tablet. Since this is a work tablet I had to get the IBM connection setup through the VPN and then of course I copied Lotus Notes to it. Lastly, I got GIMP, Eclipse, and started getting my MS Office suite over to it.

I will say if you plan to use these applications you will definitely need a keyboard and possibly a mouse. While the stylus works well, it takes a lot of getting used to, especially with re-sizing sashes and side bars. I may go and get the video adapter and keyboard this weekend. I can easily see this replacing my laptop for customer presentations, plane rides, and demo’s. I am not ready to take a leap and claim it will completely replace the laptop eventually but right now it is very close.

My first day with the Microsoft Surface – this is no tablet

surfaceI now see the attraction of the Microsoft Surface. While it has been documented, written about, reviewed, etc by many and in a sense does not get the recognition some of the other tablets get I think it is clearly getting short changed. And the reason is…

This is not a tablet, its a PC. It does pretty much everything my laptop and desktop can do and a whole lot more. The “tablet” is very thin and compares nicely against the other tablets on the market. I have the 128GB model and it seems to be so much memory when compared to my 64GB iPad.  It has the cameras on both sides, very cool. It comes with Skype, once again any PC app should install on the device – priceless. The actual tablet itself seems very stylish and sturdy. I remember when I got the iPad and thought “what a solid design”, I had the exact same impression when I first held the Surface. Since I have a Microsoft Account for XBox and I have Windows 8 on my personal laptop the instant I logged in with that account ID I had all of my cloud pictures, songs, etc. Brilliant!

Some of the key things I really like about the Surface:

  • The large screen resolution (1920×1080) is brilliant.
  • Having the option to go to “Desktop” brings back the PC experience
  • Putting a PC app like Chrome into full screen mode is a simple swipe – I am sure there are many little shortcuts out there
  • The USB stick, enough said. iPad’s clearly need this option – the cloud, network, wifi, whatever doesn’t always work and getting files to/from an iPad is difficult. Not too mention the iPad isn’t a PC

Some of the things I either don’t understand or don’t know how to do:

  • I do not have a keyboard so navigating or typing in fields is a little cumbersome today. For instance, web fields in Chrome the virtual keyboard shows and disappears quickly.
  • The stylus is a little flaky, it has a magnetic sensor it

I would be interested in hearing others reviews on this. Since I have only had this a couple of days I might end up writing a new review after some extended use.

Some other positive reviews on the net:

 

 

 

What are your thoughts on Worklight?

worklightI have been playing with Worklight over the past several weeks and its definitely a very cool platform to do your development on for web and devices. I am really interested to hear some real world experiences around creating applications based on Worklight. If you care to share them here I would appreciate your feedback. Or if you have a review on your own blog or know of one please share!

Baiting the Big Guy, the Smarter Shopper has arrived

BaitingBigGuyCustomers are getting smarter. Smarter about products, brands, services, and most of all the way social works. The younger generation catches on quickly and often thinks outside of the box to get what they want. They call you out when they learn things, often using social media to tout their findings. In this post I outline two approaches “kids” use to figure out about a brand or get that special discount. I say kids but the reality is many internet savvy people are doing these things every day and you as a brand need to understand what happens when you are called out.

The Spam Finder

The first scenario is a disgruntled holiday shopper that all of the sudden started getting many “spam” emails from all kinds of companies. The shopper knew they purchased gifts on four different sites and wanted to figure out which site sold their email. The trick was they created four different emails on GMail and registered one email per site. Within days, two of the email accounts started getting unsolicited emails, that’s 50%! This could be harmful to the brand if something like that goes viral on Facebook or Twitter and calls you out. Be upfront and tell them their information is being sold but if you really want loyalty then clearly claim you will not sell their information. The later seems to be more the mode of operation on most sites because they want to build that loyal customer.

Abandoned Cart? No problem, here is your coupon!

The next story is a very interesting one to me indeed as I have often written about “abandoned shopping carts”, customer dialogs, and coupons. Did you ever wonder why your company has so many abandoned shopping carts? It only takes one person to abandon a cart, get an email with a coupon the next day because of the abandoned cart and next thing you know everyone that person knows is abandoning carts to get the coupons! Yep, you might want to do a few extra checks before issuing that coupon or only issue them under certain conditions like a return customer or a customer that has previously ordered from you.

If you have any stories around “baiting the big guy” I would love to hear them.

Printing from the iPhone and iPad

photo 1

I have waited for this for a while and didn’t think to check the app store for this little app.  No, I am not an apple Airprint guy so I don’t have the native print capability in my iDevices. I have an HP All-in-One printer I bought several years ago. So all of you HP fans who are not aware of this cool application you should think about getting it.  I have already used it a few times for some web printing and got the application installed on my iPhone and iPad. You can connect directly to a Wifi printer or the printer just needs to be on the network your device is attached to.

Just search for “HP ePrint” in the App Store, it’s free!

photo 2

Windows 8 Upgrade – A new beginning

Since the world is coming to an end this week, I bit the bullet and upgraded to Windows 8. The install was seamless as I opted for the download version. A couple of reboots and my machine had a new look and feel. Unless you want a completely new Windows experience, I would not recommend this upgrade. If you are adventurous and like new things it looks like its a pretty polished upgrade.

It it going to take me a bit to get use to the operating system. The user interface is very responsive and kind of intuitive. The worst part of the process, and I may have messed this up, is it took all of my old applications and put them in a Windows.old folder. I had to essentially re-install all of my applications. It did preserve all of my data (the My Documents folder) and all of my songs, pictures, etc. I find navigation a little strange right now but I am slowly getting use to it. I also have to figure out how to get my Lenovo W500 Fingerprint reader working as Lenovo does not have a Windows 8 driver for it yet. Outside of that little problem everything seems to be working great!

By the way, I agree with Joe, the Windows 8 Logo is a disaster.

Using the XPath API to figure out my stats

One major problem I have with base WordPress is while it does a good job giving you stats around views (the number of hits you get per post) it does not do a good job for post counts. In the previous post I had to create a chart that showed how many blog posts I wrote in the months and years past. I am sure there is a plugin out there for this so if you know of one please mention it in the comments!

Continue reading

HTML5 Automation best in Internet Explorer – See for yourself

The video in the previous post did not do the test justice as many could not tell it truly is a smoother animation so here you go, you can view this web page yourself on the different browsers.

What I see on my machine is a much smoother animation of both the outer box and the growing text. Notice it is not choppy at all in IE, very smooth. And just an FYI, I am a solid Chrome user for a few years now, before that FireFox, and before that IE. With all of these IE commercials on television I had to see if this really was “faster”, at least in this space. I would be interested to hear what others see.

Link also here.

Internet Explorer KILLS the competition with HTML 5 Animation

I downloaded the Adobe’s new Edge Animate and played around with the tutorials for a bit and even did a basic animation. After I saved the HTML I then launched it into my default browser (Chrome) and was not very impressed. The animation was very choppy and even left blit marks throughout the animation, some really bad double buffering going on…

I then went back into Edge Animate and added even more animation, the text growing over the time line. This made it even worse in Chrome! I then opened the file in all of the major browsers (IE, FireFox, and Safari) and was amazed how great Internet Explorer did! It was by far the smoothest animation, with FireFox coming in a close second. You can’t completely tell by the video but you can definitely see how horrible Chrome is. And yes, these are all the latest browsers, except FireFox (I can’t keep up with their weekly updates).

I know this is a basic test but its pretty clear who the winner is here, without any “special” HTML5 code. It could also be that Adobe is in Microsofts pockets and intentionally made it perform better in IE but someone would have to prove that to me.

In the video I show Chrome, Safari, FireFox, then Internet Explorer.