#Issue57
3 posts

7 debugging techniques to speed up troubleshooting in production

Remove or automate all the configuration needed to run the app. Don’t fall into the tech stack soup trap. Use 80% of your logging for 20% of your most important code.
Read more

7 debugging techniques to speed up troubleshooting in production

  • Remove or automate all the configuration needed to run the app by taking advantage of containerization and aiming for zero configuration.
  • Don’t fall into the tech stack soup trap. The fewer technologies or ‘right tools’ you use, the better, to avoid a pile of dependencies.
  • Use 80% of your logging for 20% of your most important code (the parts used the most).
  • Make it simple and quick to replicate customer issues. Use a tool to import only the records needed from the production database to your machine.
  • Place breakpoints in obvious places in the application, with one easily locatable method per UI event.

Full post here, 7 mins read

Four steps to creating effective game day tests

List all potential failure scenarios. Create a series of experiments to anticipate how things will break. Test your human systems. Address the gaps and patch any holes you find.
Read more

Four steps to creating effective game day tests

Game Day tests deliberately trigger failure modes in production systems to practice response to unpredictable situations.

  • List all potential failure scenarios. Consider which parts of your infrastructure are completely safe, what are your blind spots, what happens if a server runs out of space or in case of a DNS outage or DDOS attack.
  • Create a series of experiments to anticipate how things will break - what side effects may be triggered, whether alerts will be correctly dispatched, whether downstream systems may be affected.
  • Test your human systems. Consider how team members need to interact when an incident unfolds.
  • Address the gaps and patch any holes you find. Check which hypotheses held up in practice and which ones did not. Establish a plan to correct these and run a new Game Day test to check whether your hypotheses are now valid.

Full post here, 6 mins read

The big bad guide on database testing

Check for data mapping, ACID properties and data integrity of your DB, and ensure they implement your business logic accurately.
Read more

The big bad guide on database testing

  • Check for data mapping, ACID properties and data integrity of your DB, and ensure they implement your business logic accurately.
  • The most common test techniques are transactions for the ACID properties, checks of keys and indices, parameters and results of stored procedures, evaluation of triggers and field constraints, etc.
  • Stress testing and performance testing are critical too.
  • SQL queries are the most reliable way to qualitatively test apps with low or medium complexity.
  • Use a database testing tool that considers the business, data access and UI as well as the database itself.

Full post here, 8 mins read