Wednesday, April 30, 2014

Beta Testing

Beta testing is the last stage in development testing of a software application before it is ready for final release.  Beta testing usually takes place on the almost final version of the software and is used by the developers to find bugs that everyday users may encounter that they had not accounted for.  Many development companies will put out an open call to their existing user base or people who have shown interest in the product to be beta testers for them.


Public beta testing has become very popular in the video game industry lately.  Developers are able to leverage it in several ways.  Not only do they get real users helping to find bugs and break their games, but they also use it as a way to generate buzz and even funding for their games.  A lot of developers are selling early access to their games, sometimes at a discounted price, to be involved in the beta testing of the game.  

Beta testing is extremely important, especially for applications that use the internet for connection or syncing.  Sometimes, even the most well designed programs can crash and burn under the weight of a large amount of users at one time.  That kind of unforeseen load can cause things to come to a screeching halt pretty quickly.  Beta testing allows the developers to gradually increase the amount of users they have active at one time to get an understanding of how well their server software can handle large amounts of data requests.  

References:
What is Beta-Testing. http://www.kaspersky.com/downloads/beta_testing

Friday, April 18, 2014

Usability Testing


Usability testing is a subject that often goes over looked by computer science students.  Its very easy for a developer, who is so focused on how the back end of a program works, to forget that people are actually going to need to interact with the application or software they are working on.  Even the most impressive or useful algorithm will fall into obscurity if the applications design is not functional and easy to use by the end user.   This is where usability testing really shines.

Usability testing is a scientific approach to understanding how humans interact with software.  Its how developers and computer scientists build an understanding of their users to see not only what they want and need, but what is valuable to them and their abilities and limitations.  Crafting a good user experience is finding a balance between what is useful to the user and what is valuable.  Peter Morville demonstrates this balance with what he calls the "User Experience Honeycomb".



Morville uses his honeycomb to demonstrate the most important parts of a good user experience.  For information to valuable, it must also be usable; useful; desirable; accessible; findable and credible.

Usability testing is most effectively accomplished by building quick prototypes of the interface and studying how users interact with it.  These prototypes can be as simple as drawing interface mock-ups on paper and having users simply point to items they like or dislike.  Simple paper drawings are a easy and cheap way to quickly discover what works and what really doesn't work.  More advanced prototypes can be made in later iterations to get closer to what a real application is going to look like and behave like.  There are many companies like proto.io  that specialize in web apps that make it easy to create robust user interface prototypes in a very short amount of time.  Tools like these make it very easy for developers to get through many rounds of usability testing to develop a useful and meaningful user experience.

References:
The User Experience Honeycomb by Peter Morville
Proto.io Wireframes with Actions.

Tuesday, April 1, 2014

Blogs

A Blog is a web site used for personal discussions or as an informational site for other people to read.  The term "Blog" was coined as being short for "Web Log".  There have been many social blog sites created that help people develop and maintain their personal blog as well as discover and connect to other blogs that may be interesting to them.  Sites such as Tumblr, Blogger, Wordpress, and even Facebook to name a few.  Blogs are a great tool for communicating and sharing interests and for finding other people who have the same interests.  Some blog sites have become major social networks for people to find and create new social circles based on particular interests.  Users on these sites can comment and share their thoughts with the original poster or even 'reblog', meaning to share the original content with their own followers.
Creating blogs can be helpful to a persons career as well.  Many companies that are hiring technical people like to see a potential candidate has a technical blog.  This shows that the candidate has a personal interest in what they are talking about that extends outside of just their job functions.  It shows an interest in growing and learning new things, as well as participation in a technical community.  Blogs are a great way to showcase personal projects and to get others interested in the work you are doing.
The Nielsen Company estimates that, as of 2011, there are over 156 million blogs in existence and that number is continuously rising.  This shows that Blogs as a platform has an incredible potential to reach millions of people.


References:
The Neilsen Company- Millions More Bloggers. http://www.nielsen.com/us/en/newswire/2012/buzz-in-the-blogosphere-millions-more-bloggers-and-blog-readers.html