The Need for Non-Functional Tests
Every year we see governments across the world allocate budget for natural disasters, military/defense reasons and other unexpected challenges despite their unpredictable nature and scale. However, software performance and security breaches such as Website/App crashes, hacking of bank accounts, credit cards etc. happen every year but companies still don’t seem to be fully prepared to handle such challenges when they are struck again.
Software users get highly upset and concerned in situations where the software takes time to respond within a specified time or crashes when it cannot handle a request from the user. Similarly when vulnerable code allows external sources to enter a system and hack data that is to the privy to the user, whether financial or otherwise, people lose trust in the software. These are called non-functional elements of the software, which are as good as any functionality that is available on the user interface.
As much as functional faults users are very sensitive to non-functional issues. Let’s look at some examples of non-functional failures that recently rocked the world.
- Pokeman GO crash in July 2016 due to heavy user loads
- Canadian Immigration website crashes after US elections in November 2016
- Black Friday 2016 – Macy’s website and mobile app crash under heavy loads
- $81 million of Bangladesh’s money was siphoned by hackers in February 2016
- Yahoo reported Data thefts in September and December 2016
- Reports say Russian hackers allegedly hacked into the Democratic National Convention(DNC) and manipulated the election in favor of Donald Trump
As mentioned above, we have seen a lot of statistics on business/revenue loss due to slow loading pages, data breach and related challenges. Non-Functional tests such as Performance and Security Testing cannot be taken lightly, but we comfortably ignore them citing several reasons (time, skill, budget, complexity, etc.). As we can see many failures like the ones above can be avoided with a solid software testing approach. As businesses continue to become digital, performance and security challenges are bound to increase and it is absolutely critical to conduct rigorous software tests to prevent loss of data, money and goodwill.
Software development has evolved over the years. From Waterfall model, teams have moved to methodologies and frameworks such as XP (Extreme Programming), Scrum and Kanban. Companies have started using practices such as Continuous Delivery/Deployment, and Continuous Testing has become part of such practices.
In this 3 part series about “Running Non-Functional Tests in Continuous Testing Mode,” we’ll discuss about Continuous Testing, how non-functional tests are setup in Continuous Testing mode and how to run non-functional tests in Continuous Testing mode for betterment of software quality.
(To be Continued …)