Ocelot Code Systems

Code by Sam Pearson.

Featured Blog Posts

See all blog posts

Day 3 was about learning the different ways that tests can be grouped and selected for running.

Investigating test failures

At a glance everything was going great. I ran the tests in UI mode, immediately identified that I had missed a ".click()" on one of the tests, fixed it, ran it again.

Resource Investigation

I started suspecting resource constraints, so I limited the test to one simultaneous worker, like so:

...

View Post

In a backend I built for a webapp, the database has model/service/repo layers. The repository layer was meant to have some built-in security.

The Plan

We still need that pattern of using a getter to check if the entity exists, and in fact I think we're going to have to use it both at the repo layer and at the service layer.

...

View Post

Featured Projects

Catchlist Todo App

A CRUD todo app with full-stack implementation, demonstrating architecture and testing principles.

Read the Engineering Review

  • Architecture: Full webapp/API split with user registration and data isolation
  • Infrastructure: Systemd services, nginx reverse proxy, Gunicorn
  • CI/CD: Jenkins automation for staging/production deployments
  • Testing: Selenium (frontend) and pytest (backend) test suites

Testing the Internet (Selenium)

Test case demonstrations for common webpage features.

  • Framework: Pytest with Sauce Labs and local execution
  • Coverage: Dynamic loading, authentication, UI interactions
  • Patterns: Feature- and depth-based test categorization

Automated API Test Framework

An automated API testing framework (includes basic target API and test suite).

  • Framework: Pytest with Allure reporting
  • Coverage: Example smoke, feature, and integration tests
  • on-the-fly test suite creation via pytest markers
  • Integration: target API url can be configured at runtime through env files
  • built to be integrated into CI/CD deploy pipelines

Typical Tech Stack

Contact

Email: sam@ocelotcodesystems.com
GitHub: @SamPearson
LinkedIn: in/samedpearson