Test & Code :  Python Testing for Software Engineering

Test & Code is a weekly podcast hosted by Brian Okken. The show covers a wide array of topics including software engineering, development, testing, Python programming, and many related topics. When we get into the implementation specifics, that's usually Python, such as Python packaging, tox, pytest, and unittest. However, well over half of the topics are language agnostic, such as data science, DevOps, TDD, public speaking, mentoring, feature testing, NoSQL databases, end to end testing, automation, continuous integration, development methods, Selenium, the testing pyramid, and DevOps.



10: Test Case Design using Given-When-Then from BDD

Given-When-Then is borrowed from BDD and is my favorite structure for test case design.

It doesn’t matter if you are using pytest, unittest, nose, or something completely different, this episode will help you write better tests.

  • The Given-When-Then structure for test method/function development.
  • How and why to utilize fixtures for your given or precondition code.
  • Similarities with other structure discriptions.
    • Setup-Test-Teardown
    • Setup-Excercise-Verify-Teardown.
    • Arrange-Act-Assert
    • Preconditions-Trigger-Postconditions.
  • Benefits
    • Communicate the purpose of your test more clearly
    • Focus your thinking while writing the test
    • Make test writing faster
    • Make it easier to re-use parts of your test
    • Highlight the assumptions you are making about the test preconditions
    • Highlight what outcomes you are expecting and testing against.

Links discussed in the show:

  • Mechanics of pytest, unittest, nose
  • unittest fixture reference
  • nose fixture reference
  • pytest fixtures (series of posts starting here)
  • pytest style fixtures
  • pytest parameterized fixtures


 2016-01-31  20m