GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Integration testing with Context Managers
  • What is an integration test exactly?
  • unit tests
  • Consistent Selenium Testing in Python
  • Where do our flaky tests come from?
  • Unleash the test army

This view

  • Original page
  • New address

GeezerVison is showing www.fullstackpython.com — Integration Testing

Full Stack Python
All topics | Blog | Supporter's Edition | @fullstackpython | Facebook | What's new?

Integration Testing

Integration testing exercises two or more parts of an application at once, including the interactions between the parts, to determine if they function as intended. This type of testing identifies defects in the interfaces between disparate parts of a codebase as they invoke each other and pass data between themselves.

How is integration testing different from unit testing?

While unit testing is used to find bugs in individual functions, integration testing tests the system as a whole. These two approaches should be used together, instead of doing just one approach over the other. When a system is comprehensively unit tested, it makes integration testing far easier because many of the bugs in the individual components will have already been found and fixed.

As a codebase scales up, both unit and integration testing allow developers to quickly identify breaking changes in their code. Many times these breaking changes are unintended and wouldn't be known about until later in the development cycle, potentially when an end user discovers the issue while using the software. Automated unit and integration tests greatly increase the likelihood that bugs will be found as soon as possible during development so they can be addressed immediately.

Integration testing resources

  • Integration testing with Context Managers gives an example of a system that needs integration tests and shows how context managers can be used to address the problem.

  • Integration testing, or how to sleep well at night explains what integration tests are and gives an example. The example is coded in Java but still relevant when you're learning about integration testing.

  • What is an integration test exactly? is an awesome Stack Exchange thread that defines the differences in testing approaches like unit tests versus integration and other tests. There is also some practical advice like "It’s not important what you call it, but what it does" which as a pragmatic programmer I am keen to agree on.

  • Consistent Selenium Testing in Python gives a spectacular code-driven walkthrough for setting up Selenium along with SauceLabs for continuous browser-based testing.

  • Where do our flaky tests come from? presents Google's data on where their integration tests fail and how the tools you use can sometimes lead to higher incidents of failed tests than other testing tools.

  • Unleash the test army covers the author's first impressions of using Hypothesis for testing the properties of a system under test.

What else do you want to learn about testing?

How do I create unit tests?

Can I automate testing and deployments for my app?

What code metrics should I be aware of?

Table of Contents

1. Introduction 2. Development Environments 3. Data 4. Web Development Web Frameworks Django Flask Bottle Pyramid TurboGears Falcon Morepath Sanic Other Web Frameworks Template Engines Jinja2 Mako Django Templates Web Design HTML Cascading Style Sheets (CSS) Responsive Design Minification CSS Frameworks Bootstrap Foundation JavaScript React Vue.js Angular Task Queues Celery Redis Queue (RQ) Dramatiq Static Site Generators Pelican Lektor MkDocs Testing Unit Testing Integration Testing Debugging Code Metrics Networking HTTPS WebSockets WebRTC Web APIs Microservices Webhooks Bots API Creation API Frameworks Django REST Framework API Integration Twilio Stripe Slack Okta Security SQL Injection CSRF 5. Deployment 6. DevOps Changelog What Full Stack Means About the Author Future Directions Page Statuses ...or view the full table of contents.

Full Stack Python

Full Stack Python is an open book that explains concepts in plain language and provides helpful resources for those topics.
Updates via Twitter & Facebook.

Chapters

1. Introduction 2. Development Environments 3. Data 4. Web Development » Integration Testing 5. Deployment 6. DevOps Changelog What Full Stack Means About the Author Future Directions Page Statuses ...or view the full table of contents.

Matt Makai 2012-2022
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.