Testing Flashcards
Describe functional testing
to determine whether software works right: whether it behaves as intended in a logical sense,
What is non-functional testing
examines usability, performance, security, resiliency, compliance (with standards and regulations, for example), localization, and many other issues, with an eye to finding out if software is fit for purpose, provides intended value, and minimizes risk.
What is test driven development (TDD)
using testing as a framework for guiding software development: that is, capturing design requirements as tests, then writing software to pass those tests.
What is unit testing
Detailed functional testing of small pieces of code (lines, blocks, functions, classes, and other components in isolation
What are two testing frameworks in python
unittest and Py Test
What is integration testing
makes sure that all of those individual units you’ve been building fit together properly to make a complete application
When should you run an integration test
you should run your integration tests before you make any changes for the day, whenever you make significant changes, and before you close out for the day
What is the first step in TDD
Create a new test - The idea here is to capture some requirement of the (perhaps not-yet-created) unit of application code we want to produce
What is the second step of TDD
Run tests to see if any fail for unexpected reasons - If this happens, correct the tests. Note that expected failures, here, are acceptable (for example, if our new test fails because the function it’s designed to test doesn’t yet exist, that’s an acceptable failure at this point).
What is the third step in TDD
Write application code to pass the new test: - The rule here is to add nothing more to the application besides what is required to pass the test.
What is the fourth step in TDD
Run tests to see if any fail - If they do, correct the application code and try again.
What is the last step in TDD
Refactor and improve application code - Each time you do, re-run the tests and correcting application code if you encounter any failures.