Coding and maintaining a complex web application isn't an easy or simple task. Web application developers deal with very short lead times and the constant pressure of having the application up and running
now. For this same reason, very often the perception is that there is no time to plan, document or test thoroughly, which can unfortunately lead to buggy software, missed deadlines and unreadable code. However, trouble can still brew even for applications that have been carefully planned, tested and documented.
Think of a web application as an iconic English rose garden; it would certainly not be a pretty sight without a team of dedicated gardeners to care for it. As a web application grows and evolves, the need for improvement in areas that had not been originally contemplated will become evident. Our rosebushes will grow out of shape and there will be weeds creeping everywhere!
For instance, as the number of users or information processed by the application increases beyond anticipated levels, the application may become slow or unresponsive. This, by the way, was a real problem we faced not so long ago and that required prompt and creative solutions in order to assure the users would continue to have a great experience using our product. Another example is when we face the need to incorporate services or features that were not originally part of the plan and that will result in significant alterations to all other areas of our code. In these situations testing becomes critically important, as it can help not only find any existing problems or bugs in the code, but also identify parts of our code that are redundant, conflict with the recent changes or do no longer serve a purpose in the new order of things.
But not all change is originated out of need; sometimes, it is simply motivated by a desire to improve the experience of our users by adopting and implementing new technologies, libraries, frameworks or language features that weren't available before. This is also good for us as engineers, because it makes our code more robust and easier to maintain. As with everything else, however, you can be sure it will be tested before it makes its way to production.
Written by Gabriela Jack, Quality Assurance Engineer at MerusCase
Leave a Reply