Systems | Development | Analytics | API | Testing

Automating PDF Testing: From Manual Checks to Comprehensive Validation

PDF documents play a critical role in various industries, serving as the final output for customer-facing documents such as invoices, contracts, and compliance reports. However, testing these documents poses significant challenges due to their complex nature, which includes mixed content, dynamic data, and strict formatting requirements. Manual testing of PDFs is not only time-consuming but also prone to human error, making automation an essential component of a robust testing strategy.

Seamless SSO: How to Integrate Okta (SAML 2.0) with DreamFactory

In today’s environment of distributed applications and microservices, unified identity and access management are essential. If you’re working with DreamFactory as your API-platform and want to leverage Okta for Single-Sign-On (SSO) via SAML 2.0, you’re in the right place. This post walks you through setting up Okta as your Identity Provider (IdP) and DreamFactory as your Service Provider (SP) for SAML 2.0-based login.

Six best practices for backend design in distributed system

Most modern software systems are distributed systems, but designing a distributed system isn’t easy. Here are six best practices to get you started. Most modern software systems are distributed systems. Designing and maintaining a distributed system, however, isn't easy. There are so many areas to master: communication, security, reliability, concurrency, and, crucially, observability and debugging.

Better integration tests in Cursor using proxymock

Cursor is fantastic at cranking out code changes. I recently used it to splice a brand-new downstream API call into one of our Go microservices, and the diff looked great. The unit tests finished before I lifted my coffee mug, yet I still had zero certainty the change would survive contact with real traffic. That gap is all about integration tests, so I paired Cursor with proxymock and the outerspace-go demo service to prove the behavior end to end.

A comprehensive guide to error handling In Node.js

If you've been writing anything more than "Hello world" programs, you are probably familiar with the concept of errors in programming. They are mistakes in your code, often referred to as "bugs", that cause a program to fail or behave unexpectedly. Unlike some languages, such as Go and Rust, where you are forced to interact with potential errors every step of the way, it's possible to get by without a coherent error handling strategy in JavaScript and Node.js.

How To Use Coverlet Coverage For Improved Code Quality In Testing?

Have you ever considered how well-tested your.NET code simply is? Many teams feel their test suite is complete until a bug makes its way into production. The hard part is not just writing tests, but determining if tests cover critical paths. When using standard coverage tools, coverage can seem convoluted and unrelated to how you write code. This is where Coverlet coverage comes in – a simple to use, open source library for measuring test file coverage, and improving test coverage.

Koyeb Sandboxes: Fast, Scalable, Fully Isolated Environments for AI Agents and More

At Koyeb, we provide high-performance serverless infrastructure for intensive applications across CPUs, GPUs, and accelerators. We take code, build it, and run it in fully isolated, secure microVMs on bare-metal servers around the world. We scale automatically when needed, down to zero when idle, with cold starts as low as 250ms. Over the past few months, we’ve been working with an increasing number of teams using Koyeb to orchestrate and run AI-generated code at massive scale.

PHP Benchmarks: 8.5 vs 8.4, 8.3 and 7.4

Each year, right on schedule, a new version of PHP is released at the end of November. So, how much faster is this new release across popular frameworks and applications? Our tests show that, in general, the performance between 8.2, 8.3, 8.4 and 8.5 does not move much for a Laravel, Symfony and WordPress demo application. Moving to the newest PHP version isn’t a magic shortcut to better performance. Not everything is bleak, though.

Leading by example: How Tricentis is approaching its own SAP S/4HANA implementation

In late 2024, Tricentis embarked on its own SAP transformation — migrating from NetSuite to a greenfield implementation of SAP S/4HANA Finance. This blog kicks off a series that will follow Tricentis’ migration journey, from planning and implementation through to outcomes and impact.