{
  "copyright_text": "Creative Commons Attribution license (reuse allowed)",
  "description": "<NAME> - Test-driven code search and reuse coming to Python with pytest-nodev\n[EuroPython 2016]\n[22 July 2016]\n[Bilbao, Euskadi, Spain]\n(https://ep2016.europython.eu//conference/talks/test-driven-source-code-search-for-python-with-pytest-nodev)\n\nWe will present the test-driven reuse (TDR) development strategy, a\nnatural extension of test-driven development (TDD), and how to execute\nit with pytest-nodev_ a test-driven search engine for Python code.\n\n.. _pytest-nodev: http://pytest-nodev.readthedocs.io/en/stable/quickstart.html\n\nPytest-nodev and the other nodev tools that helps implement TDR for\nPython are rather new, in spite of that we will present several\nsuccessful applications of the technique to more and more complex\nexamples.\n\n-----\n\nWe will present the test-driven reuse (TDR) development strategy, a\nnatural extension of test-driven development (TDD), and how to execute\nit with pytest-nodev_ an Open Source test-driven search engine for Python code.\n\nWhen developing new functionalities developers spend significant\nefforts searching for code to reuse, mainly via keyword-based\nsearches, e.g. on StackOverflow and Google. Keyword-based search is\neffective in finding code that is explicitly designed and documented\nto be reused, e.g. libraries and frameworks, but typically fails to\nidentify reusable functions and classes in the large corpus of\nauxiliary code of software projects.\n\nTDR aims to address the limits of keyword-based search with test-\ndriven code search that focuses instead on code behaviour and\nsemantics. Developing a new feature in TDR starts with the developer\nwriting the tests that will validate candidate implementations of the\ndesired functionality. Before writing any functional code the tests\nare run against all functions and classes of available projects. Any\ncode passing the tests is presented to the developer as a candidate\nimplementation for the target feature.\n\n`Pytest-nodev (github)`_ and other nodev tools that help implement TDR for Python are newer than the JAVA counterparts, in spite of that we will present several applications of the technique to more and more complex examples.\n\n.. _`Pytest-nodev (github)`: https://github.com/nodev-io/pytest-nodev",
  "duration": 2203,
  "language": "eng",
  "recorded": "2016-08-05",
  "related_urls": [
    "https://ep2016.europython.eu//conference/talks/test-driven-source-code-search-for-python-with-pytest-nodev",
    "https://github.com/nodev-io/pytest-nodev",
    "http://pytest-nodev.readthedocs.io/en/stable/quickstart.html"
  ],
  "speakers": [
    "<NAME>"
  ],
  "tags": [],
  "thumbnail_url": "https://i.ytimg.com/vi/M33s1Mb5bjo/maxresdefault.jpg",
  "title": "Test-driven code search and reuse coming to Python with pytest-nodev",
  "videos": [
    {
      "type": "youtube",
      "url": "https://www.youtube.com/watch?v=M33s1Mb5bjo"
    }
  ]
}
