Testing
Topics: Software development
Software testing exercises code to check expected behavior and catch regressions; unit tests isolate small behaviors, while integration tests check interactions between components.
“Regular testing ensures that new features, refactors, or bug fixes do not introduce unforeseen issues or regressions. It’s a proactive approach that bolsters the reliability of applications and, by extension, the trust of end-users.” (Jeffery Morhous, FactoryBot for Rails Testing)
Subtopics
- RSpec
- Rails testing
- Tests should be DAMP
- The FIRST criteria for unit tests
- Writing tests prevents errors from the start
- Ruby mocks
What to test
- Incoming messages should be tested for the state they return.
- Outgoing command messages should be tested to ensure they get sent.
- Outgoing query messages should not be tested.