Skip to content

Latest commit

 

History

History
94 lines (60 loc) · 3.6 KB

automated-testing.md

File metadata and controls

94 lines (60 loc) · 3.6 KB

Automated Testing

Should we be moving away from testing and more to [monitoring]?

  • Thoughts on Testing

    • Maybe we should not be writing so many tests - which are the tests that have value
    • Test business logic
    • Mocking is often complex and fragile
  • [testing]

happy path and nasty path

As limited scope as possible with test data

Frontend Tests

UnitTests

  • Favor real dependencies for unit testing Mark Seeman
    • Which dependencies should be present in your code base? This article suggests an answer to that question.
    • Mocks may not be needed - there are other strategies

DocTests

Property based tests

Not specifying the inputs and letting the test framework fuzz the test

Test Driven Development TDD

'Test-driven development is double-entry bookkeeping.' @unclebobmartin

(expanding string calculator requirements example) https://osherove.com/tdd-kata-1/

https://axiom.ai/ - AI based browser testing

  • retrospective: An Axiomatic Basis for Computer Programming

    • Verification technology can only work against errors that have been accurately specified, with as much ac-curacy and attention to detail as all other aspects of the programming task.

    • software verification: Automated tests and [formal-specification]
  • pynguin - The PYthoN General Unit Test geNerator is a test-generation tool for Python

    • humm .. unsure of how effective automatically generated tests are - investigate
  • Contact Testing

    • pact.io
    • Say goodbye to end-to-end testing
    • Testing microservices shouldn't involve setting up complex end-to-end test environments, creating lengthy integration suites and managing test data. Stop wasting time, and start releasing.
  • NaNofuzz: A Usable Tool for Automatic Test Generation

Python libs

  • syrupy a replacement for snapshot tests
  • Tavern
    • Specify tests in yaml as full flows
    • I'm unsure if a whole new yaml spec is needed. Could you not write these as python?
    • Most flows only need the same subset of features - get url - take params out of return - make another request - check some stuff has changed. The yaml is language agnostic