We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Fixture factories for faster end-to-end tests

00:00

Formal Metadata

Title
Fixture factories for faster end-to-end tests
Title of Series
Number of Parts
160
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Fixture factories for faster end-to-end tests [EuroPython 2017 - Talk - 2017-07-13 - Anfiteatro 2] [Rimini, Italy] When developing and maintaining many different services, unit testing is not enough to make sure your code works in production. By now, many teams doing SOA (service-oriented architectures) have a set of end-to-end tests that cover critical workflows to make sure these work. For these tests, all of the utilized services need to have the proper test fixture data in their datastores. This often leads to developers having to deal with raw datastore data (like JSON or SQL) for these tests, making the authoring of those tests very slow, tedious, and error-prone. This talk is going to discuss several approaches we tried at Yelp to generating these fixture data in a quicker, developer-friendly and more correct way. The main part of the talk will be a deep-dive into what fixture factories are, how to implement them and how to integrate them with pytest, the leading Python testing framework. I'll show you several other benefits this approach has over writing raw fixture data and how this leads to more maintainable and easier to adapt code. We'll also explore how you can then run your tests in parallel, cutting down runtime drastically
Software testingSoftwareIntelDemonDisintegrationStatistical hypothesis testingWeb serviceState of matterStatement (computer science)Service (economics)CodeFunction (mathematics)Endliche ModelltheorieFactory (trading post)AbstractionDefault (computer science)Metric systemBitScaling (geometry)Computer fileEndliche ModelltheorieFunctional (mathematics)Cartesian coordinate systemMultiplicationLibrary (computing)INTEGRALData storage deviceStatistical hypothesis testingIntegrated development environmentProduct (business)Software frameworkSoftwareUniversal product codeSocial classData modelMereologyState of matterWeb serviceSet (mathematics)Factory (trading post)Physical systemSubsetConnectivity (graph theory)Service (economics)Sensitivity analysisArchitectureCodeExecution unitElement (mathematics)Stack (abstract data type)Web 2.0AbstractionDefault (computer science)Flow separationMedical imagingPoint (geometry)CASE <Informatik>Repository (publishing)ScalabilityNP-hardDatabaseTheory of relativityFigurate numberGraph (mathematics)Parameter (computer programming)NumberSoftware testingOnline helpGoodness of fitSolid geometryTwitterLetterpress printingTask (computing)QuicksortLevel (video gaming)Object (grammar)Table (information)Rule of inferenceMultiplication signRepresentational state transferUniform resource locatorInterior (topology)Correspondence (mathematics)Bit rateRow (database)Key (cryptography)WebsiteMobile appFitness functionElasticity (physics)Unit testingMilitary baseComputer animation
Statistical hypothesis testingSoftware engineeringTexture mappingNatural numberCASE <Informatik>Library (computing)Server (computing)Parameter (computer programming)ResultantObject (grammar)Dependent and independent variablesRepository (publishing)MathematicsContrast (vision)Line (geometry)Error messageCodeDefault (computer science)Statistical hypothesis testingTerm (mathematics)Functional (mathematics)Endliche ModelltheorieProduct (business)Web serviceBitFitness functionFlow separationInternet service providerMultiplication signSpecial functionsPattern languageDistribution (mathematics)Point (geometry)Business modelUniversal product codeIntegerAdditionComputer configurationQuicksortInstance (computer science)DatabaseSystem callTable (information)Theory of relativityService (economics)Statement (computer science)Factory (trading post)Scaling (geometry)Set (mathematics)WritingAssociative propertySoftware testing2 (number)Program flowchart
Natural numberTexture mappingSoftware testingGamma functionStatistical hypothesis testingUltraviolet photoelectron spectroscopyParallel portToken ringCore dumpAlgebraic closureData conversionSocial classCodeRight angleOrder (biology)NumberProcess (computing)RobotMultiplication signMessage passingData storage deviceFactory (trading post)Statistical hypothesis testingRepository (publishing)Virtual machineDigital electronicsTwitterSinc functionMathematicsMereologyPlanningSlide ruleSoftware developerWater vaporSoftware testingSoftwareService (economics)Sampling (statistics)Electronic mailing listFlow separationPoint (geometry)Group actionDeterminismSubsetParallel portState of matterBitOverhead (computing)Pattern languageFrustrationSet (mathematics)Letterpress printingProduct (business)Instance (computer science)RoboticsStability theoryCodecDefault (computer science)Boolean algebraRun time (program lifecycle phase)BlogWordCore dump2 (number)Parameter (computer programming)Complex (psychology)Software bugCodeXML
Service (economics)Mobile WebIntegrated development environmentLecture/Conference
Right angleContinuous integrationProcess (computing)Data storage deviceIntegrated development environmentConfiguration spaceSoftware testingDatabaseLecture/Conference
DatabaseMedical imagingHuman migrationNormal (geometry)Presentation of a groupOrder (biology)Product (business)Scaling (geometry)Lecture/Conference
MathematicsProduct (business)Right angleStatistical hypothesis testingSet (mathematics)Software developerDatabaseSoftware testingMultiplication signCollision
CASE <Informatik>DatabaseInformation securityKey (cryptography)Software testingInsertion lossMultiplication signStatistical hypothesis testingRow (database)Level (video gaming)Endliche ModelltheorieLecture/Conference
Factory (trading post)DatabaseEndliche ModelltheorieHypermediaINTEGRALData structureCodeLecture/Conference
Repository (publishing)Human migrationService (economics)Core dumpIntegrated development environmentMereologyWeb serviceStatistical hypothesis testingLecture/Conference
Statistical hypothesis testingCartesian coordinate systemLogicTable (information)Row (database)MereologyCountingLecture/Conference
Statistical hypothesis testingCASE <Informatik>Translation (relic)AreaState of matterSoftware testingOrder (biology)Lecture/Conference
Transcript: English(auto-generated)