With
the tens of thousands of lines of code that go into modern software
and the inconsistencies that can sometimes occur when programs are
compiled to machine language, it can be very hard to guarantee the
integrity of almost any software. For organizations that rely on the
quality, reliability, and security of their software, no hole can go
unpatched. To achieve this, rigorous software testing is an absolute
necessity.
One
of the most difficult situations any piece of software can undergo is
extreme load. With the ubiquity of the Internet and sheer computing
capacity computers have today, situations of extreme load are no
longer very uncommon. Denial-of-service attacks happen almost on a
day-to-day basis, and software bottlenecks can occur when poorly
optimized code is fed so much data too quickly.
The
problem with software operating at extreme load is that it often
doesn’t reveal its most serious problems until it is subjected to
such high loads. Instead, it will function normally under normal
conditions and then usually fail dramatically when under
stress—sometimes with serious security consequences.
Software
stress testing is the only way to guarantee that a piece of software
will not fail under extreme load, or that it will fail gracefully and
not reveal its secrets when it does so. Given the plethora of
possible scenarios, the only way to stress test software reliability
is to keep going at it from every angle, analyzing each result along
the way: test, rinse, repeat.
No comments:
Post a Comment