<em>User interface testing</em> ensures the correctness of how a user would
interact with the software. There are even more forms of testing that large
programs need, such as <em>load testing</em>, <em>database testing</em>, and
<em>browser testing</em> (for web applications).</p>
<h2>Testing in Python</h2>
<p>Python software development culture is heavy on software testing. Because
Python is a dynamically-typed language as opposed to a statically-typed
language, testing takes on even greater importance for ensuring program
correctness.</p>
<h2>Testing resources</h2>
<ul>
<li>
<p><ahref="https://realpython.com/blog/python/the-minimum-viable-test-suite/">The Minimum Viable Test Suite</a>
shows how to set unit tests and integration tests for a Flask example
application.</p>
</li>
<li>
<p><ahref="http://late.am/post/2015/04/20/good-test-bad-test.html">Good test, bad test</a>
explains the difference between a "good" test case and one that is not
as useful. Along the way the post breaks down some myths about common
testing subjects such as code coverage, assertions and mocking.</p>
</li>
<li>
<p><ahref="http://pythontesting.net/">Python Testing</a> is a site devoted to testing
in - you guessed it - the Python programming language.</p>
</li>
<li>
<p><ahref="http://michaeldehaan.net/post/120522567217/the-case-for-test-driven-development">The case for test-driven development</a>
by Michael DeHaan explains how automation is the only way to build software
at a large scale.</p>
</li>
<li>
<p>Google has a <ahref="http://googletesting.blogspot.com/">testing blog</a> where
they write about various aspects of testing software at scale.</p>
</li>
<li>
<p>Still confused about the difference between unit, functional and
integration tests? Check out this
<ahref="http://stackoverflow.com/questions/4904096/whats-the-difference-between-unit-functional-acceptance-and-integration-test">top answer on Stack Overflow</a>
to that very question.</p>
</li>
<li>
<p><ahref="http://engineroom.trackmaven.com/blog/using-pytest-with-django/">Using pytest with Django</a>
shows how to get a basic <ahref="http://pytest.org/latest/">pytest</a> test
running for a Django project and explains why the author prefers pytest
over standard unittest testing.</p>
</li>
</ul>
<h3>What's next after testing your application?</h3>
<ahref="http://www.deploypython.com/"><imgsrc="/img/sponsored/fsp-deployment-guide.png" alt="The Full Stack Python Guide to Deployments" width="100%"></a>
<pstyle="font-size: .8em; margin-top: 10px;">Searching for a complete, step-by-step deployment walkthrough? Learn more about <ahref="http://www.deploypython.com/">The Full Stack Python Guide to Deployments book</a>.
<ahref="/what-full-stack-means.html" class="list-group-item smaller-item " style='font-family: "Helvetica Neue",sans-serif;'>9. Meta</a><ahref="/table-of-contents.html" class="list-group-item smaller-item" style='font-family: "Helvetica Neue",san-serif;background-color:#22B24C; color: #fff;'>...or <spanstyle="border-bottom: 1px dotted;">view the full table of contents</span>.</a>
</div>
</div></div></div>
<hr/>
</div>
<divstyle="padding: 0 0 20px 0; margin: 0 0 20px 0; background-color: #22B24C;">
<divclass="container">
<pclass="banner"><ahref="https://www.gumroad.com/l/python-deployments" style="color: #fff">Learning web development? Check out The Full Stack Python Guide to Deployments book</a>!</p>