Title: Resource exhaustion and other uncommon testing scenarios
Slug: resource-exhaustion-and-other-uncommon-testing-scenarios
Date: 2009-08-04 15:33:00
Author: Kartones
Lang: en
Tags: Testing, Patterns & Practices
Description: Some uncommon testing scenarios.

 <p>The idea of this post and part of the contents are from the fantastic book <strong>The Pragmatic Pogrammer</strong>.</p>  <p> </p>  <p>We <b>don't</b> usually test for most of the following resources:</p>  <ul>   <li><b>Anti-virus software</b>: Some of them have aggressive heuristics that can confuse a binary socket communication with a trojan. </li>    <li><b>Color depth</b>: How does your website looks in 256 colors? and on a mobile device (if supported)? </li>    <li><b>CPU bandwith</b>: Slowness, long response wait times, too CPU intensive calculations. </li>    <li><b>Disk bandwith</b>: Similar to CPU bandwith, but caused ony when performing I/O. </li>    <li><b>Disk space</b>: Getting out of available disk space (or quota space) while writing any file. </li>    <li><b>Fonts and DPI</b>: Does your application support custom DPI schemes (for example, bigger characters)? Have you tried launching your application on a windows without your used font? </li>    <li><b>Memory</b>: OutOfMemory exceptions in .NET, Garbage collector being very slow or being called too much... </li>    <li><b>Network bandwith</b>: Timeouts in web services, slowness when having big network I/O... </li>    <li><b>Power shortages</b>: unplug the AC adaptor of your desktop pc while testing the application, and then launch it again. Does it wor, or at least recovers from the sudden shutdown? </li>    <li><b>Restrictive ACLs and Account Policies</b>: Don't assume your application will be able to write into windows registry, test for it (at least when launching the application if you're mad with performance hits). </li>    <li><b>Video/Screen resolution</b>: Have you tried your WinForms application in a 640x480 resolution? and in one of the now widely spread netbooks (which usually have wanky resolutions like 1024x600)?</li>    <li><a href="http://en.wikipedia.org/wiki/Wall_clock_time"><b>Wall clock time</b></a>: Human perception of passing of time, versus time taken by a computer to complete a task. Do not take tests as "the whole truth", human testing of applications is always needed. <b>*</b> </li> </ul>  <p> </p>  <p><b>*</b> An example of the wall clock time is pre-Service Pack 1 Vista's file copy, which was in theory faster and better but actually took longer to copy the same file than in XP for a normal user (more info about it can be found <a href="http://blogs.technet.com/markrussinovich/archive/2008/02/04/2826167.aspx">here</a>).</p>
