Sunday 27 July 2014

Beat the competition and improve business outcomes – test driven development



Being in the software vending business, I have learned from personal experience that testing is the single most important concern in the product development process as a whole because this is essentially what determines the quality of the outcome. There is no room for compromise here because sub-standard testing processes can lead to infrastructure and enterprise breakdowns, lower consumer satisfaction and higher business risk, all of which can be disastrous for any enterprise. Having understood the importance of having uniform testing priorities across the organization, I found that test driven development proved to be a most effective business practice and one that gave my enterprise the best chances of success. If the product development process is simultaneously supported by independent testing services, there are many benefits that you can enjoy. First, the laborious and time consuming process is effectively detached from the main development process and this can drastically reduce the “time to market” factor while at the same time ensuring no compromise in the quality of the product developed because test results are incorporated in the development process in a continuous basis.

Test driven development also reduces the risk of a software product being behind the times because the changes in the market requirements are effectively gauged in the testing process and the development is guided towards catering to these changes in the market scenario. The challenge of catering to changing consumer needs is effectively solved because the development team is constantly clued in with the changing trends. This leaves very little to chance and drastically reduces the risk involved. Fast emerging trends like cloud and mobility are also largely responsible for the rapid changes in market demand and testing that incorporates these trends too is the most effective. I have discovered that rather than utilize resources for the process, it makes better sense to take on an independent testing consultancy/service provider so that your enterprise is free to concentrate on the core processes while these essential support processes are provided seamlessly by an external service provider. This improves the cost efficiency of the business by nothing less than 30% to 40%. No wonder even giants in the market like Fortune 500 companies utilize this solution as the most efficient business practice!

Thursday 24 July 2014

Always In Vogue- Model Based Testing



The business of software development is complicated and challenging to say the least! The biggest challenge faced by entrepreneurs owning ISVs, like me, irrespective of whether the business is big or small, is the “time to market” factor. Intrinsic to the development process itself is the process of testing which is vital to ensure quality of the end product and consumer satisfaction. One factor common to all forms of testing is being aware, with complete clarity, of what needs to be accomplished by the end product. Model based testing or MBT is also no different when it comes to this factor. First a mental model is formed in the minds of the testers before further steps can be taken and the actual testing process can be executed. Simplistic though this sounds, it is not a trivial process at all because modern systems have complex interfaces and even more complicated functionalities. Moreover the software is deployed within vast operating systems and among a myriad of other applications, so the number of factors affecting the outcome of the end product can be mind boggling. Now imagine forming a mental working model with all these factors included!

Model basedtesting was not only used effectively in the past but is also currently in use in the present and will not go out of fashion in the future simply because of its versatile and all encompassing nature. The entire system and what the specific software being developed will do within the system is viewed as a single model or a series of smaller models and the testing procedure is largely based on these models. Thus MBT is both basic in nature and complicated too and it lends itself with great versatility to any scenario. There are no software models which function as a “one size fits all” and every situation demands a unique model. This is why testers following MBT should be thoroughly knowledgeable about the systems and the functionality of the end product and also the end users. This will enable them to choose the right models for executing the testing process efficiently and getting the most accurate results.