Category Archives: OpenSource

Cost Effective Web Application Testing

Web applications are the way of life today. Every business, every person uses web for one thing or the other every day. I remember the famous SAIL advertisement “There’s a little bit of steel in everybody’s life”.. “There’s a little bit of Web in everybody’s life today.

Recently, I spoke with a group of Web Application experts from RedBus on how can we reduce cost while testing web applications. How much ever the technology has advanced, few basic aspects remain the same and when you do them correctly, you can reduce huge over-head’s.

You may use any engineering model for your development (Spiral, Waterfall, Agile etc), but your test strategy should include the basics and get it right. The fundamental aspects of Inspections, Reviews and Checklists become very important.

Reviews
This is one of the oldest and proven forms of Testing. Reviews demand understanding of the domain and the technology by each and every stakeholder of making the system work as required. Reviews happen within the team and also by a knowledgeable source – Peer-Reviews and Expert Reviews. Peer reviews are within the team by an Architect or the Designer and also a review by an expert in the domain and the system will add a lot of value. One other review is by the end-user. Requirements are gathered by the Business Analyst or the given by the End-user. Having a review of the functionality of the system by the End-user will ensure that you building the system right and adds value to the end user. In case of the web application and it is our solution, a review of the functionality by your friends or family will give you a third perspective.

Imagine a rocket launch or an airplane with out the review… Reviews exist in all industries and this is one of the most accepted and cost-effective way of testing.

Inspections
Inspecting the system is again a task of the expert. Inspections provide opportunity for ad-hoc testing and ensure all requirements are covered while building and not at the end.

Checklist
Checklists help in ensuring you check for the key functionality, but not at an intense level. For example, if you are building a user log in functionality for your web-site, the checklist will read something like this:

1. Page load with all required fields?
2. Correct User Name and wrong password?
3. Incorrect User Name and random password?
4. Blank User Name and Password fields?
5. Blank User Name and random Password?
6. Blank Password and random User Name?

In a checklist, you do not get into the details. You will check for the appropriate error messages which need to be shown. Checklists are most effective when you make them as comprehensive as possible. Try speaking to a Pilot and he will tell you how their checklists are designed.

The above are the common Cost effective testing method’s. Threat modeling and Penetration Testing are two techniques which are important for web applications. In Threat modeling, you will design various models of how the application can be intruded once deployed. Considering these models, you test the application. However, it is not practical that few people can think of all the various ways an application can be intruded. Hence, a good threat model does not mean that the application is safe in all aspects.

Recently, I was reading The Checklist Manifesto by Dr. Atul Gawande and it shows the power of checklists. Dr. Atul showcases his experiences of usage of checklists in Construction, Airplane’s and Hospitals and this is an amazing read to see for yourself, how these small checklists make life so easy to work.

Interesting OpenSource Sites

Over the period of time, organizations have evolved and changed the way they played the game. Once upon a time, organizations were masters in what they produced and most of the time played their cards well. With the growth of Internet, organizations have not only capitalized the advantages, but also working day and night to grow along with their competition.

One fine day, Sony and BMG, the leading music company woke up just to see how MP3 (a particular compression technology for music tracks) shook the roots of their empires. They knew all about the technology, but were over confident that their homes were the safest places and over-looked how the new technology was building its strength under their own homes. When they realized, they cried foul, but it was too late.

IBM was struggling with its server software, which was not a huge success in the then market. Intelligently, it was following the success of Linux and Apache, the open source Web server software. IBM did not give up on any of its hopes and understood the rules of the “Open Source” game. It quickly acted and came into an agreement with Apache and soon, IBM’s server hardware was rolling out with Apache running on Linux. IBM has dedicated teams that Contribute to Linux and Apache. An intelligent move that only bettered IBM’s market place rather than hampering it.

When the concept of Open Source initially came out, many organizations did not pay serious attention. How can people around the world write software when it is not controlled or checked by anyone?  This is an Interesting question, which cannot be answered in a line or two.

Over the series of my posts, we will discuss and share ideas on how Open Source will be the major contributor to tomorrow’s world.

Let me begin by listing few web organizations, which are built around interesting and innovative ideas.

Taking IT Global – Taking IT Global is a not-for-profit organization bringing people together to share and work on projects that are beneficial to the world. The idea revolves around people in the community listing their ideas and projects and community members come together to support and work on the projects.

SpikeSource – You have been using open source software. The key element is that the code changes every minute and new functionality keeps on getting added. How can you manage these changes? Spike Source is an open-source source code integrator. This integrator runs periodically and runs through various open source code, test and integrate the same to your base code. Sounds interesting? Try it out?

43Things – A Social Networking site with a difference. List your professional / personal goals, search for people with similar aspirations and work together. Also, you can keep updating your goals with the progress and get encouragement from your peer members.

InnoCentive – The most interesting site I came across. This is a web based innovation center. Organizations / people list their problem for which they are looking for solution and if you are a master in the subject, feel free to solve the problem. There are many chances you are paid if you provide the most innovative solution and also, you are a celeb 🙂 

NineSigma, InnovationXChange Network, Eureka Medical, YourEncore and Innovation Relay Centers are quite similar to InnoCentive. 

I really like the TakingITGlobal and Innocentive. Over the period of time, I will deep dive into OpenSource in various fields concentrating on HealthCare and Social Innovations